Astral_internal.SMTtype range = t list Stdlib.Lazy.t listtype view = | Constant of Stdlib.String.t * Sort.t| Variable of var| True| False| And of t list| Or of t list| Not of t| Implies of t * t| Iff of t list| IfThenElse of t * t * t| Equal of t list| Distinct of t list| LesserEq of t * t| Exists of var list * range option * t| Forall of var list * range option * t| Exists2 of var list * range option * t| Forall2 of var list * range option * t| IntConst of int| Plus of t list| Minus of t * t| Mult of t list| BitConst of Bitvector.t| BitCheck of t * t| BitNot of t| BitAnd of t list * Sort.t| BitOr of t list * Sort.t| BitXor of t list * Sort.t| BitPlus of t list * Sort.t| BitImplies of t * t| BitNeg of t| BitShiftLeft of t * t| BitShiftRight of t * t| BitLesser of t * t| BitLesserEqual of t * t| ConstArr of t * Sort.t| Select of t * t| Store of t * t * t| Membership of t * t| Subset of t * t| Disjoint of t list| Union of t list * Sort.t| Inter of t list * Sort.t| Diff of t * t| Compl of t| Enumeration of t list * Sort.tinclude Logic_sig.LOGIC
with type t := t
and module Sort = Sort
and type Variable.t = var
and type term := tmodule Sort = Sortinclude Datatype_sig.PRINTABLE with type t := tinclude Datatype_sig.SHOW with type t := tval pp : Stdlib.Format.formatter -> t -> unitOutput to formatter
val print : ?prefix:string -> t -> unitOutput to stdout.
val show_option : t option -> stringval print_option : ?prefix:string -> t option -> unitval dump : string -> t -> unitDump to file given by filename
val show_list : ?separator:string -> t list -> stringval pp_list : Stdlib.Format.formatter -> t list -> unitval print_list : ?separator:string -> ?prefix:string -> t list -> unitinclude Datatype_sig.COMPARABLE with type t := tinclude Datatype_sig.COMPARISON with type t := tinclude Datatype_sig.COLLECTIONS with type t := tval hash : t -> intval of_var : Variable.t -> tval of_const : Constant.t -> tval is_quantifier_free : t -> boolval is_ground : ground:Variable.t list -> t -> boolval is_ground' : forbidden:Variable.t list -> t -> boolTrue if the term does not contatin any of provided variables.
val show : t -> stringval get_vars : t -> Variable.t listReturn all variables, without duplicates.
val free_vars : t -> Variable.t listval bound_vars : t -> Variable.t listval substitute : t -> var:Variable.t -> by:t -> tval substitute_list : t -> vars:Variable.t list -> by:t list -> tval size : t -> intval output_ast : string -> ast -> unitval to_smt2 : t -> stringHuman readable SMT-LIB string.
val to_sexp : t -> Sexplib.Sexp.tS-expression representation used to generate SMT-LIB string. Usefull when printing a formula embeded in a larger s-expr.
type pred_sigs := (string * Sort.t list) listinclude Datatype_sig.COLLECTIONS with type t := tmodule Set : Datatype_sig.SET with type elt = tSet over type t
Monomorphic list over type t
module Map : Datatype_sig.MAP with type key = tPolymorphic map from t to 'a
module MonoMap
(Data : Datatype_sig.SHOW) :
Datatype_sig.MONO_MAP with type key = t and type data = Data.tMonomorphic map from t to Data.t
val is_var : t -> boolval is_constant : t -> boolval to_constant : t -> Constant.tmodule Boolean : sig ... endmodule Range : sig ... endmodule Quantifier : sig ... endmodule Enumeration : sig ... endmodule Arithmetic : sig ... endmodule Bitvector : sig ... endmodule Array : sig ... endmodule Sets : sig ... endmodule Model : sig ... end