public class Solver
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
protected long |
pointer |
Constructor and Description |
---|
Solver()
Deprecated.
This function is deprecated and replaced by
Solver(TermManager) .
It will be removed in a future release. |
Solver(TermManager d_tm)
Create solver instance.
|
Modifier and Type | Method and Description |
---|---|
void |
addPlugin(AbstractPlugin p)
Add plugin to this solver.
|
void |
addSygusAssume(Term term)
Add a forumla to the set of Sygus assumptions.
|
void |
addSygusConstraint(Term term)
Add a forumla to the set of Sygus constraints.
|
void |
addSygusInvConstraint(Term inv,
Term pre,
Term trans,
Term post)
Add a set of Sygus constraints to the current state that correspond to an
invariant synthesis problem.
|
void |
assertFormula(Term term)
Assert a formula.
|
void |
blockModel(BlockModelsMode mode)
Block the current model.
|
void |
blockModelValues(Term[] terms)
Block the current model values of (at least) the values in terms.
|
Result |
checkSat()
Check satisfiability.
|
Result |
checkSatAssuming(Term assumption)
Check satisfiability assuming the given formula.
|
Result |
checkSatAssuming(Term[] assumptions)
Check satisfiability assuming the given formulas.
|
SynthResult |
checkSynth()
Try to find a solution for the synthesis conjecture corresponding to the
current list of functions-to-synthesize, universal variables and
constraints.
|
SynthResult |
checkSynthNext()
Try to find a next solution for the synthesis conjecture corresponding to
the current list of functions-to-synthesize, universal variables and
constraints.
|
Sort |
declareDatatype(java.lang.String symbol,
DatatypeConstructorDecl[] ctors)
Create datatype sort.
|
Term |
declareFun(java.lang.String symbol,
Sort[] sorts,
Sort sort)
Declare n-ary function symbol.
|
Term |
declareFun(java.lang.String symbol,
Sort[] sorts,
Sort sort,
boolean fresh)
Declare n-ary function symbol.
|
Term |
declareOracleFun(java.lang.String symbol,
Sort[] sorts,
Sort sort,
IOracle oracle)
Declare an oracle function with reference to an implementation.
|
Term |
declarePool(java.lang.String symbol,
Sort sort,
Term[] initValue)
Declare a symbolic pool of terms with the given initial value.
|
void |
declareSepHeap(Sort locSort,
Sort dataSort)
When using separation logic, this sets the location sort and the
datatype sort to the given ones.
|
Sort |
declareSort(java.lang.String symbol,
int arity)
Declare uninterpreted sort.
|
Sort |
declareSort(java.lang.String symbol,
int arity,
boolean fresh)
Declare uninterpreted sort.
|
Term |
declareSygusVar(java.lang.String symbol,
Sort sort)
Append
symbol to the current list of universal variables. |
Term |
defineFun(java.lang.String symbol,
Term[] boundVars,
Sort sort,
Term term)
Define n-ary function in the current context.
|
Term |
defineFun(java.lang.String symbol,
Term[] boundVars,
Sort sort,
Term term,
boolean global)
Define n-ary function.
|
Term |
defineFunRec(java.lang.String symbol,
Term[] boundVars,
Sort sort,
Term term)
Define recursive function in the current context.
|
Term |
defineFunRec(java.lang.String symbol,
Term[] boundVars,
Sort sort,
Term term,
boolean global)
Define recursive function.
|
Term |
defineFunRec(Term fun,
Term[] boundVars,
Term term)
Define recursive function in the current context.
|
Term |
defineFunRec(Term fun,
Term[] boundVars,
Term term,
boolean global)
Define recursive function.
|
void |
defineFunsRec(Term[] funs,
Term[][] boundVars,
Term[] terms)
Define recursive functions in the current context.
|
void |
defineFunsRec(Term[] funs,
Term[][] boundVars,
Term[] terms,
boolean global)
Define recursive functions.
|
void |
deletePointer() |
protected void |
deletePointer(long pointer) |
boolean |
equals(java.lang.Object s) |
Term |
findSynth(FindSynthTarget fst)
Find a target term of interest using sygus enumeration, with no provided
grammar.
|
Term |
findSynth(FindSynthTarget fst,
Grammar grammar)
Find a target term of interest using sygus enumeration with a provided
grammar.
|
Term |
findSynthNext()
Try to find a next target term of interest using sygus enumeration.
|
Term |
getAbduct(Term conj)
Get an abduct.
|
Term |
getAbduct(Term conj,
Grammar grammar)
Get an abduct.
|
Term |
getAbductNext()
Get the next abduct.
|
Term[] |
getAssertions()
Get the list of asserted formulas.
|
Sort |
getBooleanSort()
Deprecated.
This function is deprecated and replaced by
TermManager.getBooleanSort() .
It will be removed in a future release. |
java.util.Map<Term,Term> |
getDifficulty()
Get a difficulty estimate for an asserted formula.
|
java.lang.String |
getInfo(java.lang.String flag)
Get info from the solver.
|
java.lang.String |
getInstantiations()
Get a string that contains information about all instantiations made by
the quantifiers module.
|
Sort |
getIntegerSort()
Deprecated.
This function is deprecated and replaced by
TermManager.getIntegerSort() .
It will be removed in a future release. |
Term |
getInterpolant(Term conj)
Get an interpolant.
|
Term |
getInterpolant(Term conj,
Grammar grammar)
Get an interpolant.
|
Term |
getInterpolantNext()
Get the next interpolant.
|
Term[] |
getLearnedLiterals()
Get a list of input literals that are entailed by the current set of
assertions.
|
Term[] |
getLearnedLiterals(LearnedLitType type)
Get a list of literals that are entailed by the current set of assertions.
|
java.lang.String |
getLogic()
Get the logic set the solver.
|
java.lang.String |
getModel(Sort[] sorts,
Term[] vars)
Get the model
SMT-LIB:
( get-model )
Requires to enable option produce-models . |
Term[] |
getModelDomainElements(Sort s)
Get the domain elements of uninterpreted sort s in the current model.
|
java.lang.String |
getOption(java.lang.String option)
Get the value of a given option.
|
OptionInfo |
getOptionInfo(java.lang.String option)
Get some information about the given option.
|
java.lang.String[] |
getOptionNames()
Get all option names that can be used with
setOption(String, String) ,
getOption(String) and
getOptionInfo(String) . |
long |
getPointer() |
Proof[] |
getProof()
Get refutation proof for the most recent call to checkSat.
|
Proof[] |
getProof(ProofComponent c)
Get a proof associated with the most recent call to checkSat.
|
Term |
getQuantifierElimination(Term q)
Do quantifier elimination.
|
Term |
getQuantifierEliminationDisjunct(Term q)
Do partial quantifier elimination, which can be used for incrementally
computing the result of a quantifier elimination.
|
Sort |
getRealSort()
Deprecated.
This function is deprecated and replaced by
TermManager.getRealSort() .
It will be removed in a future release. |
Sort |
getRegExpSort()
Deprecated.
This function is deprecated and replaced by
TermManager.getRegExpSort() .
It will be removed in a future release. |
Sort |
getRoundingModeSort()
Deprecated.
This function is deprecated and replaced by
TermManager.getRoundingModeSort() .
It will be removed in a future release. |
Statistics |
getStatistics()
Get a snapshot of the current state of the statistic values of this
solver.
|
Sort |
getStringSort()
Deprecated.
This function is deprecated and replaced by
TermManager.getStringSort() .
It will be removed in a future release. |
Term[] |
getSygusAssumptions()
Get the list of sygus assumptions.
|
Term[] |
getSygusConstraints()
Get the list of sygus constraints.
|
Term |
getSynthSolution(Term term)
Get the synthesis solution of the given term.
|
Term[] |
getSynthSolutions(Term[] terms)
Get the synthesis solutions of the given terms.
|
TermManager |
getTermManager()
Get the associated term manager instance
|
Pair<Result,Term[]> |
getTimeoutCore()
Get a timeout core, which computes a subset of the current assertions that
cause a timeout.
|
Pair<Result,Term[]> |
getTimeoutCoreAssuming(Term[] assumptions)
Get a timeout core, which computes a subset of the given assumptions that
cause a timeout when added to the current assertions.
|
Term[] |
getUnsatAssumptions()
Get the set of unsat ("failed") assumptions.
|
Term[] |
getUnsatCore()
Get the unsatisfiable core.
|
Term[] |
getUnsatCoreLemmas()
Get the lemmas used to derive unsatisfiability.
|
Term |
getValue(Term term)
Get the value of the given term in the current model.
|
Term[] |
getValue(Term[] terms)
Get the values of the given terms in the current model.
|
Term |
getValueSepHeap()
When using separation logic, obtain the term for the heap.
|
Term |
getValueSepNil()
When using separation logic, obtain the term for nil.
|
java.lang.String |
getVersion()
Get a string representation of the version of this solver.
|
boolean |
isLogicSet()
Is logic set? Returns whether we called setLogic yet for this solver.
|
boolean |
isModelCoreSymbol(Term v)
This returns false if the model value of free constant
v was not
essential for showing the satisfiability of the last call to
checkSat() using the current model. |
Sort |
mkAbstractSort(SortKind kind)
Deprecated.
This function is deprecated and replaced by
TermManager.mkAbstractSort(SortKind) .
It will be removed in a future release. |
Sort |
mkArraySort(Sort indexSort,
Sort elemSort)
Deprecated.
This function is deprecated and replaced by
TermManager.mkArraySort(Sort, Sort) .
It will be removed in a future release. |
Sort |
mkBagSort(Sort elemSort)
Deprecated.
This function is deprecated and replaced by
TermManager.mkBagSort(Sort) .
It will be removed in a future release. |
Term |
mkBitVector(int size)
Deprecated.
This function is deprecated and replaced by
TermManager.mkBitVector(int) .
It will be removed in a future release. |
Term |
mkBitVector(int size,
long val)
Deprecated.
This function is deprecated and replaced by
TermManager.mkBitVector(int, long) .
It will be removed in a future release. |
Term |
mkBitVector(int size,
java.lang.String s,
int base)
Deprecated.
This function is deprecated and replaced by
TermManager.mkBitVector(int, String, int) .
It will be removed in a future release. |
Sort |
mkBitVectorSort(int size)
Deprecated.
This function is deprecated and replaced by
TermManager.mkBitVectorSort(int) .
It will be removed in a future release. |
Term |
mkBoolean(boolean val)
Deprecated.
This function is deprecated and replaced by
TermManager.mkBoolean(boolean) .
It will be removed in a future release. |
Term |
mkCardinalityConstraint(Sort sort,
int upperBound)
Deprecated.
This function is deprecated and replaced by
TermManager.mkCardinalityConstraint(Sort, int) .
It will be removed in a future release. |
Term |
mkConst(Sort sort)
Deprecated.
This function is deprecated and replaced by
TermManager.mkConst(Sort) .
It will be removed in a future release. |
Term |
mkConst(Sort sort,
java.lang.String symbol)
Deprecated.
This function is deprecated and replaced by
TermManager.mkConst(Sort, String) .
It will be removed in a future release. |
Term |
mkConstArray(Sort sort,
Term val)
Deprecated.
This function is deprecated and replaced by
TermManager.mkConstArray(Sort, Term) .
It will be removed in a future release. |
DatatypeConstructorDecl |
mkDatatypeConstructorDecl(java.lang.String name)
Deprecated.
This function is deprecated and replaced by
TermManager.mkDatatypeConstructorDecl(String) .
It will be removed in a future release. |
DatatypeDecl |
mkDatatypeDecl(java.lang.String name)
Deprecated.
This function is deprecated and replaced by
TermManager.mkDatatypeDecl(String) .
It will be removed in a future release. |
DatatypeDecl |
mkDatatypeDecl(java.lang.String name,
boolean isCoDatatype)
Deprecated.
This function is deprecated and replaced by
TermManager.mkDatatypeDecl(String, boolean) .
It will be removed in a future release. |
DatatypeDecl |
mkDatatypeDecl(java.lang.String name,
Sort[] params)
Deprecated.
This function is deprecated and replaced by
TermManager.mkDatatypeDecl(String, Sort[]) .
It will be removed in a future release. |
DatatypeDecl |
mkDatatypeDecl(java.lang.String name,
Sort[] params,
boolean isCoDatatype)
Deprecated.
This function is deprecated and replaced by
TermManager.mkDatatypeDecl(String, Sort[]) .
It will be removed in a future release. |
Sort |
mkDatatypeSort(DatatypeDecl dtypedecl)
Deprecated.
This function is deprecated and replaced by
TermManager.mkDatatypeSort(DatatypeDecl) .
It will be removed in a future release. |
Sort[] |
mkDatatypeSorts(DatatypeDecl[] dtypedecls)
Deprecated.
This function is deprecated and replaced by
TermManager.mkDatatypeSorts(DatatypeDecl[]) .
It will be removed in a future release. |
Term |
mkEmptyBag(Sort sort)
Deprecated.
This function is deprecated and replaced by
TermManager.mkEmptyBag(Sort) .
It will be removed in a future release. |
Term |
mkEmptySequence(Sort sort)
Deprecated.
This function is deprecated and replaced by
TermManager.mkEmptySequence(Sort) .
It will be removed in a future release. |
Term |
mkEmptySet(Sort sort)
Deprecated.
This function is deprecated and replaced by
TermManager.mkEmptySet(Sort) .
It will be removed in a future release. |
Term |
mkFalse()
Deprecated.
This function is deprecated and replaced by
TermManager.mkFalse() .
It will be removed in a future release. |
Term |
mkFiniteFieldElem(java.lang.String val,
Sort sort,
int base)
Deprecated.
This function is deprecated and replaced by
TermManager.mkFiniteFieldElem(String, Sort, int) .
It will be removed in a future release. |
Sort |
mkFiniteFieldSort(java.lang.String size,
int base)
Deprecated.
This function is deprecated and replaced by
TermManager.mkFiniteFieldSort(String, int) .
It will be removed in a future release. |
Term |
mkFloatingPoint(int exp,
int sig,
Term val)
Deprecated.
This function is deprecated and replaced by
TermManager.mkFloatingPoint(int, int, Term) .
It will be removed in a future release. |
Term |
mkFloatingPoint(Term sign,
Term exp,
Term sig)
Deprecated.
This function is deprecated and replaced by
TermManager.mkFloatingPoint(Term, Term, Term) .
It will be removed in a future release. |
Term |
mkFloatingPointNaN(int exp,
int sig)
Deprecated.
This function is deprecated and replaced by
TermManager.mkFloatingPointNaN(int, int) .
It will be removed in a future release. |
Term |
mkFloatingPointNegInf(int exp,
int sig)
Deprecated.
This function is deprecated and replaced by
TermManager.mkFloatingPointNegInf(int, int) .
It will be removed in a future release. |
Term |
mkFloatingPointNegZero(int exp,
int sig)
Deprecated.
This function is deprecated and replaced by
TermManager.mkFloatingPointNegZero(int, int) .
It will be removed in a future release. |
Term |
mkFloatingPointPosInf(int exp,
int sig)
Deprecated.
This function is deprecated and replaced by
TermManager.mkFloatingPointPosInf(int, int) .
It will be removed in a future release. |
Term |
mkFloatingPointPosZero(int exp,
int sig)
Deprecated.
This function is deprecated and replaced by
TermManager.mkFloatingPointPosZero(int, int) .
It will be removed in a future release. |
Sort |
mkFloatingPointSort(int exp,
int sig)
Deprecated.
This function is deprecated and replaced by
TermManager.mkFloatingPointSort(int, int) .
It will be removed in a future release. |
Sort |
mkFunctionSort(Sort[] sorts,
Sort codomain)
Deprecated.
This function is deprecated and replaced by
TermManager.mkFunctionSort(Sort[], Sort) .
It will be removed in a future release. |
Sort |
mkFunctionSort(Sort domain,
Sort codomain)
Deprecated.
This function is deprecated and replaced by
TermManager.mkFunctionSort(Sort, Sort) .
It will be removed in a future release. |
Grammar |
mkGrammar(Term[] boundVars,
Term[] ntSymbols)
Create a Sygus grammar.
|
Term |
mkInteger(long val)
Deprecated.
This function is deprecated and replaced by
TermManager.mkInteger(long) .
It will be removed in a future release. |
Term |
mkInteger(java.lang.String s)
Deprecated.
This function is deprecated and replaced by
TermManager.mkInteger(String) .
It will be removed in a future release. |
Term |
mkNullableIsNull(Term term)
Deprecated.
This function is deprecated and replaced by
TermManager.mkNullableIsNull(Term) .
It will be removed in a future release. |
Term |
mkNullableIsSome(Term term)
Deprecated.
This function is deprecated and replaced by
TermManager.mkNullableIsSome(Term) .
It will be removed in a future release. |
Term |
mkNullableLift(Kind kind,
Term[] args)
Deprecated.
This function is deprecated and replaced by
TermManager.mkNullableLift(Kind, Term[]) .
It will be removed in a future release. |
Term |
mkNullableNull(Sort sort)
Deprecated.
This function is deprecated and replaced by
TermManager.mkNullableNull(Sort) .
It will be removed in a future release. |
Term |
mkNullableSome(Term term)
Deprecated.
This function is deprecated and replaced by
TermManager.mkNullableSome(Term) .
It will be removed in a future release. |
Sort |
mkNullableSort(Sort sort)
Deprecated.
This function is deprecated and replaced by
TermManager.mkNullableSort(Sort) .
It will be removed in a future release. |
Term |
mkNullableVal(Term term)
Deprecated.
This function is deprecated and replaced by
TermManager.mkNullableVal(Term) .
It will be removed in a future release. |
Op |
mkOp(Kind kind)
Deprecated.
This function is deprecated and replaced by
TermManager.mkOp(Kind) .
It will be removed in a future release. |
Op |
mkOp(Kind kind,
int arg)
Deprecated.
This function is deprecated and replaced by
TermManager.mkOp(Kind, int) .
It will be removed in a future release. |
Op |
mkOp(Kind kind,
int[] args)
Deprecated.
This function is deprecated and replaced by
TermManager.mkOp(Kind, int[]) .
It will be removed in a future release. |
Op |
mkOp(Kind kind,
int arg1,
int arg2)
Deprecated.
This function is deprecated and replaced by
TermManager.mkOp(Kind, int, int) .
It will be removed in a future release. |
Op |
mkOp(Kind kind,
java.lang.String arg)
Deprecated.
This function is deprecated and replaced by
TermManager.mkOp(Kind, String) .
It will be removed in a future release. |
Sort |
mkParamSort()
Deprecated.
This function is deprecated and replaced by
TermManager.mkParamSort() .
It will be removed in a future release. |
Sort |
mkParamSort(java.lang.String symbol)
Deprecated.
This function is deprecated and replaced by
TermManager.mkParamSort(String) .
It will be removed in a future release. |
Term |
mkPi()
Deprecated.
This function is deprecated and replaced by
TermManager.mkPi() .
It will be removed in a future release. |
Sort |
mkPredicateSort(Sort[] sorts)
Deprecated.
This function is deprecated and replaced by
TermManager.mkPredicateSort(Sort[]) .
It will be removed in a future release. |
Term |
mkReal(long val)
Deprecated.
This function is deprecated and replaced by
TermManager.mkReal(long) .
It will be removed in a future release. |
Term |
mkReal(long num,
long den)
Deprecated.
This function is deprecated and replaced by
TermManager.mkReal(long, long) .
It will be removed in a future release. |
Term |
mkReal(java.lang.String s)
Deprecated.
This function is deprecated and replaced by
TermManager.mkReal(String) .
It will be removed in a future release. |
Sort |
mkRecordSort(Pair<java.lang.String,Sort>[] fields)
Deprecated.
This function is deprecated and replaced by
TermManager.mkRecordSort(Pair[]) .
It will be removed in a future release. |
Term |
mkRegexpAll()
Deprecated.
This function is deprecated and replaced by
TermManager.mkRegexpAll() .
It will be removed in a future release. |
Term |
mkRegexpAllchar()
Deprecated.
This function is deprecated and replaced by
TermManager.mkRegexpAllchar() .
It will be removed in a future release. |
Term |
mkRegexpNone()
Deprecated.
This function is deprecated and replaced by
TermManager.mkRegexpNone() .
It will be removed in a future release. |
Term |
mkRoundingMode(RoundingMode rm)
Deprecated.
This function is deprecated and replaced by
TermManager.mkRoundingMode(RoundingMode) .
It will be removed in a future release. |
Term |
mkSepEmp()
Deprecated.
This function is deprecated and replaced by
TermManager.mkSepEmp() .
It will be removed in a future release. |
Term |
mkSepNil(Sort sort)
Deprecated.
This function is deprecated and replaced by
TermManager.mkSepNil(Sort) .
It will be removed in a future release. |
Sort |
mkSequenceSort(Sort elemSort)
Deprecated.
This function is deprecated and replaced by
TermManager.mkSequenceSort(Sort) .
It will be removed in a future release. |
Sort |
mkSetSort(Sort elemSort)
Deprecated.
This function is deprecated and replaced by
TermManager.mkSetSort(Sort) .
It will be removed in a future release. |
Term |
mkString(int[] s)
Deprecated.
This function is deprecated and replaced by
TermManager.mkString(int[]) .
It will be removed in a future release. |
Term |
mkString(java.lang.String s)
Deprecated.
This function is deprecated and replaced by
TermManager.mkString(String) .
It will be removed in a future release. |
Term |
mkString(java.lang.String s,
boolean useEscSequences)
Deprecated.
This function is deprecated and replaced by
TermManager.mkString(String, boolean) .
It will be removed in a future release. |
Term |
mkTerm(Kind kind)
Deprecated.
This function is deprecated and replaced by
TermManager.mkTerm(Kind) .
It will be removed in a future release. |
Term |
mkTerm(Kind kind,
Term child)
Deprecated.
This function is deprecated and replaced by
TermManager.mkTerm(Kind, Term) .
It will be removed in a future release. |
Term |
mkTerm(Kind kind,
Term[] children)
Deprecated.
This function is deprecated and replaced by
TermManager.mkTerm(Kind, Term[]) .
It will be removed in a future release. |
Term |
mkTerm(Kind kind,
Term child1,
Term child2)
Deprecated.
This function is deprecated and replaced by
TermManager.mkTerm(Kind, Term, Term) .
It will be removed in a future release. |
Term |
mkTerm(Kind kind,
Term child1,
Term child2,
Term child3)
Deprecated.
This function is deprecated and replaced by
TermManager.mkTerm(Kind, Term, Term, Term) .
It will be removed in a future release. |
Term |
mkTerm(Op op)
Deprecated.
This function is deprecated and replaced by
TermManager.mkTerm(Op) .
It will be removed in a future release. |
Term |
mkTerm(Op op,
Term child)
Deprecated.
This function is deprecated and replaced by
TermManager.mkTerm(Op, Term) .
It will be removed in a future release. |
Term |
mkTerm(Op op,
Term[] children)
Deprecated.
This function is deprecated and replaced by
TermManager.mkTerm(Op, Term[]) .
It will be removed in a future release. |
Term |
mkTerm(Op op,
Term child1,
Term child2)
Deprecated.
This function is deprecated and replaced by
TermManager.mkTerm(Op, Term, Term) .
It will be removed in a future release. |
Term |
mkTerm(Op op,
Term child1,
Term child2,
Term child3)
Deprecated.
This function is deprecated and replaced by
TermManager.mkTerm(Op, Term, Term, Term) .
It will be removed in a future release. |
Term |
mkTrue()
Deprecated.
This function is deprecated and replaced by
TermManager.mkTrue() .
It will be removed in a future release. |
Term |
mkTuple(Term[] terms)
Deprecated.
This function is deprecated and replaced by
TermManager.mkTuple(Term[]) .
It will be removed in a future release. |
Sort |
mkTupleSort(Sort[] sorts)
Deprecated.
This function is deprecated and replaced by
TermManager.mkTupleSort(Sort[]) .
It will be removed in a future release. |
Sort |
mkUninterpretedSort()
Deprecated.
This function is deprecated and replaced by
TermManager.mkUninterpretedSort() .
It will be removed in a future release. |
Sort |
mkUninterpretedSort(java.lang.String symbol)
Deprecated.
This function is deprecated and replaced by
TermManager.mkUninterpretedSort(String) .
It will be removed in a future release. |
Sort |
mkUninterpretedSortConstructorSort(int arity)
Deprecated.
This function is deprecated and replaced by
TermManager.mkUninterpretedSortConstructorSort(int) .
It will be removed in a future release. |
Sort |
mkUninterpretedSortConstructorSort(int arity,
java.lang.String symbol)
Deprecated.
This function is deprecated and replaced by
TermManager.mkUninterpretedSortConstructorSort(int, String) .
It will be removed in a future release. |
Term |
mkUniverseSet(Sort sort)
Deprecated.
This function is deprecated and replaced by
TermManager.mkUniverseSet(Sort) .
It will be removed in a future release. |
Sort |
mkUnresolvedDatatypeSort(java.lang.String symbol)
Deprecated.
This function is deprecated and replaced by
TermManager.mkUnresolvedDatatypeSort(String) .
It will be removed in a future release. |
Sort |
mkUnresolvedDatatypeSort(java.lang.String symbol,
int arity)
Deprecated.
This function is deprecated and replaced by
TermManager.mkUnresolvedDatatypeSort(String, int) .
It will be removed in a future release. |
Term |
mkVar(Sort sort)
Deprecated.
This function is deprecated and replaced by
TermManager.mkVar(Sort) .
It will be removed in a future release. |
Term |
mkVar(Sort sort,
java.lang.String symbol)
Deprecated.
This function is deprecated and replaced by
TermManager.mkVar(Sort, String) .
It will be removed in a future release. |
void |
pop()
Pop a level from the assertion stack.
|
void |
pop(int nscopes)
Pop (a) level(s) from the assertion stack.
|
java.lang.String |
proofToString(Proof proof)
Prints a proof into a string with a slected proof format mode.
|
java.lang.String |
proofToString(Proof proof,
ProofFormat format)
Prints a proof into a string with a slected proof format mode.
|
java.lang.String |
proofToString(Proof proof,
ProofFormat format,
java.util.Map assertionNames)
Prints a proof into a string with a slected proof format mode.
|
void |
push()
Push a level to the assertion stack.
|
void |
push(int nscopes)
Push (a) level(s) to the assertion stack.
|
void |
resetAssertions()
Remove all assertions.
|
void |
setInfo(java.lang.String keyword,
java.lang.String value)
Set info.
|
void |
setLogic(java.lang.String logic)
Set logic.
|
void |
setOption(java.lang.String option,
java.lang.String value)
Set option.
|
Term |
simplify(Term t)
Simplify a term or formula based on rewriting.
|
Term |
simplify(Term t,
boolean applySubs)
Simplify a term or formula based on rewriting and (optionally) applying
substitutions for solved variables.
|
Term |
synthFun(java.lang.String symbol,
Term[] boundVars,
Sort sort)
Synthesize n-ary function.
|
Term |
synthFun(java.lang.String symbol,
Term[] boundVars,
Sort sort,
Grammar grammar)
Synthesize n-ary function following specified syntactic constraints.
|
java.lang.String |
toString() |
protected java.lang.String |
toString(long pointer) |
@Deprecated public Solver()
Solver(TermManager)
.
It will be removed in a future release.public Solver(TermManager d_tm)
d_tm
- The associated term manager.protected void deletePointer(long pointer)
protected java.lang.String toString(long pointer)
public boolean equals(java.lang.Object s)
equals
in class java.lang.Object
public TermManager getTermManager()
@Deprecated public Sort getBooleanSort()
TermManager.getBooleanSort()
.
It will be removed in a future release.@Deprecated public Sort getIntegerSort()
TermManager.getIntegerSort()
.
It will be removed in a future release.@Deprecated public Sort getRealSort()
TermManager.getRealSort()
.
It will be removed in a future release.@Deprecated public Sort getRegExpSort()
TermManager.getRegExpSort()
.
It will be removed in a future release.@Deprecated public Sort getRoundingModeSort() throws CVC5ApiException
TermManager.getRoundingModeSort()
.
It will be removed in a future release.CVC5ApiException
- on error@Deprecated public Sort getStringSort()
TermManager.getStringSort()
.
It will be removed in a future release.@Deprecated public Sort mkArraySort(Sort indexSort, Sort elemSort)
TermManager.mkArraySort(Sort, Sort)
.
It will be removed in a future release.indexSort
- The array index sort.elemSort
- The array element sort.@Deprecated public Sort mkBitVectorSort(int size) throws CVC5ApiException
TermManager.mkBitVectorSort(int)
.
It will be removed in a future release.size
- The bit-width of the bit-vector sort.CVC5ApiException
- on error@Deprecated public Sort mkFiniteFieldSort(java.lang.String size, int base) throws CVC5ApiException
TermManager.mkFiniteFieldSort(String, int)
.
It will be removed in a future release.size
- The size of the finite field sort.base
- The base of the string representation.CVC5ApiException
- on error@Deprecated public Sort mkFloatingPointSort(int exp, int sig) throws CVC5ApiException
TermManager.mkFloatingPointSort(int, int)
.
It will be removed in a future release.exp
- The bit-width of the exponent of the floating-point sort.sig
- The bit-width of the significand of the floating-point sort.CVC5ApiException
- on error@Deprecated public Sort mkDatatypeSort(DatatypeDecl dtypedecl) throws CVC5ApiException
TermManager.mkDatatypeSort(DatatypeDecl)
.
It will be removed in a future release.dtypedecl
- The datatype declaration from which the sort is created.CVC5ApiException
- on error@Deprecated public Sort[] mkDatatypeSorts(DatatypeDecl[] dtypedecls) throws CVC5ApiException
TermManager.mkDatatypeSorts(DatatypeDecl[])
.
It will be removed in a future release.dtypedecls
- The datatype declarations from which the sort is created.CVC5ApiException
- on error@Deprecated public Sort mkFunctionSort(Sort domain, Sort codomain)
TermManager.mkFunctionSort(Sort, Sort)
.
It will be removed in a future release.domain
- The sort of the fuction argument.codomain
- The sort of the function return value.@Deprecated public Sort mkFunctionSort(Sort[] sorts, Sort codomain)
TermManager.mkFunctionSort(Sort[], Sort)
.
It will be removed in a future release.sorts
- The sort of the function arguments.codomain
- The sort of the function return value.@Deprecated public Sort mkParamSort(java.lang.String symbol)
TermManager.mkParamSort(String)
.
It will be removed in a future release.symbol
- The name of the sort.@Deprecated public Sort mkParamSort()
TermManager.mkParamSort()
.
It will be removed in a future release.@Deprecated public Sort mkPredicateSort(Sort[] sorts)
TermManager.mkPredicateSort(Sort[])
.
It will be removed in a future release.sorts
- The list of sorts of the predicate.@Deprecated public Sort mkRecordSort(Pair<java.lang.String,Sort>[] fields)
TermManager.mkRecordSort(Pair[])
.
It will be removed in a future release.fields
- The list of fields of the record.@Deprecated public Sort mkSetSort(Sort elemSort)
TermManager.mkSetSort(Sort)
.
It will be removed in a future release.elemSort
- The sort of the set elements.@Deprecated public Sort mkBagSort(Sort elemSort)
TermManager.mkBagSort(Sort)
.
It will be removed in a future release.elemSort
- The sort of the bag elements.@Deprecated public Sort mkSequenceSort(Sort elemSort)
TermManager.mkSequenceSort(Sort)
.
It will be removed in a future release.elemSort
- The sort of the sequence elements.@Deprecated public Sort mkAbstractSort(SortKind kind)
TermManager.mkAbstractSort(SortKind)
.
It will be removed in a future release.SortKind
k must be the kind of a sort that can be abstracted,
i.e., a sort that has indices or argument sorts. For example,
SortKind.ARRAY_SORT
and SortKind.BITVECTOR_SORT
can be
passed as the SortKind
k to this method, while
SortKind.INTEGER_SORT
and SortKind.STRING_SORT
cannot.kind
- The kind of the abstract sortSortKind.ABSTRACT_SORT
as an
argument to this method returns the (fully) unspecified sort,
often denoted ?
., Providing a kind k
that has no indices and a fixed arity
of argument sorts will return the sort of SortKind
k
whose arguments are the unspecified sort. For example,
mkAbstractSort(ARRAY_SORT)
will return the sort
(ARRAY_SORT ? ?)
instead of the abstract sort whose
abstract kind is SortKind.ABSTRACT_SORT
., This method is experimental and may change in future versions.@Deprecated public Sort mkUninterpretedSort(java.lang.String symbol)
TermManager.mkUninterpretedSort(String)
.
It will be removed in a future release.symbol
- The name of the sort.@Deprecated public Sort mkUninterpretedSort()
TermManager.mkUninterpretedSort()
.
It will be removed in a future release.@Deprecated public Sort mkUnresolvedDatatypeSort(java.lang.String symbol, int arity) throws CVC5ApiException
TermManager.mkUnresolvedDatatypeSort(String, int)
.
It will be removed in a future release.symbol
- The symbol of the sort.arity
- The number of sort parameters of the sort.CVC5ApiException
- on error@Deprecated public Sort mkUnresolvedDatatypeSort(java.lang.String symbol) throws CVC5ApiException
TermManager.mkUnresolvedDatatypeSort(String)
.
It will be removed in a future release.symbol
- The symbol of the sort.CVC5ApiException
- on error@Deprecated public Sort mkUninterpretedSortConstructorSort(int arity, java.lang.String symbol) throws CVC5ApiException
TermManager.mkUninterpretedSortConstructorSort(int, String)
.
It will be removed in a future release.arity
- The arity of the sort (must be > 0)symbol
- The symbol of the sort.CVC5ApiException
- on error@Deprecated public Sort mkUninterpretedSortConstructorSort(int arity) throws CVC5ApiException
TermManager.mkUninterpretedSortConstructorSort(int)
.
It will be removed in a future release.arity
- The arity of the sort (must be > 0)CVC5ApiException
- on error@Deprecated public Sort mkTupleSort(Sort[] sorts)
TermManager.mkTupleSort(Sort[])
.
It will be removed in a future release.sorts
- Of the elements of the tuple.@Deprecated public Sort mkNullableSort(Sort sort)
TermManager.mkNullableSort(Sort)
.
It will be removed in a future release.sort
- The sort of the element of the nullable.@Deprecated public Term mkTerm(Kind kind)
TermManager.mkTerm(Kind)
.
It will be removed in a future release.kind
- The kind of the term.@Deprecated public Term mkTerm(Kind kind, Term child)
TermManager.mkTerm(Kind, Term)
.
It will be removed in a future release.kind
- The kind of the term.child
- The child of the term.@Deprecated public Term mkTerm(Kind kind, Term child1, Term child2)
TermManager.mkTerm(Kind, Term, Term)
.
It will be removed in a future release.kind
- The kind of the term.child1
- The first child of the term.child2
- The second child of the term.@Deprecated public Term mkTerm(Kind kind, Term child1, Term child2, Term child3)
TermManager.mkTerm(Kind, Term, Term, Term)
.
It will be removed in a future release.kind
- The kind of the term.child1
- The first child of the term.child2
- The second child of the term.child3
- The third child of the term.@Deprecated public Term mkTerm(Kind kind, Term[] children)
TermManager.mkTerm(Kind, Term[])
.
It will be removed in a future release.kind
- The kind of the term.children
- The children of the term.@Deprecated public Term mkTerm(Op op)
TermManager.mkTerm(Op)
.
It will be removed in a future release.op
- The operator.@Deprecated public Term mkTerm(Op op, Term child)
TermManager.mkTerm(Op, Term)
.
It will be removed in a future release.op
- The operator.child
- The child of the term.@Deprecated public Term mkTerm(Op op, Term child1, Term child2)
TermManager.mkTerm(Op, Term, Term)
.
It will be removed in a future release.op
- The operator.child1
- The first child of the term.child2
- The second child of the term.@Deprecated public Term mkTerm(Op op, Term child1, Term child2, Term child3)
TermManager.mkTerm(Op, Term, Term, Term)
.
It will be removed in a future release.op
- The operator.child1
- The first child of the term.child2
- The second child of the term.child3
- The third child of the term.@Deprecated public Term mkTerm(Op op, Term[] children)
TermManager.mkTerm(Op, Term[])
.
It will be removed in a future release.op
- The operator.children
- The children of the term.@Deprecated public Term mkTuple(Term[] terms)
TermManager.mkTuple(Term[])
.
It will be removed in a future release.terms
- The elements in the tuple.@Deprecated public Term mkNullableSome(Term term)
TermManager.mkNullableSome(Term)
.
It will be removed in a future release.term
- The element value.@Deprecated public Term mkNullableVal(Term term)
TermManager.mkNullableVal(Term)
.
It will be removed in a future release.term
- A nullable term.@Deprecated public Term mkNullableIsNull(Term term)
TermManager.mkNullableIsNull(Term)
.
It will be removed in a future release.term
- A nullable term.@Deprecated public Term mkNullableIsSome(Term term)
TermManager.mkNullableIsSome(Term)
.
It will be removed in a future release.term
- A nullable term.@Deprecated public Term mkNullableNull(Sort sort)
TermManager.mkNullableNull(Sort)
.
It will be removed in a future release.sort
- The sort of the Nullable element.@Deprecated public Term mkNullableLift(Kind kind, Term[] args)
TermManager.mkNullableLift(Kind, Term[])
.
It will be removed in a future release.kind
- The lifted operator.args
- The arguments of the lifted operator.@Deprecated public Op mkOp(Kind kind)
TermManager.mkOp(Kind)
.
It will be removed in a future release.Kind.BITVECTOR_EXTRACT
).kind
- The kind to wrap.@Deprecated public Op mkOp(Kind kind, java.lang.String arg)
TermManager.mkOp(Kind, String)
.
It will be removed in a future release.Kind.DIVISIBLE
(to support arbitrary precision integers)
Kind
for a description of the parameters.kind
- The kind of the operator.arg
- The string argument to this operator.@Deprecated public Op mkOp(Kind kind, int arg) throws CVC5ApiException
TermManager.mkOp(Kind, int)
.
It will be removed in a future release.Kind
for a description of the parameters.kind
- The kind of the operator.arg
- The unsigned int argument to this operator.CVC5ApiException
- on error@Deprecated public Op mkOp(Kind kind, int arg1, int arg2) throws CVC5ApiException
TermManager.mkOp(Kind, int, int)
.
It will be removed in a future release.Kind
for a description of the parameters.kind
- The kind of the operator.arg1
- The first unsigned int argument to this operator.arg2
- The second unsigned int argument to this operator.CVC5ApiException
- on error@Deprecated public Op mkOp(Kind kind, int[] args) throws CVC5ApiException
TermManager.mkOp(Kind, int[])
.
It will be removed in a future release.Kind
for a description of the parameters.kind
- The kind of the operator.args
- The arguments (indices) of the operator.CVC5ApiException
- on error@Deprecated public Term mkTrue()
TermManager.mkTrue()
.
It will be removed in a future release.true
constant.@Deprecated public Term mkFalse()
TermManager.mkFalse()
.
It will be removed in a future release.false
constant.@Deprecated public Term mkBoolean(boolean val)
TermManager.mkBoolean(boolean)
.
It will be removed in a future release.val
- The value of the constant.@Deprecated public Term mkPi()
TermManager.mkPi()
.
It will be removed in a future release.@Deprecated public Term mkInteger(java.lang.String s) throws CVC5ApiException
TermManager.mkInteger(String)
.
It will be removed in a future release.s
- The string representation of the constant, may represent an.
integer (e.g., "123").s
represents an
integer).CVC5ApiException
- on error@Deprecated public Term mkInteger(long val)
TermManager.mkInteger(long)
.
It will be removed in a future release.int
.val
- The value of the constant.@Deprecated public Term mkReal(java.lang.String s) throws CVC5ApiException
TermManager.mkReal(String)
.
It will be removed in a future release.s
- The string representation of the constant, may represent an.
integer (e.g., "123") or real constant (e.g., "12.34" or
"12/34").CVC5ApiException
- on error@Deprecated public Term mkReal(long val)
TermManager.mkReal(long)
.
It will be removed in a future release.val
- The value of the constant.@Deprecated public Term mkReal(long num, long den)
TermManager.mkReal(long, long)
.
It will be removed in a future release.num
- The value of the numerator.den
- The value of the denominator.@Deprecated public Term mkRegexpNone()
TermManager.mkRegexpNone()
.
It will be removed in a future release.re.none
) term.@Deprecated public Term mkRegexpAll()
TermManager.mkRegexpAll()
.
It will be removed in a future release.re.all
) term.@Deprecated public Term mkRegexpAllchar()
TermManager.mkRegexpAllchar()
.
It will be removed in a future release.re.allchar
) term.@Deprecated public Term mkEmptySet(Sort sort)
TermManager.mkEmptySet(Sort)
.
It will be removed in a future release.sort
- The sort of the set elements.@Deprecated public Term mkEmptyBag(Sort sort)
TermManager.mkEmptyBag(Sort)
.
It will be removed in a future release.sort
- The sort of the bag elements.@Deprecated public Term mkSepEmp()
TermManager.mkSepEmp()
.
It will be removed in a future release.@Deprecated public Term mkSepNil(Sort sort)
TermManager.mkSepNil(Sort)
.
It will be removed in a future release.sort
- The sort of the nil term.@Deprecated public Term mkString(java.lang.String s)
TermManager.mkString(String)
.
It will be removed in a future release.s
- The string this constant represents.@Deprecated public Term mkString(java.lang.String s, boolean useEscSequences)
TermManager.mkString(String, boolean)
.
It will be removed in a future release.s
- The string this constant represents.useEscSequences
- Determines whether escape sequences in s
should be converted to the corresponding unicode
character.@Deprecated public Term mkString(int[] s) throws CVC5ApiException
TermManager.mkString(int[])
.
It will be removed in a future release.s
- A list of unsigned (unicode) values this constant represents
as string.CVC5ApiException
- on error@Deprecated public Term mkEmptySequence(Sort sort)
TermManager.mkEmptySequence(Sort)
.
It will be removed in a future release.sort
- The element sort of the sequence.@Deprecated public Term mkUniverseSet(Sort sort)
TermManager.mkUniverseSet(Sort)
.
It will be removed in a future release.sort
- The sort of the set elements.@Deprecated public Term mkBitVector(int size) throws CVC5ApiException
TermManager.mkBitVector(int)
.
It will be removed in a future release.size
- The bit-width of the bit-vector sort.CVC5ApiException
- on error@Deprecated public Term mkBitVector(int size, long val) throws CVC5ApiException
TermManager.mkBitVector(int, long)
.
It will be removed in a future release.size
- The bit-width of the bit-vector sort.val
- The value of the constant.CVC5ApiException
- on error@Deprecated public Term mkBitVector(int size, java.lang.String s, int base) throws CVC5ApiException
TermManager.mkBitVector(int, String, int)
.
It will be removed in a future release.size
- The bit-width of the constant.s
- The string representation of the constant.base
- The base of the string representation (2, 10, or 16)CVC5ApiException
- on error@Deprecated public Term mkFiniteFieldElem(java.lang.String val, Sort sort, int base) throws CVC5ApiException
TermManager.mkFiniteFieldElem(String, Sort, int)
.
It will be removed in a future release.val
- The value of the constant.sort
- The sort of the finite field.base
- The base of the string representation.CVC5ApiException
- on error@Deprecated public Term mkConstArray(Sort sort, Term val)
TermManager.mkConstArray(Sort, Term)
.
It will be removed in a future release.sort
- The sort of the constant array (must be an array sort)val
- The constant value to store (must match the sort's element
sort).@Deprecated public Term mkFloatingPointPosInf(int exp, int sig) throws CVC5ApiException
TermManager.mkFloatingPointPosInf(int, int)
.
It will be removed in a future release.+oo
).exp
- Number of bits in the exponent.sig
- Number of bits in the significand.CVC5ApiException
- on error@Deprecated public Term mkFloatingPointNegInf(int exp, int sig) throws CVC5ApiException
TermManager.mkFloatingPointNegInf(int, int)
.
It will be removed in a future release.-oo
).exp
- Number of bits in the exponent.sig
- Number of bits in the significand.CVC5ApiException
- on error@Deprecated public Term mkFloatingPointNaN(int exp, int sig) throws CVC5ApiException
TermManager.mkFloatingPointNaN(int, int)
.
It will be removed in a future release.NaN
).exp
- Number of bits in the exponent.sig
- Number of bits in the significand.CVC5ApiException
- on error@Deprecated public Term mkFloatingPointPosZero(int exp, int sig) throws CVC5ApiException
TermManager.mkFloatingPointPosZero(int, int)
.
It will be removed in a future release.+zero
).exp
- Number of bits in the exponent.sig
- Number of bits in the significand.CVC5ApiException
- on error@Deprecated public Term mkFloatingPointNegZero(int exp, int sig) throws CVC5ApiException
TermManager.mkFloatingPointNegZero(int, int)
.
It will be removed in a future release.-zero
).exp
- Number of bits in the exponent.sig
- Number of bits in the significand.CVC5ApiException
- on error@Deprecated public Term mkRoundingMode(RoundingMode rm)
TermManager.mkRoundingMode(RoundingMode)
.
It will be removed in a future release.rm
- The floating point rounding mode this constant represents.@Deprecated public Term mkFloatingPoint(int exp, int sig, Term val) throws CVC5ApiException
TermManager.mkFloatingPoint(int, int, Term)
.
It will be removed in a future release.exp
- Size of the exponent.sig
- Size of the significand.val
- Value of the floating-point constant as a bit-vector term.CVC5ApiException
- on error@Deprecated public Term mkFloatingPoint(Term sign, Term exp, Term sig) throws CVC5ApiException
TermManager.mkFloatingPoint(Term, Term, Term)
.
It will be removed in a future release.sign
- The sign bit.exp
- The bit-vector representing the exponent.sig
- The bit-vector representing the significand.CVC5ApiException
- on error@Deprecated public Term mkCardinalityConstraint(Sort sort, int upperBound) throws CVC5ApiException
TermManager.mkCardinalityConstraint(Sort, int)
.
It will be removed in a future release.sort
- The sort the cardinality constraint is for.upperBound
- The upper bound on the cardinality of the sort.CVC5ApiException
- on error@Deprecated public Term mkConst(Sort sort, java.lang.String symbol)
TermManager.mkConst(Sort, String)
.
It will be removed in a future release.( declare-const <symbol> <sort> )
( declare-fun <symbol> ( ) <sort> )
sort
- The sort of the constant.symbol
- The name of the constant.@Deprecated public Term mkConst(Sort sort)
TermManager.mkConst(Sort)
.
It will be removed in a future release.sort
- The sort of the constant.@Deprecated public Term mkVar(Sort sort)
TermManager.mkVar(Sort)
.
It will be removed in a future release.sort
- The sort of the variable.@Deprecated public Term mkVar(Sort sort, java.lang.String symbol)
TermManager.mkVar(Sort, String)
.
It will be removed in a future release.sort
- The sort of the variable.symbol
- The name of the variable.@Deprecated public DatatypeConstructorDecl mkDatatypeConstructorDecl(java.lang.String name)
TermManager.mkDatatypeConstructorDecl(String)
.
It will be removed in a future release.name
- The name of the datatype constructor.@Deprecated public DatatypeDecl mkDatatypeDecl(java.lang.String name)
TermManager.mkDatatypeDecl(String)
.
It will be removed in a future release.name
- The name of the datatype.@Deprecated public DatatypeDecl mkDatatypeDecl(java.lang.String name, boolean isCoDatatype)
TermManager.mkDatatypeDecl(String, boolean)
.
It will be removed in a future release.name
- The name of the datatype.isCoDatatype
- True if a codatatype is to be constructed.@Deprecated public DatatypeDecl mkDatatypeDecl(java.lang.String name, Sort[] params)
TermManager.mkDatatypeDecl(String, Sort[])
.
It will be removed in a future release.mkParamSort(String)
.name
- The name of the datatype.params
- A list of sort parameters.@Deprecated public DatatypeDecl mkDatatypeDecl(java.lang.String name, Sort[] params, boolean isCoDatatype)
TermManager.mkDatatypeDecl(String, Sort[])
.
It will be removed in a future release.mkParamSort(String)
.name
- The name of the datatype.params
- A list of sort parameters.isCoDatatype
- True if a codatatype is to be constructed.public Term simplify(Term t)
t
- The term to simplify.public Term simplify(Term t, boolean applySubs)
t
- The term to simplify.applySubs
- Whether to apply substitutions for solved variables.public void assertFormula(Term term)
( assert <term> )
term
- The formula to assert.public Result checkSat()
( check-sat )
public Result checkSatAssuming(Term assumption)
( check-sat-assuming ( <prop_literal> ) )
assumption
- The formula to assume.public Result checkSatAssuming(Term[] assumptions)
( check-sat-assuming ( <prop_literal>+ ) )
assumptions
- The formulas to assume.public Sort declareDatatype(java.lang.String symbol, DatatypeConstructorDecl[] ctors)
( declare-datatype <symbol> <datatype_decl> )
symbol
- The name of the datatype sort.ctors
- The constructor declarations of the datatype sort.public Term declareFun(java.lang.String symbol, Sort[] sorts, Sort sort)
( declare-fun <symbol> ( <sort>* ) <sort> )
symbol
- The name of the function.sorts
- The sorts of the parameters to this function.sort
- The sort of the return value of this function.public Term declareFun(java.lang.String symbol, Sort[] sorts, Sort sort, boolean fresh)
( declare-fun <symbol> ( <sort>* ) <sort> )
symbol
- The name of the function.sorts
- The sorts of the parameters to this function.sort
- The sort of the return value of this function.fresh
- If true, then this method always returns a new Term.
Otherwise, this method will always return the same Term
for each call with the given sorts and symbol where fresh is false.public Sort declareSort(java.lang.String symbol, int arity) throws CVC5ApiException
( declare-sort <symbol> <numeral> )
symbol
- The name of the sort.arity
- The arity of the sort.CVC5ApiException
- on errorpublic Sort declareSort(java.lang.String symbol, int arity, boolean fresh) throws CVC5ApiException
( declare-sort <symbol> <numeral> )
symbol
- The name of the sort.arity
- The arity of the sort.fresh
- If true, then this method always returns a new Sort.
Otherwise, this method will always return the same Sort
for each call with the given arity and symbol where fresh is false.CVC5ApiException
- on errorpublic Term defineFun(java.lang.String symbol, Term[] boundVars, Sort sort, Term term)
( define-fun <function_def> )
symbol
- The name of the function.boundVars
- The parameters to this function.sort
- The sort of the return value of this function.term
- The function body.public Term defineFun(java.lang.String symbol, Term[] boundVars, Sort sort, Term term, boolean global)
( define-fun <function_def> )
symbol
- The name of the function.boundVars
- The parameters to this function.sort
- The sort of the return value of this function.term
- The function body.global
- Determines whether this definition is global (i.e., persists
when popping the context).public Term defineFunRec(java.lang.String symbol, Term[] boundVars, Sort sort, Term term)
( define-fun-rec <function_def> )
symbol
- The name of the function.boundVars
- The parameters to this function.sort
- The sort of the return value of this function.term
- The function body.public Term defineFunRec(java.lang.String symbol, Term[] boundVars, Sort sort, Term term, boolean global)
( define-fun-rec <function_def> )
symbol
- The name of the function.boundVars
- The parameters to this function.sort
- The sort of the return value of this function.term
- The function body.global
- Determines whether this definition is global (i.e., persists
when popping the context).public Term defineFunRec(Term fun, Term[] boundVars, Term term)
( define-fun-rec <function_def> )
Create parameter fun
with mkConst(Sort)
.fun
- The sorted function.boundVars
- The parameters to this function.term
- The function body.public Term defineFunRec(Term fun, Term[] boundVars, Term term, boolean global)
( define-fun-rec <function_def> )
Create parameter fun
with mkConst(Sort)
.fun
- The sorted function.boundVars
- The parameters to this function.term
- The function body.global
- Determines whether this definition is global (i.e., persists
when popping the context).public void defineFunsRec(Term[] funs, Term[][] boundVars, Term[] terms)
( define-funs-rec ( <function_decl>^{n+1} ) ( <term>^{n+1} ) )
Create elements of parameter funs
with
mkConst(Sort)
.funs
- The sorted functions.boundVars
- The list of parameters to the functions.terms
- The list of function bodies of the functions.public void defineFunsRec(Term[] funs, Term[][] boundVars, Term[] terms, boolean global)
( define-funs-rec ( <function_decl>^{n+1} ) ( <term>^{n+1} ) )
Create elements of parameter funs
with
mkConst(Sort)
.funs
- The sorted functions.boundVars
- The list of parameters to the functions.terms
- The list of function bodies of the functions.global
- Determines whether this definition is global (i.e., persists
when popping the context).public Term[] getLearnedLiterals()
( get-learned-literals )
public Term[] getLearnedLiterals(LearnedLitType type)
( get-learned-literals :type )
type
- The type of learned literals to returnpublic Term[] getAssertions()
( get-assertions )
public java.lang.String getInfo(java.lang.String flag)
( get-info <info_flag> )
flag
- The get-info
flag.public java.lang.String getOption(java.lang.String option)
( get-option <keyword> )
option
- The option for which the value is queried.public java.lang.String[] getOptionNames()
setOption(String, String)
,
getOption(String)
and
getOptionInfo(String)
.public OptionInfo getOptionInfo(java.lang.String option)
OptionInfo
class for more details on which information
is available.option
- The name of the option.public Term[] getUnsatAssumptions()
( get-unsat-assumptions )
Requires to enable option produce-unsat-assumptions
.public Term[] getUnsatCore()
(get-unsat-core)
Requires to enable option produce-unsat-cores
.public Term[] getUnsatCoreLemmas()
(get-unsat-core-lemmas)
Requires the SAT proof unsat core mode, so to enable option unsat-core-mode=sat-proof
public java.util.Map<Term,Term> getDifficulty()
public Pair<Result,Term[]> getTimeoutCore()
(get-timeout-core)
timeout-core-timeout
.
If the result is unsat, then the list of formulas correspond to an
unsat core for the current assertions. Otherwise, the result is sat,
indicating that the current assertions are satisfiable, and
the list of formulas is empty.
This method may make multiple checks for satisfiability internally, each
limited by the timeout value given by timeout-core-timeout
.public Pair<Result,Term[]> getTimeoutCoreAssuming(Term[] assumptions)
(get-timeout-core)
assumptions
- The formulas to assume.timeout-core-timeout
.
If the result is unsat, then the list of formulas plus the current
assertions correspond to an unsat core for the current assertions.
Otherwise, the result is sat, indicating that the given assumptions plus
the current assertions are satisfiable, and the list of formulas is empty.
This method may make multiple checks for satisfiability internally, each
limited by the timeout value given by timeout-core-timeout
.public Proof[] getProof()
( get-proof )
Requires to enable option produce-proofs
.public Proof[] getProof(ProofComponent c)
( get-proof :c)
Requires to enable option produce-proofs
.c
- The component of the proof to returnpublic java.lang.String proofToString(Proof proof)
proof
- A proof.public java.lang.String proofToString(Proof proof, ProofFormat format)
proof
- A proof.format
- The proof format used to print the proof. Must be
`PROOF_FORMAT_NONE` if the proof is from a component other than
`PROOF_COMPONENT_FULL`.public java.lang.String proofToString(Proof proof, ProofFormat format, java.util.Map assertionNames)
proof
- A proof.format
- The proof format used to print the proof. Must be
`PROOF_FORMAT_NONE` if the proof is from a component other than
`PROOF_COMPONENT_FULL`.assertionNames
- Mapping between assertions and names, if they were
given by the user. This is used by the Alethe proof format.public Term getValue(Term term)
( get-value ( <term> ) )
term
- The term for which the value is queried.public Term[] getValue(Term[] terms)
( get-value ( <term>+ ) )
terms
- The terms for which the value is queried.public Term[] getModelDomainElements(Sort s)
s
as the finite sort whose domain
elements are given in the return value of this method.s
- The uninterpreted sort in question.s
in the current model.public boolean isModelCoreSymbol(Term v)
v
was not
essential for showing the satisfiability of the last call to
checkSat()
using the current model. This method will only
return false (for any v
) if the option model-cores
has
been set.v
- The term in question.public java.lang.String getModel(Sort[] sorts, Term[] vars)
( get-model )
Requires to enable option produce-models
.sorts
- The list of uninterpreted sorts that should be printed in the.
model.vars
- The list of free constants that should be printed in the.
model. A subset of these may be printed based on
isModelCoreSymbol(Term)
.public Term getQuantifierElimination(Term q)
( get-qe <q> )
Quantifier Elimination is is only complete for logics such as LRA,
LIA and BV.q
- A quantified formula of the form:
Q x1...xn. P( x1...xn, y1...yn )
where P( x1...xn, y1...yn )
is a quantifier-free formula.ret
such that, given the current set of formulas
A
asserted to this solver:
- ( A && q )
and ( A && ret )
are equivalent
- ret
is quantifier-free formula containing only free
variables in y1...yn
.public Term getQuantifierEliminationDisjunct(Term q)
( get-qe-disjunct <q> )
Quantifier Elimination is is only complete for logics such as LRA,
LIA and BV.q
- A quantified formula of the form:
Q x1...xn. P( x1...xn, y1...yn )
where P( x1...xn, y1...yn )
is a quantifier-free formula.(A ^ q) => (A ^ ret)
if Q
is forall or
(A ^ ret) => (A ^ q)
if Q
is exists,
- ret is quantifier-free formula containing only free variables
in y1...yn
,
- If Q is exists, let A && Q_n
be the formula
A && ~(ret && Q_1) && ... && ~(ret && Q_n)
where for each i=1,...n
, formula ret && Q_i
is the result of calling
getQuantifierEliminationDisjunct(Term)
for q
with the set of assertions
A && Q_{i-1}
. Similarly, if Q
is forall, then
let A && Q_n
be
A && (ret && Q_1) && ... && (ret&& Q_n)
where ret && Q_i
is the same as above. In either case,
we have that ret && Q_j
will eventually be true or
false, for some finite j
.public void declareSepHeap(Sort locSort, Sort dataSort)
locSort
- The location sort of the heap.dataSort
- The data sort of the heap.public Term getValueSepHeap()
public Term getValueSepNil()
public Term declarePool(java.lang.String symbol, Sort sort, Term[] initValue)
( declare-pool <symbol> <sort> ( <term>* ) )
symbol
- The name of the pool.sort
- The sort of the elements of the pool.initValue
- The initial value of the pool.public Term declareOracleFun(java.lang.String symbol, Sort[] sorts, Sort sort, IOracle oracle)
(declare-oracle-fun <sym> (<sort>*) <sort> <sym>)
In particular, the above command is implemented by constructing a
function over terms that wraps a call to binary sym via a text interface.symbol
- The name of the oraclesorts
- The sorts of the parameters to this functionsort
- The sort of the return value of this functionoracle
- An object that implements the oracle interface.public void addPlugin(AbstractPlugin p)
p
- The plugin to add to this solver.public void pop() throws CVC5ApiException
( pop <numeral> )
CVC5ApiException
- on errorpublic void pop(int nscopes) throws CVC5ApiException
( pop <numeral> )
nscopes
- The number of levels to pop.CVC5ApiException
- on errorpublic Term getInterpolant(Term conj)
Given that A->B
is valid,
this function determines a term I
over the shared variables of A
and
B
,
such that A->I
and I->B
are valid. A
is the current set of
assertions and B
is the conjecture, given as conj
.
( get-interpolant <symbol> <conj> )
conj
- The conjecture term.<symbol>
assigns a symbol to the interpolant., Requires option produce-interpolants
to be set to a mode
different from none
., This method is experimental and may change in future versions.public Term getInterpolant(Term conj, Grammar grammar)
Given that A->B
is valid,
this function determines a term I
,
over the shared variables of A
and
B
,
with respect to a given grammar, such
that A->I
and I->B
are valid, if such a term exits.
A
is the current set of assertions and B
is the
conjecture, given as conj
.
( get-interpolant <symbol> <conj> <g> )
conj
- The conjecture term.grammar
- The grammar for the interpolant I
.<symbol>
assigns a symbol to the interpolant., Requires option produce-interpolants
to be set to a mode
different from none
., This method is experimental and may change in future versions.public Term getInterpolantNext()
get-interpolant
or get-interpolant-next
. Is guaranteed to
produce a syntactically different interpolant wrt the last returned
interpolant if successful.
SMT-LIB:
(get-interpolant-next)
Requires to enable incremental mode, and option
produce-interpolants
to be set to a mode different from
none
.A->I
and I->B
are valid,
where A
is the current set of assertions and B
is given in the input by conj on the last call to getInterpolant,
or the null term if such a term cannot be found.public Term getAbduct(Term conj)
( get-abduct <conj> )
Requires enabling option produce-abducts
.conj
- The conjecture term.C
such that A && C
is satisfiable, and
A && ~B && C
is unsatisfiable, where A
is the
current set of assertions and B
is given in the input by
conj
, or the null term if such a term cannot be found.public Term getAbduct(Term conj, Grammar grammar)
( get-abduct <conj> <g> )
Requires enabling option produce-abducts
.conj
- The conjecture term.grammar
- The grammar for the abduct C
.C
such that A && C
is satisfiable, and
A && ~B && C
is unsatisfiable, where A
is the
current set of assertions and B
is given in the input by
conj
, or the null term if such a term cannot be found.public Term getAbductNext()
( get-abduct-next )
Requires enabling incremental mode and option produce-abducts
.public void blockModel(BlockModelsMode mode)
( block-model )
Requires enabling option produce-models
.mode
- The mode to use for blocking.public void blockModelValues(Term[] terms)
( block-model-values ( <terms>+ ) )
Requires enabling option produce-models
.terms
- The model values to block.public java.lang.String getInstantiations()
public void push() throws CVC5ApiException
( push <numeral> )
CVC5ApiException
- on errorpublic void push(int nscopes) throws CVC5ApiException
( push <numeral> )
nscopes
- The number of levels to push.CVC5ApiException
- on errorpublic void resetAssertions()
( reset-assertions )
public void setInfo(java.lang.String keyword, java.lang.String value) throws CVC5ApiException
( set-info <attribute> )
keyword
- The info flag.value
- The value of the info flag.CVC5ApiException
- on errorpublic void setLogic(java.lang.String logic) throws CVC5ApiException
( set-logic <symbol> )
logic
- The logic to set.CVC5ApiException
- on errorpublic boolean isLogicSet()
public java.lang.String getLogic() throws CVC5ApiException
CVC5ApiException
- on errorpublic void setOption(java.lang.String option, java.lang.String value)
( set-option <option> )
option
- The option name.value
- The option value.public Term declareSygusVar(java.lang.String symbol, Sort sort)
symbol
to the current list of universal variables.
SyGuS v2:
( declare-var <symbol> <sort> )
sort
- The sort of the universal variable.symbol
- The name of the universal variable.public Grammar mkGrammar(Term[] boundVars, Term[] ntSymbols)
boundVars
- The parameters to corresponding synth-fun/synth-inv.ntSymbols
- The pre-declaration of the non-terminal symbols.public Term synthFun(java.lang.String symbol, Term[] boundVars, Sort sort)
( synth-fun <symbol> ( <boundVars>* ) <sort> )
symbol
- The name of the function.boundVars
- The parameters to this function.sort
- The sort of the return value of this function.public Term synthFun(java.lang.String symbol, Term[] boundVars, Sort sort, Grammar grammar)
( synth-fun <symbol> ( <boundVars>* ) <sort> <g> )
symbol
- The name of the function.boundVars
- The parameters to this function.sort
- The sort of the return value of this function.grammar
- The syntactic constraints.public void addSygusConstraint(Term term)
( constraint <term> )
term
- The formula to add as a constraint.public Term[] getSygusConstraints()
public void addSygusAssume(Term term)
( assume <term> )
term
- The formula to add as an assumption.public Term[] getSygusAssumptions()
public void addSygusInvConstraint(Term inv, Term pre, Term trans, Term post)
( inv-constraint <inv> <pre> <trans> <post> )
inv
- The function-to-synthesize.pre
- The pre-condition.trans
- The transition relation.post
- The post-condition.public SynthResult checkSynth()
( check-synth )
public SynthResult checkSynthNext()
check-synth
or check-synth-next
.( check-synth-next )
public Term getSynthSolution(Term term)
term
- The term for which the synthesis solution is queried.public Term[] getSynthSolutions(Term[] terms)
terms
- The terms for which the synthesis solutions is queried.public Term findSynth(FindSynthTarget fst)
(find-synth :target)
fst
- The identifier specifying what kind of term to findpublic Term findSynth(FindSynthTarget fst, Grammar grammar)
(find-synth :target G)
fst
- The identifier specifying what kind of term to findgrammar
- The grammar for the termpublic Term findSynthNext()
(find-synth-next)
public Statistics getStatistics()
public java.lang.String getVersion()
public long getPointer()
public void deletePointer()
public java.lang.String toString()
toString
in class java.lang.Object