]> matita.cs.unibo.it Git - pkg-cerco/acc-trusted.git/blob - extracted/untrusted/set_adt.ml
Imported Upstream version 0.1
[pkg-cerco/acc-trusted.git] / extracted / untrusted / set_adt.ml
1 type 'x set = 'x Pset.set
2
3 let matitabool_of_bool b = if b then Bool.True else Bool.False
4
5 (** val set_empty : 'a1 set **)
6 let set_empty = Pset.empty
7
8 (** val set_member :
9     ('a1 -> 'a1 -> Bool.bool) -> 'a1 -> 'a1 set -> Bool.bool **)
10 let set_member _ x s = matitabool_of_bool (Pset.mem x s)
11
12 (** val set_equal :
13     ('a1 -> 'a1 -> Bool.bool) -> 'a1 set -> 'a1 set -> Bool.bool **)
14 let set_equal _ s1 s2 = matitabool_of_bool (Pset.equal s1 s2)
15
16 (** val set_diff : 'a1 set -> 'a1 set -> 'a1 set **)
17 let set_diff = Pset.diff
18
19 (** val set_singleton : 'a1 -> 'a1 set **)
20 let set_singleton = Pset.singleton
21
22 (** val set_from_list : 'a1 List.list -> 'a1 set **)
23 let set_from_list the_list =
24   List.foldr Pset.add set_empty the_list
25
26 (** val set_subset :
27     ('a1 -> 'a1 -> Bool.bool) -> 'a1 set -> 'a1 set -> Bool.bool **)
28 let set_subset _ s1 s2 = matitabool_of_bool (Pset.subset s1 s2)
29
30 (** val set_union : 'a1 set -> 'a1 set -> 'a1 set **)
31 let set_union = Pset.union