val context : NCic.context
end
-module NCicBlob(C : NCicContext) : Terms.Blob with type t = NCic.term = struct
+module NCicBlob(C : NCicContext) : Terms.Blob
+with type t = NCic.term and type input = NCic.term = struct
type t = NCic.term
let rec compare x y =
match x,y with
- | NCic.Rel i, NCic.Rel j -> i-j
+ | NCic.Rel i, NCic.Rel j -> j-i
| NCic.Meta (i,_), NCic.Meta (j,_) -> i-j
| NCic.Const r1, NCic.Const r2 -> NReference.compare r1 r2
| NCic.Appl l1, NCic.Appl l2 -> FoUtils.lexicograph compare l1 l2
let pp t =
NCicPp.ppterm ~context:C.context ~metasenv:C.metasenv ~subst:C.subst t;;
+ type input = NCic.term
+
let rec embed = function
| NCic.Meta (i,_) -> Terms.Var i, [i]
| NCic.Appl l ->
NCic.Const r
;;
-
end