3 include Set.Make (struct type t = int let compare = (-) end)
4 let hash = Hashtbl.hash
7 module M : FiniteCofinite.S with type elt = Tag.t and type set = Ptset.Int.t =
8 FiniteCofinite.Make(Ptset.Int)
12 let tag t = singleton t
13 let pcdata = singleton Tag.pcdata
14 let attribute = singleton Tag.attribute
15 let star = diff any (cup pcdata attribute)
16 let node = neg attribute
20 Format.fprintf ppf "{";
22 (fun t -> Format.fprintf ppf "'%s' " (Tag.to_string t))
24 Format.fprintf ppf "}"
28 Format.fprintf ppf "∅" else print_set (positive t)
30 Format.fprintf ppf "Σ";
31 if not (is_any t) then
32 (Format.fprintf ppf "\\" ; print_set (negative t))