type value = Bits of int64 | Truth of bool
type answer = Sat of value list | Unsat | Unknown of string
type query = { source : string; probes : (string * string) list }
val strategy : string
val solve : ?timeout:int -> ?tick:(unit -> unit) -> query -> answer
val script : ?timeout:int -> ?tick:(unit -> unit) -> string -> string
val compile : ?timeout:int -> ?fixed:int array -> ?require_goal:bool ->
?blocks:(int64 * int64) list -> Syntax.t -> Syntax.model -> Syntax.location list -> int -> query
val candidate : count:int -> budget:int -> int list list -> query
val standalone : query -> string
val bits : value -> int64
val truth : value -> bool