Satml.Maketype th = Th.tval solve : t -> unitval compute_concrete_model :
declared_ids:Id.typed list ->
t ->
Models.t Stdlib.Lazy.t * Objective.Model.tval set_new_proxies : t -> Satml_types.Flat_Formula.proxies -> unitval new_vars :
t ->
nbv:int ->
Satml_types.Atom.var list ->
Satml_types.Atom.atom list list ->
Satml_types.Atom.atom list list ->
Satml_types.Atom.atom list list * Satml_types.Atom.atom list listval assume :
t ->
Satml_types.Atom.atom list list ->
Satml_types.Atom.atom list list ->
Expr.t ->
cnumber:int ->
AltErgoLib.Satml_types.Flat_Formula.Set.t ->
dec_lvl:int ->
unitval boolean_model : t -> Satml_types.Atom.atom listval instantiation_context :
t ->
Satml_types.Flat_Formula.hcons_env ->
AltErgoLib.Satml_types.Atom.Set.tval create : Satml_types.Atom.hcons_env -> tval assume_th_elt : t -> Expr.th_elt -> Explanation.t -> unitval decision_level : t -> intval assertion_level : t -> intReturns the number of active assertion levels, that is the number of levels introduced with push that have not yet been popped.
val cancel_until : t -> int -> unitval exists_in_lazy_cnf : t -> Satml_types.Flat_Formula.t -> boolval known_lazy_formulas : t -> int AltErgoLib.Satml_types.Flat_Formula.Map.tval reason_of_deduction :
Satml_types.Atom.atom ->
AltErgoLib.Satml_types.Atom.Set.tval do_case_split : t -> Util.case_split_policy -> conflict_originval conflict_analyze_and_fix : t -> conflict_origin -> unitpush env adds a new assertion level and returns a guard g that must be used to guard all formulas asserted at this level.
val pop : t -> unitpop env pops the latest assertion level.
val optimize : t -> Objective.Function.t -> unitoptimize env fn adds the objection fn to the environment env.