module TermOT : Set.OrderedType with type t = NCic.term = struct
type t = NCic.term
- let compare = Pervasives.compare
+ let compare = Stdlib.compare
end
module TermSet = Set.Make(TermOT)
module TermListOT : Set.OrderedType with type t = NCic.term list =
struct
type t = NCic.term list
- let compare = Pervasives.compare
+ let compare = Stdlib.compare
end
module TermListSet : Set.S with type elt = NCic.term list =
let path_string_of t =
let rec aux arity depth = function
| NCic.Appl ((NCic.Meta _|NCic.Implicit _)::_) -> [Variable]
+ | NCic.Appl (NCic.Match _::_) -> [Dead]
| NCic.Appl (NCic.Lambda _ :: _) -> [Variable] (* maybe we should b-reduce *)
| NCic.Appl [] -> assert false
| NCic.Appl l when depth > 10 || List.length l > 50 -> [Variable]
match e1,e2 with
| Constant (u1,a1),Constant (u2,a2) ->
let x = NReference.compare u1 u2 in
- if x = 0 then Pervasives.compare a1 a2 else x
- | e1,e2 -> Pervasives.compare e1 e2
+ if x = 0 then Stdlib.compare a1 a2 else x
+ | e1,e2 -> Stdlib.compare e1 e2
;;
let string_of_path l = String.concat "." (List.map ppelem l) ;;