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