Library
Module
Module type
Parameter
Class
Class type
Create a new Bitwuzla session in incremental mode.
include sig ... end
The array kind with 'a
index and 'b
element.
Both index and element should be of bit-vector, rounding-mode or floating-point kind
The function kind taking 'a
argument and returning 'b
element.
Functions accept only bit-vector, rounding-mode or floating-point as argument and return only bit-vector.
type 'a value = private 'a term
A value of 'a
kind.
Values are subtype of terms and can be downcasted using :>
operator.
module Sort : sig ... end
module Term : sig ... end
val pp_result : Format.formatter -> result -> unit
pp formatter result
pretty print result.
val check_sat : ?interrupt:(('a -> int) * 'a) -> unit -> result
check_sat ~interrupt ()
check satisfiability of current input formula.
timeout t f
configure the interruptible function f
with a timeout of t
seconds.
timeout
can be used to limit the time spend on check_sat
or check_sat_assuming
. For instance, for a 1 second time credit, use:
(timeout 1. check_sat) ()
(timeout 1. check_sat_assuming) assumptions
val check_sat_assuming :
?interrupt:(('a -> int) * 'a) ->
?names:string array ->
bv term array ->
result
check_sat_assuming ~interrupt ~names assumptions
check satisfiability of current input formula, with the search for a solution guided by the given assumptions.
An input formula consists of assertions added via assert'
combined with assumptions via Boolean and
. Unsatifiable assumptions can be queried via get_unsat_assumptions
.