Module ConditionMap.PI

module Cond : sig ... end
type 'a0 t = 'a ConditionMapPartition.t
val ar0 : (module Condition_map.LConditionMap with type t = 'a t and type Cond.t = Cond.t and type L.t = 'a) -> interres:('a -> 'a -> 'a) -> Cond.t -> 'a -> 'a t -> 'a t
val ar1 : (module Condition_map.LConditionMap with type t = 'a t and type Cond.t = Cond.t and type L.t = 'a) -> joina:('a -> 'a -> 'a) -> bottoma:'a -> (module Condition_map.LConditionMap with type t = 'res t and type Cond.t = Cond.t and type L.t = 'res) -> interres:('res -> 'res -> 'res) -> Cond.t -> ('a -> 'res) -> 'a t -> 'res t -> 'res t
val ar2 : (module Condition_map.LConditionMap with type t = 'a t and type Cond.t = Cond.t and type L.t = 'a) -> joina:('a -> 'a -> 'a) -> bottoma:'a -> (module Condition_map.LConditionMap with type t = 'b t and type Cond.t = Cond.t and type L.t = 'b) -> joinb:('b -> 'b -> 'b) -> bottomb:'b -> (module Condition_map.LConditionMap with type t = 'res t and type Cond.t = Cond.t and type L.t = 'res) -> interres:('res -> 'res -> 'res) -> Cond.t -> ('a -> 'b -> 'res) -> 'a t -> 'b t -> 'res t -> 'res t
val ar1_bwd : (module Condition_map.LConditionMap with type t = 'a t and type Cond.t = Cond.t and type L.t = 'a) -> joina:('a -> 'a -> 'a) -> bottoma:'a -> intera:('a -> 'a -> 'a) -> (module Condition_map.LConditionMap with type t = 'res t and type Cond.t = Cond.t and type L.t = 'res) -> joinres:('res -> 'res -> 'res) -> bottomres:'res -> Cond.t -> ('a -> 'res -> 'a option) -> 'a t -> 'res t -> Cond.t * 'a t
val ar2_bwd : (module Condition_map.LConditionMap with type t = 'a t and type Cond.t = Cond.t and type L.t = 'a) -> joina:('a -> 'a -> 'a) -> bottoma:'a -> intera:('a -> 'a -> 'a) -> (module Condition_map.LConditionMap with type t = 'b t and type Cond.t = Cond.t and type L.t = 'b) -> joinb:('b -> 'b -> 'b) -> bottomb:'b -> interb:('b -> 'b -> 'b) -> (module Condition_map.LConditionMap with type t = 'res t and type Cond.t = Cond.t and type L.t = 'res) -> joinres:('res -> 'res -> 'res) -> bottomres:'res -> Cond.t -> ('a -> 'b -> 'res -> 'a option * 'b option) -> 'a t -> 'b t -> 'res t -> (Cond.t * 'a t) * (Cond.t * 'b t)
val nondet_disjoint : (module Condition_map.LConditionMap with type t = 'res t and type Cond.t = Cond.t and type L.t = 'res) -> conda:Cond.t -> notconda:Cond.t -> cma:'res t -> condb:Cond.t -> notcondb:Cond.t -> cmb:'res t -> join:('res -> 'res -> 'res) -> bottom:'res -> inter:('res -> 'res -> 'res) -> old:'res t -> 'res t
val nondet_non_disjoint : (module Condition_map.LConditionMap with type t = 'res t and type Cond.t = Cond.t and type L.t = 'res) -> conda:Cond.t -> cma:'res t -> condb:Cond.t -> cmb:'res t -> condaorb:Cond.t -> notcondaorb:Cond.t -> join:('res -> 'res -> 'res) -> bottom:'res -> inter:('res -> 'res -> 'res) -> old:'res t -> 'res t