public class SmtInterpolEnvironment extends Object
| Modifier and Type | Method and Description |
|---|---|
de.uni_freiburg.informatik.ultimate.logic.Term |
annotate(de.uni_freiburg.informatik.ultimate.logic.Term t,
de.uni_freiburg.informatik.ultimate.logic.Annotation... annotations) |
void |
assertTerm(de.uni_freiburg.informatik.ultimate.logic.Term term)
This function adds the term on top of the stack.
|
de.uni_freiburg.informatik.ultimate.logic.Term |
binary(String bin) |
Iterable<de.uni_freiburg.informatik.ultimate.logic.Term[]> |
checkAllSat(de.uni_freiburg.informatik.ultimate.logic.Term[] importantPredicates) |
boolean |
checkSat()
This function causes the SatSolver to check all the terms on the stack, if their conjunction is
SAT or UNSAT.
|
de.uni_freiburg.informatik.ultimate.logic.Term |
decimal(BigDecimal num)
returns a number of type REAL.
|
de.uni_freiburg.informatik.ultimate.logic.Term |
decimal(String num)
returns a number of type REAL.
|
de.uni_freiburg.informatik.ultimate.logic.FunctionSymbol |
declareFun(String fun,
de.uni_freiburg.informatik.ultimate.logic.Sort[] paramSorts,
de.uni_freiburg.informatik.ultimate.logic.Sort resultSort)
This function declares a new functionSymbol, that has a given (result-) sort.
|
de.uni_freiburg.informatik.ultimate.logic.Sort |
getBooleanSort() |
Object |
getInfo(String info) |
de.uni_freiburg.informatik.ultimate.logic.Sort |
getIntegerSort() |
de.uni_freiburg.informatik.ultimate.logic.Model |
getModel()
This function returns a map, that contains assignments for all terms.
|
de.uni_freiburg.informatik.ultimate.logic.Sort |
getRealSort() |
de.uni_freiburg.informatik.ultimate.logic.Term[] |
getTreeInterpolants(de.uni_freiburg.informatik.ultimate.logic.Term[] partition,
int[] startOfSubTree)
Compute a sequence of interpolants.
|
de.uni_freiburg.informatik.ultimate.logic.Term[] |
getUnsatCore() |
String |
getVersion()
This function returns the version of SmtInterpol, for logging.
|
de.uni_freiburg.informatik.ultimate.logic.Term |
hexadecimal(String hex) |
de.uni_freiburg.informatik.ultimate.logic.Term |
let(de.uni_freiburg.informatik.ultimate.logic.TermVariable[] pVars,
de.uni_freiburg.informatik.ultimate.logic.Term[] pValues,
de.uni_freiburg.informatik.ultimate.logic.Term pBody) |
de.uni_freiburg.informatik.ultimate.logic.Term |
numeral(BigInteger num)
returns a number of type INT or REAL.
|
de.uni_freiburg.informatik.ultimate.logic.Term |
numeral(String num)
returns a number of type INT or REAL.
|
List<de.uni_freiburg.informatik.ultimate.logic.Term> |
parseStringToTerms(String s)
Parse a String to Terms and Declarations.
|
void |
pop(int levels)
This function pops levels from the assertion-stack.
|
void |
push(int levels) |
de.uni_freiburg.informatik.ultimate.logic.Term |
quantifier(int quantor,
de.uni_freiburg.informatik.ultimate.logic.TermVariable[] vars,
de.uni_freiburg.informatik.ultimate.logic.Term body,
de.uni_freiburg.informatik.ultimate.logic.Term[]... patterns) |
void |
setOption(String opt,
Object value) |
de.uni_freiburg.informatik.ultimate.logic.Term |
simplify(de.uni_freiburg.informatik.ultimate.logic.Term input) |
de.uni_freiburg.informatik.ultimate.logic.Term |
term(String funcname,
BigInteger[] indices,
@Nullable de.uni_freiburg.informatik.ultimate.logic.Sort returnSort,
de.uni_freiburg.informatik.ultimate.logic.Term... params) |
de.uni_freiburg.informatik.ultimate.logic.Term |
term(String funcname,
de.uni_freiburg.informatik.ultimate.logic.Term... params) |
de.uni_freiburg.informatik.ultimate.logic.TermVariable |
variable(String varname,
de.uni_freiburg.informatik.ultimate.logic.Sort sort) |
public List<de.uni_freiburg.informatik.ultimate.logic.Term> parseStringToTerms(String s)
@CanIgnoreReturnValue public de.uni_freiburg.informatik.ultimate.logic.FunctionSymbol declareFun(String fun, de.uni_freiburg.informatik.ultimate.logic.Sort[] paramSorts, de.uni_freiburg.informatik.ultimate.logic.Sort resultSort)
public void push(int levels)
public void pop(int levels)
public void assertTerm(de.uni_freiburg.informatik.ultimate.logic.Term term)
public boolean checkSat()
throws InterruptedException
InterruptedExceptionpublic Iterable<de.uni_freiburg.informatik.ultimate.logic.Term[]> checkAllSat(de.uni_freiburg.informatik.ultimate.logic.Term[] importantPredicates) throws InterruptedException
InterruptedExceptionpublic de.uni_freiburg.informatik.ultimate.logic.Model getModel()
public de.uni_freiburg.informatik.ultimate.logic.Sort getBooleanSort()
public de.uni_freiburg.informatik.ultimate.logic.Sort getIntegerSort()
public de.uni_freiburg.informatik.ultimate.logic.Sort getRealSort()
public de.uni_freiburg.informatik.ultimate.logic.Term term(String funcname, de.uni_freiburg.informatik.ultimate.logic.Term... params)
public de.uni_freiburg.informatik.ultimate.logic.Term term(String funcname, BigInteger[] indices, @Nullable de.uni_freiburg.informatik.ultimate.logic.Sort returnSort, de.uni_freiburg.informatik.ultimate.logic.Term... params)
public de.uni_freiburg.informatik.ultimate.logic.TermVariable variable(String varname, de.uni_freiburg.informatik.ultimate.logic.Sort sort)
public de.uni_freiburg.informatik.ultimate.logic.Term quantifier(int quantor,
de.uni_freiburg.informatik.ultimate.logic.TermVariable[] vars,
de.uni_freiburg.informatik.ultimate.logic.Term body,
de.uni_freiburg.informatik.ultimate.logic.Term[]... patterns)
public de.uni_freiburg.informatik.ultimate.logic.Term let(de.uni_freiburg.informatik.ultimate.logic.TermVariable[] pVars,
de.uni_freiburg.informatik.ultimate.logic.Term[] pValues,
de.uni_freiburg.informatik.ultimate.logic.Term pBody)
public de.uni_freiburg.informatik.ultimate.logic.Term annotate(de.uni_freiburg.informatik.ultimate.logic.Term t,
de.uni_freiburg.informatik.ultimate.logic.Annotation... annotations)
public de.uni_freiburg.informatik.ultimate.logic.Term numeral(BigInteger num)
public de.uni_freiburg.informatik.ultimate.logic.Term numeral(String num)
public de.uni_freiburg.informatik.ultimate.logic.Term decimal(String num)
public de.uni_freiburg.informatik.ultimate.logic.Term decimal(BigDecimal num)
public de.uni_freiburg.informatik.ultimate.logic.Term hexadecimal(String hex)
public de.uni_freiburg.informatik.ultimate.logic.Term binary(String bin)
public de.uni_freiburg.informatik.ultimate.logic.Term[] getTreeInterpolants(de.uni_freiburg.informatik.ultimate.logic.Term[] partition,
int[] startOfSubTree)
throws SolverException,
InterruptedException
Example:
A D | | B E | / C | F H | / G arrayIndex = [0,1,2,3,4,5,6,7] // only for demonstration, not needed partition = [A,B,D,E,C,F,H,G] // post-order of tree startOfSubTree = [0,0,2,2,0,0,6,0] // index of left-most leaf of the current element
partition - The array of formulas (post-order of tree). This should contain either
top-level names or conjunction of top-level names.startOfSubTree - The start of the subtree containing the formula at this index as root.SolverExceptionInterruptedExceptionpublic de.uni_freiburg.informatik.ultimate.logic.Term[] getUnsatCore()
public de.uni_freiburg.informatik.ultimate.logic.Term simplify(de.uni_freiburg.informatik.ultimate.logic.Term input)
public String getVersion()