Solver

class Solver(context: SolverContext, nameProvider: NameProvider) : SolverContext, FormulaManager, BooleanFormulaManager, KotlinPrinter

Types

Companion
Link copied to clipboard
object Companion

Functions

and
Link copied to clipboard
open override fun and(vararg p0: BooleanFormula): BooleanFormula
open override fun and(p0: MutableCollection<BooleanFormula>): BooleanFormula
open override fun and(p0: BooleanFormula, p1: BooleanFormula): BooleanFormula
applyTactic
Link copied to clipboard
open override fun applyTactic(p0: BooleanFormula, p1: Tactic): BooleanFormula
arrays
Link copied to clipboard
fun <A> arrays(f: ArrayFormulaManager.() -> A): A
bitvectors
Link copied to clipboard
fun <A> bitvectors(f: BitvectorFormulaManager.() -> A): A
booleans
Link copied to clipboard
fun <A> booleans(f: BooleanFormulaManager.() -> A): A
boolValue
Link copied to clipboard
fun boolValue(formula: ObjectFormula): BooleanFormula
close
Link copied to clipboard
open override fun close()
decimalValue
Link copied to clipboard
fun decimalValue(formula: ObjectFormula): NumeralFormula.RationalFormula
dumpFormula
Link copied to clipboard
open override fun dumpFormula(p0: BooleanFormula): Appender
dumpKotlinLike
Link copied to clipboard
open override fun List<Formula>.dumpKotlinLike(): String
open override fun Formula.dumpKotlinLike(): String
dumpKotlinLikeOrRemove
Link copied to clipboard
open override fun Formula.dumpKotlinLikeOrRemove(): String?
equivalence
Link copied to clipboard
open override fun equivalence(p0: BooleanFormula, p1: BooleanFormula): BooleanFormula
escape
Link copied to clipboard
open override fun escape(p0: String): String
extractVariables
Link copied to clipboard
open override fun extractVariables(p0: Formula): MutableMap<String, Formula>
extractVariablesAndUFs
Link copied to clipboard
open override fun extractVariablesAndUFs(p0: Formula): MutableMap<String, Formula>
field
Link copied to clipboard
fun field(fieldName: String, formula: ObjectFormula): ObjectFormula
floatingPoint
Link copied to clipboard
fun <A> floatingPoint(f: FloatingPointFormulaManager.() -> A): A
formulae
Link copied to clipboard
fun <A> formulae(f: FormulaManager.() -> A): A
getArrayFormulaManager
Link copied to clipboard
open override fun getArrayFormulaManager(): ArrayFormulaManager
getBitvectorFormulaManager
Link copied to clipboard
open override fun getBitvectorFormulaManager(): BitvectorFormulaManager
getBooleanFormulaManager
Link copied to clipboard
open override fun getBooleanFormulaManager(): BooleanFormulaManager
getFloatingPointFormulaManager
Link copied to clipboard
open override fun getFloatingPointFormulaManager(): FloatingPointFormulaManager
getFormulaManager
Link copied to clipboard
open override fun getFormulaManager(): FormulaManager
getFormulaType
Link copied to clipboard
open override fun <T : Formula> getFormulaType(p0: T): FormulaType<T>
getIntegerFormulaManager
Link copied to clipboard
open override fun getIntegerFormulaManager(): IntegerFormulaManager
getQuantifiedFormulaManager
Link copied to clipboard
open override fun getQuantifiedFormulaManager(): QuantifiedFormulaManager
getRationalFormulaManager
Link copied to clipboard
open override fun getRationalFormulaManager(): RationalFormulaManager
getSLFormulaManager
Link copied to clipboard
open override fun getSLFormulaManager(): SLFormulaManager
getSolverName
Link copied to clipboard
open override fun getSolverName(): SolverContextFactory.Solvers
getUFManager
Link copied to clipboard
open override fun getUFManager(): UFManager
getVersion
Link copied to clipboard
open override fun getVersion(): String
ifThenElse
Link copied to clipboard
open override fun <T : Formula> ifThenElse(p0: BooleanFormula, p1: T, p2: T): T
implication
Link copied to clipboard
open override fun implication(p0: BooleanFormula, p1: BooleanFormula): BooleanFormula
ints
Link copied to clipboard
fun <A> ints(f: IntegerFormulaManager.() -> A): A
intValue
Link copied to clipboard
fun intValue(formula: ObjectFormula): NumeralFormula.IntegerFormula
isFalse
Link copied to clipboard
open override fun isFalse(p0: BooleanFormula): Boolean
isNotNull
Link copied to clipboard
fun isNotNull(formula: ObjectFormula): BooleanFormula
isNull
Link copied to clipboard
fun isNull(formula: ObjectFormula): BooleanFormula
isTrue
Link copied to clipboard
open override fun isTrue(p0: BooleanFormula): Boolean
isValidName
Link copied to clipboard
open override fun isValidName(p0: String): Boolean
makeApplication
Link copied to clipboard
open override fun <T : Formula> makeApplication(p0: FunctionDeclaration<T>, vararg p1: Formula): T
open override fun <T : Formula> makeApplication(p0: FunctionDeclaration<T>, p1: MutableList<out Formula>): T
makeBoolean
Link copied to clipboard
open fun makeBoolean(p0: Boolean): BooleanFormula
makeBooleanObjectVariable
Link copied to clipboard
fun makeBooleanObjectVariable(varName: String): BooleanFormula
makeDecimalObjectVariable
Link copied to clipboard
fun makeDecimalObjectVariable(varName: String): NumeralFormula.RationalFormula
makeFalse
Link copied to clipboard
open override fun makeFalse(): BooleanFormula
makeIntegerObjectVariable
Link copied to clipboard
fun makeIntegerObjectVariable(varName: String): NumeralFormula.IntegerFormula
makeObjectVariable
Link copied to clipboard
fun makeObjectVariable(varName: String): ObjectFormula
makeTrue
Link copied to clipboard
open override fun makeTrue(): BooleanFormula
makeVariable
Link copied to clipboard
open override fun makeVariable(p0: String): BooleanFormula
open override fun <T : Formula> makeVariable(p0: FormulaType<T>, p1: String): T
mirroredElement
Link copied to clipboard
open override fun mirroredElement(name: String): ReferencedElement?
newOptimizationProverEnvironment
Link copied to clipboard
open override fun newOptimizationProverEnvironment(vararg p0: SolverContext.ProverOptions): OptimizationProverEnvironment
newProverEnvironment
Link copied to clipboard
open override fun newProverEnvironment(vararg p0: SolverContext.ProverOptions): ProverEnvironment
newProverEnvironmentWithInterpolation
Link copied to clipboard
open override fun newProverEnvironmentWithInterpolation(vararg p0: SolverContext.ProverOptions): InterpolatingProverEnvironment<*>
not
Link copied to clipboard
open override fun not(p0: BooleanFormula): BooleanFormula
objects
Link copied to clipboard
fun <A> objects(f: IntegerFormulaManager.() -> A): A
or
Link copied to clipboard
open override fun or(vararg p0: BooleanFormula): BooleanFormula
open override fun or(p0: MutableCollection<BooleanFormula>): BooleanFormula
open override fun or(p0: BooleanFormula, p1: BooleanFormula): BooleanFormula
parse
Link copied to clipboard
open override fun parse(p0: String): BooleanFormula
quantified
Link copied to clipboard
fun <A> quantified(f: QuantifiedFormulaManager.() -> A): A
rationals
Link copied to clipboard
fun <A> rationals(f: RationalFormulaManager.() -> A): A
separationLogic
Link copied to clipboard
fun <A> separationLogic(f: SLFormulaManager.() -> A): A
simplify
Link copied to clipboard
open override fun <T : Formula> simplify(p0: T): T
substitute
Link copied to clipboard
open override fun <T : Formula> substitute(p0: T, p1: MutableMap<out Formula, out Formula>): T
toConjunction
Link copied to clipboard
open override fun toConjunction(): Collector<BooleanFormula, *, BooleanFormula>
toConjunctionArgs
Link copied to clipboard
open override fun toConjunctionArgs(p0: BooleanFormula, p1: Boolean): MutableSet<BooleanFormula>
toDisjunction
Link copied to clipboard
open override fun toDisjunction(): Collector<BooleanFormula, *, BooleanFormula>
toDisjunctionArgs
Link copied to clipboard
open override fun toDisjunctionArgs(p0: BooleanFormula, p1: Boolean): MutableSet<BooleanFormula>
transformRecursively
Link copied to clipboard
open override fun transformRecursively(p0: BooleanFormula, p1: BooleanFormulaTransformationVisitor): BooleanFormula
open override fun <T : Formula> transformRecursively(p0: T, p1: FormulaTransformationVisitor): T
translateFrom
Link copied to clipboard
open override fun translateFrom(p0: BooleanFormula, p1: FormulaManager): BooleanFormula
unescape
Link copied to clipboard
open override fun unescape(p0: String): String
uninterpretedFunctions
Link copied to clipboard
fun <A> uninterpretedFunctions(f: UFManager.() -> A): A
visit
Link copied to clipboard
@CanIgnoreReturnValue
open override fun <R : Any> visit(p0: BooleanFormula, p1: BooleanFormulaVisitor<R>): R
@CanIgnoreReturnValue
open override fun <R : Any> visit(p0: Formula, p1: FormulaVisitor<R>): R
visitRecursively
Link copied to clipboard
open override fun visitRecursively(p0: BooleanFormula, p1: BooleanFormulaVisitor<TraversalProcess>)
open override fun visitRecursively(p0: Formula, p1: FormulaVisitor<TraversalProcess>)
xor
Link copied to clipboard
open override fun xor(p0: BooleanFormula, p1: BooleanFormula): BooleanFormula

Properties

boolValueFun
Link copied to clipboard
val boolValueFun: FunctionDeclaration<BooleanFormula>
decimalValueFun
Link copied to clipboard
val decimalValueFun: FunctionDeclaration<NumeralFormula.RationalFormula>
fieldFun
Link copied to clipboard
val fieldFun: FunctionDeclaration<ObjectFormula>
intValueFun
Link copied to clipboard
val intValueFun: FunctionDeclaration<ObjectFormula>
isNullFn
Link copied to clipboard
val isNullFn: FunctionDeclaration<BooleanFormula>
resultVariable
Link copied to clipboard
val resultVariable: NumeralFormula.IntegerFormula
thisVariable
Link copied to clipboard
val thisVariable: NumeralFormula.IntegerFormula

Extensions

isFieldCall
Link copied to clipboard
fun Solver.isFieldCall(f: Formula): Boolean
primitiveFormula
Link copied to clipboard
fun Solver.primitiveFormula(context: ResolutionContext, resolvedCall: ResolvedCall, args: List<Formula>): Formula?
renameDeclarationConstraints
Link copied to clipboard
substituteVariable
Link copied to clipboard
fun <T : Formula> Solver.substituteVariable(formula: T, mapping: Map<String, Formula>): T