pub struct Goal { /* private fields */ }Expand description
Set of formulas that can be solved and/or transformed using tactics and solvers.
Implementations§
Source§impl Goal
impl Goal
pub fn new(models: bool, unsat_cores: bool, proofs: bool) -> Goal
Sourcepub fn is_inconsistent(&self) -> bool
pub fn is_inconsistent(&self) -> bool
Return true if the given goal contains the formula false.
Sourcepub fn get_depth(&self) -> u32
pub fn get_depth(&self) -> u32
Return the depth of the given goal. It tracks how many transformations were applied to it.
Sourcepub fn get_num_expr(&self) -> u32
pub fn get_num_expr(&self) -> u32
Return the number of formulas, subformulas and terms in the given goal.
Sourcepub fn is_decided_sat(&self) -> bool
pub fn is_decided_sat(&self) -> bool
Return true if the goal is empty, and it is precise or the product of a under approximation.
Sourcepub fn is_decided_unsat(&self) -> bool
pub fn is_decided_unsat(&self) -> bool
Return true if the goal contains false, and it is precise or the product of an over approximation.
Sourcepub fn get_precision(&self) -> GoalPrec
pub fn get_precision(&self) -> GoalPrec
Return the “precision” of the given goal. Goals can be transformed using over and under approximations.
pub fn iter_formulas<'a, T>(&'a self) -> impl Iterator<Item = T> + 'awhere
T: Ast,
Sourcepub fn get_formulas(&self) -> Vec<Bool>
pub fn get_formulas(&self) -> Vec<Bool>
Return a vector of the formulas from the given goal.
Though not guaranteed by Z3’s type system, goals and subgoals are
conceptually always going to be expressions of the Bool Sort.