]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/ocaml/cic_unification/cicMetaSubst.mli
- removed unwind: every substitution is now _not_ unwinded
[helm.git] / helm / ocaml / cic_unification / cicMetaSubst.mli
index a81f50c1dd2c1527e662b0b49ff7e4ba9b416437..fd770215a1bb1e42ebf5ef70c830fcac416fc421 100644 (file)
@@ -31,13 +31,9 @@ exception MetaSubstFailure of string
 type substitution = (int * Cic.term) list
 
 val delift : 
-  int -> substitution -> Cic.context -> Cic.metasenv -> (Cic.term option) list -> Cic.term ->
-   Cic.term * Cic.metasenv
-
-(* unwind_subst metasenv subst                         *)
-(* unwinds [subst] w.r.t. itself.                      *)
-(* It can restrict some metavariable in the [metasenv] *)
-val unwind_subst : Cic.metasenv -> substitution -> substitution * Cic.metasenv
+  int -> substitution -> Cic.context -> Cic.metasenv ->
+  (Cic.term option) list -> Cic.term ->
+    Cic.term * Cic.metasenv * substitution
 
 (* apply_subst subst t                     *)
 (* applies the substitution [subst] to [t] *)
@@ -55,29 +51,26 @@ val apply_subst : substitution -> Cic.term -> Cic.term
 (*  during the unwinding the eta-expansions are undone.                 *)
 (* [subst] must be already unwinded                                     *)
 val apply_subst_reducing :
substitution -> (int * int) option -> Cic.term -> Cic.term
(int * int) option -> substitution -> Cic.term -> Cic.term
 
 val apply_subst_context : substitution -> Cic.context -> Cic.context
 
 (** {2 Pretty printers} *)
 
 val ppcontext: ?sep: string -> substitution -> Cic.context -> string
-val ppmetasenv: ?sep: string -> substitution -> Cic.metasenv -> string
+val ppmetasenv: ?sep: string -> Cic.metasenv -> substitution -> string
 val ppsubst: substitution -> string
+val ppterm: substitution -> Cic.term -> string
 
 (* {2 Kernel wrappers}
  * From now on we recreate a kernel abstraction where substitutions are part of
  * the calculus *)
 
-val lift : Cic.metasenv -> substitution -> int -> Cic.term -> Cic.term
-
-val whd: Cic.metasenv -> substitution -> Cic.context -> Cic.term -> Cic.term
-
-val are_convertible:
-  Cic.metasenv -> substitution -> Cic.context -> Cic.term -> Cic.term ->
-    bool
+val lift : substitution -> int -> Cic.term -> Cic.term
+val subst: substitution -> Cic.term -> Cic.term -> Cic.term
+val whd: substitution -> Cic.context -> Cic.term -> Cic.term
+val are_convertible: substitution -> Cic.context -> Cic.term -> Cic.term -> bool
 
 val type_of_aux':
-  Cic.metasenv -> substitution -> Cic.context -> Cic.term ->
-    Cic.term
+  Cic.metasenv -> substitution -> Cic.context -> Cic.term -> Cic.term