public class FormulaUnLet extends TermTransformer
Modifier and Type | Class and Description |
---|---|
static class |
FormulaUnLet.UnletType |
TermTransformer.BuildAnnotation, TermTransformer.BuildApplicationTerm, TermTransformer.BuildLetTerm, TermTransformer.BuildQuantifier, TermTransformer.StartLetTerm
NonRecursive.TermWalker, NonRecursive.Walker
Constructor and Description |
---|
FormulaUnLet()
Create a FormulaUnLet with the standard SMT-LIB semantics for let.
|
FormulaUnLet(FormulaUnLet.UnletType type)
Create a FormulaUnLet.
|
Modifier and Type | Method and Description |
---|---|
void |
addSubstitutions(java.util.Map<TermVariable,Term> termSubst)
Add user defined substitutions.
|
void |
convert(Term term)
The function that does the transformation.
|
void |
postConvertLet(LetTerm oldLet,
Term[] newValues,
Term newBody) |
void |
postConvertQuantifier(QuantifiedFormula old,
Term newBody)
Build the converted formula for a quantified formula.
|
void |
preConvertLet(LetTerm oldLet,
Term[] newValues) |
Term |
unlet(Term term)
Unlet a term, i.e., remove all LetTerm and replace the term variables
accordingly.
|
beginScope, convertApplicationTerm, endScope, getConverted, getConverted, postConvertAnnotation, pushTerm, pushTerms, reset, setResult, transform
enqueueWalker, run, run, toString
public FormulaUnLet()
public FormulaUnLet(FormulaUnLet.UnletType type)
type
- The type of the unletter.public void addSubstitutions(java.util.Map<TermVariable,Term> termSubst)
termSubst
- The substitution, which maps term variables to
the term with which they should be substituted.public Term unlet(Term term)
term
- the term to unletpublic void convert(Term term)
TermTransformer
convert
in class TermTransformer
term
- The term to convert.public void preConvertLet(LetTerm oldLet, Term[] newValues)
preConvertLet
in class TermTransformer
public void postConvertLet(LetTerm oldLet, Term[] newValues, Term newBody)
postConvertLet
in class TermTransformer
public void postConvertQuantifier(QuantifiedFormula old, Term newBody)
TermTransformer.setResult(Term)
.postConvertQuantifier
in class TermTransformer
old
- the quantifier to convert.newBody
- the converted sub formula.