module greed.solver.solver
class Solver
This class represents a solver. Every solver must implement this interface.
method And
Return an SMT And with the given terms.
Args:
terms
: The terms to AND
method Array
Return an SMT Array.
Args:
symbol
: The symbol of the arrayindex_sort
: The index sort of the arrayvalue_sort
: The value sort of the array
method Array_Select
Return an SMT Array_Select with the given terms.
Args:
arr
: The array to select fromindex
: The index to select from
method Array_Store
Return an SMT Array_Store with the given terms.
Args:
arr
: The array to store toindex
: The index to store toelem
: The element to store
method BVS
Return a bitvector symbol of the given width.
Args:
symbol
: The name of the symbolwidth
: The width of the symbol
method BVSort
Return a bitvector sort of the given width.
Args:
width
: The width of the bitvector
method BVV
Return a bitvector value of the given width.
Args:
value
: The value of the bitvectorwidth
: The width of the bitvector
method BV_Add
Return a bitvector addition of the given bitvectors.
Args:
a
: The first bitvectorb
: The second bitvector
method BV_And
Return a bitvector bitwise and of the given bitvectors.
Args:
a
: The first bitvectorb
: The second bitvector
method BV_Concat
Return a bitvector concatenation of the given bitvectors.
Args:
terms
: The bitvectors to concatenate
method BV_Extract
Return a bitvector extract of the given bitvector.
Args:
start
: The start of the extractend
: The end of the extractbv
: The bitvector to extract from
method BV_Mul
Return a bitvector multiplication of the given bitvectors.
Args:
a
: The first bitvectorb
: The second bitvector
method BV_Not
Return a bitvector not of the given bitvector.
Args:
a
: The bitvector to not
method BV_Or
Return a bitvector bitwise or of the given bitvectors.
Args:
a
: The first bitvectorb
: The second bitvector
method BV_SDiv
Return a bitvector signed division of the given bitvectors.
Args:
a
: The first bitvectorb
: The second bitvector
method BV_SGE
Return a bitvector signed greater or equal than of the given bitvectors.
Args:
a
: The first bitvectorb
: The second bitvector
method BV_SGT
Return a bitvector signed greater than of the given bitvectors.
Args:
a
: The first bitvectorb
: The second bitvector
method BV_SLE
Return a bitvector signed less or equal than of the given bitvectors.
Args:
a
: The first bitvectorb
: The second bitvector
method BV_SLT
Return a bitvector signed less than of the given bitvectors.
Args:
a
: The first bitvectorb
: The second bitvector
method BV_SMod
Return a bitvector signed modulo of the given bitvectors.
Args:
a
: The first bitvectorb
: The second bitvector
method BV_SRem
Return a bitvector signed remainder of the given bitvectors.
Args:
a
: The first bitvectorb
: The second bitvector
method BV_Sar
Return a bitvector arithmetic shift right of the given bitvector.
Args:
a
: The bitvector to shiftb
: The shift amount
method BV_Shl
Return a bitvector shift left of the given bitvector.
Args:
a
: The bitvector to shiftb
: The shift amount
method BV_Shr
Return a bitvector shift right of the given bitvector.
Args:
a
: The bitvector to shiftb
: The shift amount
method BV_Sign_Extend
Return a bitvector sign extension of the given bitvector.
Args:
a
: The bitvector to extendb
: The width of the extension
method BV_Sub
Return a bitvector subtraction of the given bitvectors.
Args:
a
: The first bitvectorb
: The second bitvector
method BV_UDiv
Return a bitvector unsigned division of the given bitvectors.
Args:
a
: The first bitvectorb
: The second bitvector
method BV_UGE
Return a bitvector unsigned greater or equal than of the given bitvectors.
Args:
a
: The first bitvectorb
: The second bitvector
method BV_UGT
Return a bitvector unsigned greater than of the given bitvectors.
Args:
a
: The first bitvectorb
: The second bitvector
method BV_ULE
Return a bitvector unsigned less or equal than of the given bitvectors.
Args:
a
: The first bitvectorb
: The second bitvector
method BV_ULT
Return a bitvector unsigned less than of the given bitvectors.
Args:
a
: The first bitvectorb
: The second bitvector
method BV_URem
Return a bitvector unsigned remainder of the given bitvectors.
Args:
a
: The first bitvectorb
: The second bitvector
method BV_Xor
Return a bitvector bitwise xor of the given bitvectors.
Args:
a
: The first bitvectorb
: The second bitvector
method BV_Zero_Extend
Return a bitvector zero extension of the given bitvector.
Args:
a
: The bitvector to extendb
: The width of the extension
method Equal
Return an SMT Equal with the given terms.
Args:
a
: The first termb
: The second term
method If
Return an SMT If.
Args:
cond
: The condition formulavalue_if_true
: The value if the condition is Truevalue_if_false
: The value if the condition is False
method Not
Return an SMT Not with the given term.
Args:
a
: The term to NOT
method NotEqual
Return an SMT NotEqual with the given terms.
Args:
a
: The first termb
: The second term
method Or
Return an SMT Or with the given terms.
Args:
terms
: The terms to OR
method add_assertion
Add a formula to the solver.
Args:
formula
: The formula to add
method add_assertions
Add a list of formulas to the solver.
Args:
formulas
: The list of formulas to add
method are_formulas_sat
Return True if the given formulas are satisfiable.
Args:
terms
: The list of formulas to check
method bv_unsigned_value
Return the unsigned value of the given bitvector.
Args:
bv
: The bitvector to evaluate
method copy
Implement the cloning of the solver when forking.
method eval
Evaluate the given term.
Args:
term
: The term to evaluate
method get_bv_by_name
Return the bitvector with the given name.
Args:
bv
: The name of the bitvector
method is_concrete
Return True if the given bitvector is concrete.
Args:
bv
: The bitvector to check
method is_formula_false
Return True if the given formula is always False.
Args:
formula
: The formula to check
method is_formula_sat
Return True if the given formula is satisfiable.
Args:
formula
: The formula to check
method is_formula_true
Return True if the given formula is always True.
Args:
formula
: The formula to check
method is_formula_unsat
Return True if the given formula is unsatisfiable.
Args:
formula
: The formula to check
method is_sat
Return True if the solver is in a satisfiable state.
method is_unsat
Return True if the solver is in an unsatisfiable state.
method pop
Pop the current context from the solver.
method push
Push a new context on the solver.
method solver_timeout
This file was automatically generated via lazydocs.