Class DefaultBooleanFormulaVisitor<R>
java.lang.Object
org.sosy_lab.java_smt.api.visitors.DefaultBooleanFormulaVisitor<R>
- Type Parameters:
R- Return type for each traversal operation.
- All Implemented Interfaces:
BooleanFormulaVisitor<R>
public abstract class DefaultBooleanFormulaVisitor<R>
extends Object
implements BooleanFormulaVisitor<R>
A formula visitor which allows for the default implementation.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvisitAnd(List<BooleanFormula> pOperands) Visit an AND-expression with an arbitrary number of boolean arguments.visitAtom(BooleanFormula pAtom, FunctionDeclaration<BooleanFormula> decl) Visit an SMT atom.visitBoundVar(BooleanFormula var, int deBruijnIdx) Visit a boolean variable bound by a quantifier.visitConstant(boolean value) Visit a constant with a given value.protected abstract RvisitEquivalence(BooleanFormula pOperand1, BooleanFormula pOperand2) Visit an equivalence between two formulas of boolean sort:operand1 = operand2.visitIfThenElse(BooleanFormula pCondition, BooleanFormula pThenFormula, BooleanFormula pElseFormula) Visit an if-then-else expression.visitImplication(BooleanFormula pOperand1, BooleanFormula pOperand2) Visit an implication.visitNot(BooleanFormula pOperand) Visit a NOT-expression.visitOr(List<BooleanFormula> pOperands) Visit an OR-expression with an arbitrary number of boolean arguments.visitQuantifier(QuantifiedFormulaManager.Quantifier quantifier, BooleanFormula quantifiedAST, List<Formula> boundVars, BooleanFormula body) Visit a quantifier: forall- or exists-.visitXor(BooleanFormula operand1, BooleanFormula operand2) Visit a XOR-expression.
-
Constructor Details
-
DefaultBooleanFormulaVisitor
public DefaultBooleanFormulaVisitor()
-
-
Method Details
-
visitDefault
-
visitConstant
Description copied from interface:BooleanFormulaVisitorVisit a constant with a given value.- Specified by:
visitConstantin interfaceBooleanFormulaVisitor<R>- See Also:
-
visitBoundVar
Description copied from interface:BooleanFormulaVisitorVisit a boolean variable bound by a quantifier.- Specified by:
visitBoundVarin interfaceBooleanFormulaVisitor<R>
-
visitAtom
Description copied from interface:BooleanFormulaVisitorVisit an SMT atom. An atom can be a theory expression, constant, or a variable.This is anything with a boolean sort which is not covered by the cases above.
- Specified by:
visitAtomin interfaceBooleanFormulaVisitor<R>
-
visitNot
Description copied from interface:BooleanFormulaVisitorVisit a NOT-expression.- Specified by:
visitNotin interfaceBooleanFormulaVisitor<R>- Parameters:
pOperand- Negated term.- See Also:
-
visitAnd
Description copied from interface:BooleanFormulaVisitorVisit an AND-expression with an arbitrary number of boolean arguments.An AND-expression with zero arguments is equisatisfiable to 'TRUE'. An AND-expression with one argument is equal to the argument itself. In all other cases, default boolean logic applies.
- Specified by:
visitAndin interfaceBooleanFormulaVisitor<R>- See Also:
-
visitOr
Description copied from interface:BooleanFormulaVisitorVisit an OR-expression with an arbitrary number of boolean arguments.An OR-expression with zero arguments is equisatisfiable to 'TRUE'. An OR-expression with one argument is equal to the argument itself. In all other cases, default boolean logic applies.
- Specified by:
visitOrin interfaceBooleanFormulaVisitor<R>- See Also:
-
visitXor
Description copied from interface:BooleanFormulaVisitorVisit a XOR-expression.- Specified by:
visitXorin interfaceBooleanFormulaVisitor<R>- See Also:
-
visitEquivalence
Description copied from interface:BooleanFormulaVisitorVisit an equivalence between two formulas of boolean sort:operand1 = operand2.- Specified by:
visitEquivalencein interfaceBooleanFormulaVisitor<R>- See Also:
-
visitImplication
Description copied from interface:BooleanFormulaVisitorVisit an implication.- Specified by:
visitImplicationin interfaceBooleanFormulaVisitor<R>- See Also:
-
visitIfThenElse
public R visitIfThenElse(BooleanFormula pCondition, BooleanFormula pThenFormula, BooleanFormula pElseFormula) Description copied from interface:BooleanFormulaVisitorVisit an if-then-else expression.- Specified by:
visitIfThenElsein interfaceBooleanFormulaVisitor<R>- See Also:
-
visitQuantifier
public R visitQuantifier(QuantifiedFormulaManager.Quantifier quantifier, BooleanFormula quantifiedAST, List<Formula> boundVars, BooleanFormula body) Description copied from interface:BooleanFormulaVisitorVisit a quantifier: forall- or exists-.- Specified by:
visitQuantifierin interfaceBooleanFormulaVisitor<R>- Parameters:
quantifier- Quantifier type: FORALL- or EXISTS-quantifiedAST- AST of the quantified node. Provided because it is difficult to re-create from the parameters.boundVars- Variables bound by this quantifier.body- Body of the quantified expression.- See Also:
-
QuantifiedFormulaManager.mkQuantifier(org.sosy_lab.java_smt.api.QuantifiedFormulaManager.Quantifier, java.util.List<? extends org.sosy_lab.java_smt.api.Formula>, org.sosy_lab.java_smt.api.BooleanFormula)QuantifiedFormulaManager.forall(java.util.List<? extends org.sosy_lab.java_smt.api.Formula>, org.sosy_lab.java_smt.api.BooleanFormula)QuantifiedFormulaManager.exists(java.util.List<? extends org.sosy_lab.java_smt.api.Formula>, org.sosy_lab.java_smt.api.BooleanFormula)
-