X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fmatita%2Fcontribs%2FLAMBDA-TYPES%2FUnified-Sub%2FLift%2Fdefs.ma;h=eac00ae357c40fcba2723dd85f1b7e3067c7c325;hb=086a16fd167436803453c9f0c673450fe8a8ccc1;hp=cf29a3562e573ceda4071a0acdaaa88bc62ee32c;hpb=476068e4c7ac989e42c84affbeeb95873edac24f;p=helm.git diff --git a/helm/software/matita/contribs/LAMBDA-TYPES/Unified-Sub/Lift/defs.ma b/helm/software/matita/contribs/LAMBDA-TYPES/Unified-Sub/Lift/defs.ma index cf29a3562..eac00ae35 100644 --- a/helm/software/matita/contribs/LAMBDA-TYPES/Unified-Sub/Lift/defs.ma +++ b/helm/software/matita/contribs/LAMBDA-TYPES/Unified-Sub/Lift/defs.ma @@ -18,21 +18,29 @@ set "baseuri" "cic:/matita/LAMBDA-TYPES/Unified-Sub/Lift/defs". - Usage: invoke with positive polarity *) -include "Inc/defs.ma". +include "Term/defs.ma". inductive Lift: Bool \to Nat \to Nat \to Term \to Term \to Prop \def | lift_sort : \forall l,q,i,h. Lift q l i (leaf (sort h)) (leaf (sort h)) - | lift_skip : \forall l,i,j. + | lift_lref : \forall l,i,j. Lift false l i (leaf (lref j)) (leaf (lref j)) | lift_lref_lt: \forall l,i,j. j < i \to Lift true l i (leaf (lref j)) (leaf (lref j)) | lift_lref_ge: \forall l,i,j1. i <= j1 \to \forall j2. (j1 + l == j2) \to Lift true l i (leaf (lref j1)) (leaf (lref j2)) - | lift_head : \forall l,qt,qu,q. (qt -- q == qu) \to - \forall z,iu,it. Inc iu qu z it \to - \forall u1,u2. Lift qu l iu u1 u2 \to - \forall t1,t2. Lift qt l it t1 t2 \to - Lift qt l iu (head q z u1 t1) (head q z u2 t2) + | lift_bind : \forall l,i,u1,u2. Lift true l i u1 u2 \to + \forall q,t1,t2. Lift q l (succ i) t1 t2 \to + \forall r. + Lift q l i (head q (bind r) u1 t1) (head q (bind r) u2 t2) + | lift_flat : \forall l,i,u1,u2. Lift true l i u1 u2 \to + \forall q,t1,t2. Lift q l i t1 t2 \to + \forall r. + Lift q l i (head q (flat r) u1 t1) (head q (flat r) u2 t2) + | lift_head : \forall l,q,p. (p = q \to False) \to + \forall i,u1,u2. Lift false l i u1 u2 \to + \forall t1,t2. Lift q l i t1 t2 \to + \forall z. + Lift q l i (head p z u1 t1) (head p z u2 t2) .