Constraints.MakeConstraints
module Condition : Condition_map.Condition
module Condition = Condition
module Id : sig ... end
type 'a complete_term = private
| Tuple_get : int * tuple_ -> 'res complete_term
| Empty : 'res complete_term
| Unknown : level -> 'res complete_term
| Mu_formal : {
level : level;
actual : 'res t * Transfer_functions.Term.boolean t;
} -> 'res complete_term
| T0 : {
tag : (Transfer_functions.Term.ar0, 'res) Transfer_functions.Term.term;
} -> 'res complete_term
| T1 : {
tag : ('a Transfer_functions.Term.ar1, 'res) Transfer_functions.Term.term;
a : 'a t;
level : level;
} -> 'res complete_term
| T2 : {
tag : (('a, 'b) Transfer_functions.Term.ar2, 'res) Transfer_functions.Term.term;
a : 'a t;
b : 'b t;
level : level;
} -> 'res complete_term
and 'a t =
| Bool : {
mutable parents : parents;
id : Transfer_functions.Term.boolean Id.t;
term : Transfer_functions.Term.boolean complete_term;
bdd : Condition.t;
} -> Transfer_functions.Term.boolean t
| Integer : {
mutable parents : parents;
id : Transfer_functions.Term.integer Id.t;
term : Transfer_functions.Term.integer complete_term;
} -> Transfer_functions.Term.integer t
| Binary : {
mutable parents : parents;
id : Transfer_functions.Term.binary Id.t;
term : Transfer_functions.Term.binary complete_term;
size : int;
} -> Transfer_functions.Term.binary t
and tuple = any Immutable_array.t
module Any : sig ... end
module Tuple : sig ... end
module Parents : sig ... end
val hash : 'a t -> int
val pretty_deps : Stdlib.Format.formatter -> 'a t -> unit
val pretty_tuple_deps : Stdlib.Format.formatter -> tuple -> unit
val pretty : Stdlib.Format.formatter -> 'a t -> unit
val pretty_tuple : Stdlib.Format.formatter -> tuple -> unit
val level : 'a t -> int
val size_of : Transfer_functions.Term.binary t -> int
module Build : sig ... end
module Utils : sig ... end