X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Focaml%2Fcic_unification%2FcicMetaSubst.mli;h=7d78cec5cd9047210680839e5a2a9d5a89980f2d;hb=28ac70d3f475442cda4ef30e0e9c0e6d012b2527;hp=9a0bee6ae842d2c551778843bf809ce857a422a6;hpb=1592bfa20a80f2f58fe0593c019689cb32072db6;p=helm.git diff --git a/helm/ocaml/cic_unification/cicMetaSubst.mli b/helm/ocaml/cic_unification/cicMetaSubst.mli index 9a0bee6ae..7d78cec5c 100644 --- a/helm/ocaml/cic_unification/cicMetaSubst.mli +++ b/helm/ocaml/cic_unification/cicMetaSubst.mli @@ -26,6 +26,7 @@ exception MetaSubstFailure of string exception Uncertain of string exception AssertFailure of string +exception DeliftingARelWouldCaptureAFreeVariable;; (* The entry (i,t) in a substitution means that *) (* (META i) have been instantiated with t. *) @@ -50,6 +51,14 @@ val delift : val restrict : Cic.substitution -> (int * int) list -> Cic.metasenv -> Cic.metasenv * Cic.substitution + +(** delifts the Rels in t of n + * @raise DeliftingARelWouldCaptureAFreeVariable + *) +val delift_rels : + Cic.substitution -> Cic.metasenv -> int -> Cic.term -> + Cic.term * Cic.substitution * Cic.metasenv + (** {2 Pretty printers} *) val ppsubst_unfolded: Cic.substitution -> string @@ -58,7 +67,7 @@ val ppterm: Cic.substitution -> Cic.term -> string val ppcontext: ?sep: string -> Cic.substitution -> Cic.context -> string val ppterm_in_context: Cic.substitution -> Cic.term -> (Cic.name option) list -> string -val ppmetasenv: ?sep: string -> Cic.metasenv -> Cic.substitution -> string +val ppmetasenv: ?sep: string -> Cic.substitution -> Cic.metasenv -> string (** {2 Format-like pretty printers} * As above with prototypes suitable for toplevel/ocamldebug printers. No