public final class Simplification extends ASTCloner
| Modifier and Type | Class and Description |
|---|---|
static class |
Simplification.Tag
The following simplifications are implemented:
o Some "quasi-normalization":
(A /\ B) /\ C -> A /\ (B /\ C)
(A \/ B) \/ C -> A \/ (B \/ C)
A => (B => C) -> (A /\ B) => C
This simplifies pretty-printing and further processing.
|
| Modifier and Type | Method and Description |
|---|---|
static void |
collect(Simplification.Tag tag,
Formula formula,
java.util.Collection<Formula> result)
Decompose formula into subformulas if it is of denoted formula type.
|
static Formula |
perform(Formula formula)
Simplify the given formula.
|
void |
visit(AndFormula formula)
Process conjunction.
|
void |
visit(ArrayTerm exp)
Process quantified expression
|
void |
visit(EqualsFormula formula)
Process binary atomic formula.
|
void |
visit(ExistsFormula exp)
Process quantified expression
|
void |
visit(ForallFormula exp)
Process quantified expression
|
void |
visit(GreaterEqualFormula formula)
Process binary atomic formula.
|
void |
visit(GreaterFormula formula)
Process binary atomic formula.
|
void |
visit(IfThenElseFormula formula)
Process disjunction.
|
void |
visit(ImpliesFormula formula)
Process implication.
|
void |
visit(LambdaFormula exp)
Process quantified expression
|
void |
visit(LambdaTerm exp)
Process quantified expression
|
void |
visit(LessEqualFormula formula)
Process binary atomic formula.
|
void |
visit(LessFormula formula)
Process binary atomic formula.
|
void |
visit(LetExpression exp)
Process quantified expression
|
void |
visit(LetFormula exp)
Process quantified expression
|
void |
visit(LetTerm exp)
Process quantified expression
|
void |
visit(NotEqualsFormula formula)
Process binary atomic formula.
|
void |
visit(NotFormula formula)
Process negation.
|
void |
visit(OrFormula formula)
Process disjunction.
|
void |
visit(SimilarFormula formula)
Process binary atomic formula.
|
clone, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visitvisit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visitpublic static Formula perform(Formula formula)
formula - the formula to be simplified..public void visit(EqualsFormula formula)
visit in interface ASTVisitorvisit in class ASTClonerformula - the formula to be simplified.public void visit(GreaterEqualFormula formula)
visit in interface ASTVisitorvisit in class ASTClonerformula - the formula to be simplified.public void visit(GreaterFormula formula)
visit in interface ASTVisitorvisit in class ASTClonerformula - the formula to be simplified.public void visit(LessEqualFormula formula)
visit in interface ASTVisitorvisit in class ASTClonerformula - the formula to be simplified.public void visit(LessFormula formula)
visit in interface ASTVisitorvisit in class ASTClonerformula - the formula to be simplified.public void visit(NotEqualsFormula formula)
visit in interface ASTVisitorvisit in class ASTClonerformula - the formula to be simplified.public void visit(SimilarFormula formula)
visit in interface ASTVisitorvisit in class ASTClonerformula - the formula to be simplified.public void visit(NotFormula formula)
visit in interface ASTVisitorvisit in class ASTClonerformula - the formula to be simplified.public void visit(AndFormula formula)
visit in interface ASTVisitorvisit in class ASTClonerformula - the formula to be simplified.public void visit(OrFormula formula)
visit in interface ASTVisitorvisit in class ASTClonerformula - the formula to be simplified.public void visit(ImpliesFormula formula)
visit in interface ASTVisitorvisit in class ASTClonerformula - the formula to be simplified.public void visit(IfThenElseFormula formula)
visit in interface ASTVisitorvisit in class ASTClonerformula - the formula to be simplified.public void visit(ForallFormula exp)
visit in interface ASTVisitorvisit in class ASTClonerexp - a quantified expression.public void visit(ExistsFormula exp)
visit in interface ASTVisitorvisit in class ASTClonerexp - a quantified expression.public void visit(ArrayTerm exp)
visit in interface ASTVisitorvisit in class ASTClonerexp - a quantified expression.public void visit(LambdaTerm exp)
visit in interface ASTVisitorvisit in class ASTClonerexp - a quantified expression.public void visit(LambdaFormula exp)
visit in interface ASTVisitorvisit in class ASTClonerexp - a quantified expression.public void visit(LetExpression exp)
visit in interface ASTVisitorvisit in class ASTVisitorBaseexp - a quantified expression.public void visit(LetTerm exp)
visit in interface ASTVisitorvisit in class ASTClonerexp - a quantified expression.public void visit(LetFormula exp)
visit in interface ASTVisitorvisit in class ASTClonerexp - a quantified expression.public static void collect(Simplification.Tag tag, Formula formula, java.util.Collection<Formula> result)
tag - a tag indicating the type of the formula.formula - a formula to be decomposed.result - the result of the decomposition.