AltErgoLib.ExprSourceData structures
and semantic_trigger = | Interval of t * Symbols.bound * Symbols.bound| MapsTo of Var.t * t| NotTheoryConst of t| IsTheoryConst of t| LinearDependency of t * tand trigger = {content : t list;semantic : semantic_trigger list;hyp : t list;t_depth : int;from_user : bool;guard : t option;}different views of an expression
pretty printing
Comparison and hashing functions
Some auxiliary functions
Labeling and models
smart constructors for terms
smart constructors for literals
simple smart constructors for formulas
Substitutions
Subterms, and related stuff
sub_term acc e returns the acc augmented with the term and all its sub-terms. Returns the acc if e is not a term. Does not go through literals (except positive uninterpreted predicates application) and formulas
max_pure_subterms e returns the maximal pure terms of the given expression
returns the maximal terms of the given literal. Assertion failure if not a literal (should replace the assertion failure with a better error) *
returns the maximal ground terms of the given literal. Assertion failure if not a literal *
traverses a formula recursively and collects its atoms. Only ground atoms are kept if ~only_ground is true
traverses a formula recursively and collects its maximal ground terms
skolemization and other smart constructors for formulas *
type th_elt = {th_name : string;ax_name : string;ax_form : t;extends : Util.theories_extensions;axiom_kind : Util.axiom_kind;}