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 to A /\ (B /\ C)
(A \/ B) \/ C to A \/ (B \/ C)
A imp (B imp C) to (A /\ B) imp 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, 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, visit, visit, visit
public static Formula perform(Formula formula)
formula
- the formula to be simplified..public void visit(EqualsFormula formula)
visit
in interface ASTVisitor
visit
in class ASTCloner
formula
- the formula to be simplified.public void visit(GreaterEqualFormula formula)
visit
in interface ASTVisitor
visit
in class ASTCloner
formula
- the formula to be simplified.public void visit(GreaterFormula formula)
visit
in interface ASTVisitor
visit
in class ASTCloner
formula
- the formula to be simplified.public void visit(LessEqualFormula formula)
visit
in interface ASTVisitor
visit
in class ASTCloner
formula
- the formula to be simplified.public void visit(LessFormula formula)
visit
in interface ASTVisitor
visit
in class ASTCloner
formula
- the formula to be simplified.public void visit(NotEqualsFormula formula)
visit
in interface ASTVisitor
visit
in class ASTCloner
formula
- the formula to be simplified.public void visit(SimilarFormula formula)
visit
in interface ASTVisitor
visit
in class ASTCloner
formula
- the formula to be simplified.public void visit(NotFormula formula)
visit
in interface ASTVisitor
visit
in class ASTCloner
formula
- the formula to be simplified.public void visit(AndFormula formula)
visit
in interface ASTVisitor
visit
in class ASTCloner
formula
- the formula to be simplified.public void visit(OrFormula formula)
visit
in interface ASTVisitor
visit
in class ASTCloner
formula
- the formula to be simplified.public void visit(ImpliesFormula formula)
visit
in interface ASTVisitor
visit
in class ASTCloner
formula
- the formula to be simplified.public void visit(IfThenElseFormula formula)
visit
in interface ASTVisitor
visit
in class ASTCloner
formula
- the formula to be simplified.public void visit(ForallFormula exp)
visit
in interface ASTVisitor
visit
in class ASTCloner
exp
- a quantified expression.public void visit(ExistsFormula exp)
visit
in interface ASTVisitor
visit
in class ASTCloner
exp
- a quantified expression.public void visit(ArrayTerm exp)
visit
in interface ASTVisitor
visit
in class ASTCloner
exp
- a quantified expression.public void visit(LambdaTerm exp)
visit
in interface ASTVisitor
visit
in class ASTCloner
exp
- a quantified expression.public void visit(LambdaFormula exp)
visit
in interface ASTVisitor
visit
in class ASTCloner
exp
- a quantified expression.public void visit(LetExpression exp)
visit
in interface ASTVisitor
visit
in class ASTVisitorBase
exp
- a quantified expression.public void visit(LetTerm exp)
visit
in interface ASTVisitor
visit
in class ASTCloner
exp
- a quantified expression.public void visit(LetFormula exp)
visit
in interface ASTVisitor
visit
in class ASTCloner
exp
- 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.