Theory.Main_Empty
val empty : unit -> t
val assume :
?ordered:bool ->
(Shostak.Literal.t * Th_util.lit_origin * Explanation.t * int * int) list ->
t ->
t * AltErgoLib.Expr.Set.t * int
val add_objective : t -> Objective.Function.t -> Objective.Value.t -> t
add_objective env fn value
indicates that the objective fn
has been optimized to value
.
val query : Expr.t -> t -> Th_util.answer
val cl_extract : t -> AltErgoLib.Expr.Set.t list
val extract_ground_terms : t -> AltErgoLib.Expr.Set.t
val get_real_env : t -> Ccx.Main.t
val get_case_split_env : t -> Ccx.Main.t
val do_optimize : acts:Shostak.Literal.t Th_util.acts -> t -> unit
val do_case_split :
?acts:Shostak.Literal.t Th_util.acts ->
t ->
Util.case_split_policy ->
t * AltErgoLib.Expr.Set.t
val compute_concrete_model : acts:Shostak.Literal.t Th_util.acts -> t -> unit
val extract_concrete_model :
declared_ids:Id.typed list ->
t ->
Models.t Stdlib.Lazy.t * Objective.Model.t
val assume_th_elt : t -> Expr.th_elt -> Explanation.t -> t
val theories_instances :
do_syntactic_matching:bool ->
(Matching_types.info AltErgoLib.Expr.Map.t
* Expr.t list AltErgoLib.Expr.Map.t AltErgoLib.Symbols.Map.t) ->
t ->
(Expr.t -> Expr.t -> bool) ->
int ->
int ->
t * Sig_rel.instances
val get_assumed : t -> AltErgoLib.Expr.Set.t
val get_objectives : t -> Objective.Model.t