37 type 'a positive_map =
39 | Pm_node of 'a Types.option * 'a positive_map * 'a positive_map
41 val positive_map_rect_Type4 :
42 'a2 -> ('a1 Types.option -> 'a1 positive_map -> 'a1 positive_map -> 'a2 ->
43 'a2 -> 'a2) -> 'a1 positive_map -> 'a2
45 val positive_map_rect_Type3 :
46 'a2 -> ('a1 Types.option -> 'a1 positive_map -> 'a1 positive_map -> 'a2 ->
47 'a2 -> 'a2) -> 'a1 positive_map -> 'a2
49 val positive_map_rect_Type2 :
50 'a2 -> ('a1 Types.option -> 'a1 positive_map -> 'a1 positive_map -> 'a2 ->
51 'a2 -> 'a2) -> 'a1 positive_map -> 'a2
53 val positive_map_rect_Type1 :
54 'a2 -> ('a1 Types.option -> 'a1 positive_map -> 'a1 positive_map -> 'a2 ->
55 'a2 -> 'a2) -> 'a1 positive_map -> 'a2
57 val positive_map_rect_Type0 :
58 'a2 -> ('a1 Types.option -> 'a1 positive_map -> 'a1 positive_map -> 'a2 ->
59 'a2 -> 'a2) -> 'a1 positive_map -> 'a2
61 val positive_map_inv_rect_Type4 :
62 'a1 positive_map -> (__ -> 'a2) -> ('a1 Types.option -> 'a1 positive_map ->
63 'a1 positive_map -> (__ -> 'a2) -> (__ -> 'a2) -> __ -> 'a2) -> 'a2
65 val positive_map_inv_rect_Type3 :
66 'a1 positive_map -> (__ -> 'a2) -> ('a1 Types.option -> 'a1 positive_map ->
67 'a1 positive_map -> (__ -> 'a2) -> (__ -> 'a2) -> __ -> 'a2) -> 'a2
69 val positive_map_inv_rect_Type2 :
70 'a1 positive_map -> (__ -> 'a2) -> ('a1 Types.option -> 'a1 positive_map ->
71 'a1 positive_map -> (__ -> 'a2) -> (__ -> 'a2) -> __ -> 'a2) -> 'a2
73 val positive_map_inv_rect_Type1 :
74 'a1 positive_map -> (__ -> 'a2) -> ('a1 Types.option -> 'a1 positive_map ->
75 'a1 positive_map -> (__ -> 'a2) -> (__ -> 'a2) -> __ -> 'a2) -> 'a2
77 val positive_map_inv_rect_Type0 :
78 'a1 positive_map -> (__ -> 'a2) -> ('a1 Types.option -> 'a1 positive_map ->
79 'a1 positive_map -> (__ -> 'a2) -> (__ -> 'a2) -> __ -> 'a2) -> 'a2
81 val positive_map_discr : 'a1 positive_map -> 'a1 positive_map -> __
83 val positive_map_jmdiscr : 'a1 positive_map -> 'a1 positive_map -> __
85 val lookup_opt : Positive.pos -> 'a1 positive_map -> 'a1 Types.option
87 val lookup : Positive.pos -> 'a1 positive_map -> 'a1 -> 'a1
90 Positive.pos -> 'a1 Types.option -> 'a1 positive_map -> 'a1 positive_map
92 val insert : Positive.pos -> 'a1 -> 'a1 positive_map -> 'a1 positive_map
95 Positive.pos -> 'a1 -> 'a1 positive_map -> 'a1 positive_map Types.option
98 (Positive.pos -> 'a1 -> 'a2 -> 'a2) -> 'a1 positive_map -> 'a2 -> 'a2
100 val domain_of_pm : 'a1 positive_map -> Types.unit0 positive_map
102 val is_none : 'a1 Types.option -> Bool.bool
104 val is_pm_leaf : 'a1 positive_map -> Bool.bool
107 ('a1 -> 'a2 Types.option) -> 'a1 positive_map -> 'a2 positive_map
109 val map : ('a1 -> 'a2) -> 'a1 positive_map -> 'a2 positive_map
112 ('a1 Types.option -> 'a2 Types.option -> 'a3 Types.option) -> 'a1
113 positive_map -> 'a2 positive_map -> 'a3 positive_map
115 val domain_size : 'a1 positive_map -> Nat.nat
118 'a1 positive_map -> 'a1 positive_map -> (Positive.pos -> Positive.pos) ->
119 (Positive.pos -> 'a1 -> __ -> Bool.bool) -> Bool.bool
122 'a1 positive_map -> (Positive.pos -> 'a1 -> __ -> Bool.bool) -> Bool.bool
125 'a1 positive_map -> ((Positive.pos, 'a1) Types.prod, 'a1 positive_map)
126 Types.prod Types.option
129 Positive.pos -> 'a1 positive_map -> ('a1, 'a1 positive_map) Types.prod
132 val pm_fold_inf_aux :
133 'a1 positive_map -> (Positive.pos -> 'a1 -> __ -> 'a2 -> 'a2) -> 'a1
134 positive_map -> (Positive.pos -> Positive.pos) -> 'a2 -> 'a2
137 'a1 positive_map -> (Positive.pos -> 'a1 -> __ -> 'a2 -> 'a2) -> 'a2 -> 'a2
140 (Positive.pos -> Positive.pos) -> 'a1 positive_map -> (Positive.pos -> 'a1
141 -> Bool.bool) -> (Positive.pos, 'a1) Types.prod Types.option
144 'a1 positive_map -> (Positive.pos -> 'a1 -> Bool.bool) -> (Positive.pos,
145 'a1) Types.prod Types.option