Module While_analysis.Terms
module Condition : sig ... endmodule Relation : sig ... endmodule Id : sig ... endtype !'a1 complete_term = | Tuple_get : int * cfg_node -> 'res complete_term| Empty : 'res0 complete_term| Unknown : level -> 'res1 complete_term| Mu_formal : {level : level;actual : 'res2 t * Operator.Function_symbol.boolean t;
} -> 'res2 complete_term| Inductive_var : {widening_id : widening_id;level : level;mutable definition : 'res3 t;
} -> 'res3 complete_term| T0 : {tag : (Operator.Function_symbol.ar0, 'res4) Operator.Function_symbol.function_symbol;
} -> 'res4 complete_term| T1 : {tag : ('a Operator.Function_symbol.ar1, 'res5) Operator.Function_symbol.function_symbol;a : 'a t;level : level;
} -> 'res5 complete_term| T2 : {tag : (('a0, 'b) Operator.Function_symbol.ar2, 'res6) Operator.Function_symbol.function_symbol;a : 'a0 t;b : 'b t;level : level;
} -> 'res6 complete_term
and !'a t = | Bool : {mutable superterms : superterms;id : Operator.Function_symbol.boolean Id.t;mutable parent : Operator.Function_symbol.boolean parent;term : Operator.Function_symbol.boolean complete_term;bdd : Condition.t;
} -> Operator.Function_symbol.boolean t| Integer : {mutable superterms : superterms;id : Operator.Function_symbol.integer Id.t;mutable parent : Operator.Function_symbol.integer parent;term : Operator.Function_symbol.integer complete_term;
} -> Operator.Function_symbol.integer t| Binary : {mutable superterms : superterms;id : Operator.Function_symbol.binary Id.t;mutable parent : Operator.Function_symbol.binary parent;term : Operator.Function_symbol.binary complete_term;size : Units.In_bits.t;
} -> Operator.Function_symbol.binary t| Enum : {mutable superterms : superterms;id : Operator.Function_symbol.enum Id.t;mutable parent : Operator.Function_symbol.enum parent;term : Operator.Function_symbol.enum complete_term;
} -> Operator.Function_symbol.enum t
and tuple = any Immutable_array.tand cfg_node = private | Nondet of {id : tuple Id.t;level : level;a : tuple;conda_bool : Operator.Function_symbol.boolean t;b : tuple;condb_bool : Operator.Function_symbol.boolean t;
}| Mu of {id : tuple Id.t;level : level;init : tuple;var : tuple;body : tuple;body_cond : Operator.Function_symbol.boolean t;
}| Inductive_vars of {id : tuple Id.t;widening_id : widening_id;level : int;mutable def : tuple;
}
val polyeq : 'a t -> 'b t -> ('a, 'b) PatriciaTree.cmpmodule Any : sig ... endmodule CFG_Node : sig ... endmodule SUPER_TERMS : sig ... endval hash : 'a t -> intval pretty : Stdlib.Format.formatter -> 'a t -> unitval level : 'a t -> intval size_of : Operator.Function_symbol.binary t -> Units.In_bits.tmodule Build : sig ... endmodule Utils : sig ... endmodule UnionFind : sig ... end