module Goal:sig
..end
Goals
A goal (aka problem). A goal is essentially a of formulas, that can be solved and/or transformed using tactics and solvers.
type
goal
val get_precision : goal -> Z3enums.goal_prec
The precision of the goal.
Goals can be transformed using over and under approximations. An under approximation is applied when the objective is to find a model for a given goal. An over approximation is applied when the objective is to find a proof for a given goal.
val is_precise : goal -> bool
Indicates whether the goal is precise.
val is_underapproximation : goal -> bool
Indicates whether the goal is an under-approximation.
val is_overapproximation : goal -> bool
Indicates whether the goal is an over-approximation.
val is_garbage : goal -> bool
Indicates whether the goal is garbage (i.e., the product of over- and under-approximations).
val add : goal -> Expr.expr list -> unit
Adds the constraints to the given goal.
val is_inconsistent : goal -> bool
Indicates whether the goal contains `false'.
val get_depth : goal -> int
The depth of the goal. This tracks how many transformations were applied to it.
val reset : goal -> unit
Erases all formulas from the given goal.
val get_size : goal -> int
The number of formulas in the goal.
val get_formulas : goal -> Expr.expr list
The formulas in the goal.
val get_num_exprs : goal -> int
The number of formulas, subformulas and terms in the goal.
val is_decided_sat : goal -> bool
Indicates whether the goal is empty, and it is precise or the product of an under approximation.
val is_decided_unsat : goal -> bool
Indicates whether the goal contains `false', and it is precise or the product of an over approximation.
val translate : goal -> context -> goal
Translates (copies) the Goal to another context..
val simplify : goal -> Params.params option -> goal
Simplifies the goal. Essentially invokes the `simplify' tactic on the goal.
val mk_goal : context -> bool -> bool -> bool -> goal
Creates a new Goal.
Note that the Context must have been created with proof generation support if the fourth argument is set to true here.
val to_string : goal -> string
A string representation of the Goal.
val as_expr : goal -> Expr.expr
Goal to BoolExpr conversion.