bddapron

Logico-numerical domain(s) based on BDDs and APRON
Legend:
Library
Module
Module type
Parameter
Class
Class type
Manual
Module Bddapron . Bddleaf
type (!'a, !'b) elt = {
guard : 'a Cudd.Bdd.t;
leaf : 'b;
}
type (!'a, !'b) t = ( 'a, 'b ) elt list
val fold2 : ( 'a -> 'b -> 'c -> 'a ) -> 'a -> 'b list -> 'c list -> 'a
val iter2 : ( 'a -> 'b -> unit ) -> 'a list -> 'b list -> unit
val check_unicity : is_equal:( 'b -> 'b -> bool ) -> ( 'a, 'b ) elt list -> bool
val check_disjointness : ( 'a, 'b ) elt list -> bool
val cons_unique : is_equal:( 'b -> 'b -> bool ) -> ( 'a, 'b ) elt -> ( 'a, 'b ) elt list -> ( 'a, 'b ) elt list
val append_unique : is_equal:( 'b -> 'b -> bool ) -> ( 'a, 'b ) elt list -> ( 'a, 'b ) elt list -> ( 'a, 'b ) elt list
val cons_disjoint : is_equal:( 'b -> 'b -> bool ) -> merge:( 'b -> 'b -> 'b ) -> ( 'a, 'b ) elt -> ( 'a, 'b ) elt list -> ( 'a, 'b ) elt list
val append_disjoint : is_equal:( 'b -> 'b -> bool ) -> merge:( 'b -> 'b -> 'b ) -> ( 'a, 'b ) elt list -> ( 'a, 'b ) elt list -> ( 'a, 'b ) elt list
val cons : is_equal:( 'b -> 'b -> bool ) -> merge:( 'b -> 'b -> 'b ) -> unique:bool -> disjoint:bool -> ( 'a, 'b ) elt -> ( 'a, 'b ) elt list -> ( 'a, 'b ) elt list
val append : is_equal:( 'b -> 'b -> bool ) -> merge:( 'b -> 'b -> 'b ) -> unique:bool -> disjoint:bool -> ( 'a, 'b ) elt list -> ( 'a, 'b ) elt list -> ( 'a, 'b ) elt list
val make_unique : is_equal:( 'b -> 'b -> bool ) -> merge:( 'b -> 'b -> 'b ) -> disjoint:bool -> ( 'a, 'b ) elt list -> ( 'a, 'b ) elt list
val guard : cudd:'a Cudd.Man.t -> ( 'a, 'b ) t -> 'a Cudd.Bdd.t