X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Focaml%2Fcic_proof_checking%2FcicSubstitution.mli;h=5c8fa7ca59b8e31bc3019f71ef0a3cbd91ac0354;hb=47c9a0967ce271e551d4cbc8ac388097d774a3ef;hp=9083212ae6737ece3a855c865f9bda6c79037be0;hpb=21d58727027699d8617a7faab912843756b585ed;p=helm.git diff --git a/helm/ocaml/cic_proof_checking/cicSubstitution.mli b/helm/ocaml/cic_proof_checking/cicSubstitution.mli index 9083212ae..5c8fa7ca5 100644 --- a/helm/ocaml/cic_proof_checking/cicSubstitution.mli +++ b/helm/ocaml/cic_proof_checking/cicSubstitution.mli @@ -28,11 +28,18 @@ exception RelToHiddenHypothesis;; exception ReferenceToVariable;; exception ReferenceToConstant;; exception ReferenceToInductiveDefinition;; +exception DeliftingWouldCaptureAFreeVariable;; (* lift n t *) (* lifts [t] of [n] *) val lift : int -> Cic.term -> Cic.term +(** delifts t of n + * @raise Failure s + *) +val delift : int -> Cic.term -> Cic.term + + (* lift from n t *) (* as lift but lifts only indexes >= from *) val lift_from: int -> int -> Cic.term -> Cic.term @@ -46,10 +53,8 @@ val subst : Cic.term -> Cic.term -> Cic.term val subst_vars : Cic.term Cic.explicit_named_substitution -> Cic.term -> Cic.term -(* TODO CSC rename to subst_meta *) - -(* lift_meta [t_1 ; ... ; t_n] t *) +(* subst_meta [t_1 ; ... ; t_n] t *) (* returns the term [t] where [Rel i] is substituted with [t_i] *) (* [t_i] is lifted as usual when it crosses an abstraction *) -val lift_meta : (Cic.term option) list -> Cic.term -> Cic.term +val subst_meta : (Cic.term option) list -> Cic.term -> Cic.term