X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fbasic_2A%2Fsubstitution%2Flift_vector.ma;h=dabf8550582f44a94acddf42e24de0e18675cbbe;hb=aeec9312d6f72526a460518a1e889eac71657cdd;hp=cb80a68b3b01e86a6aab9d68370e6a7e4feee9a1;hpb=d2545ffd201b1aa49887313791386add78fa8603;p=helm.git diff --git a/matita/matita/contribs/lambdadelta/basic_2A/substitution/lift_vector.ma b/matita/matita/contribs/lambdadelta/basic_2A/substitution/lift_vector.ma index cb80a68b3..dabf85505 100644 --- a/matita/matita/contribs/lambdadelta/basic_2A/substitution/lift_vector.ma +++ b/matita/matita/contribs/lambdadelta/basic_2A/substitution/lift_vector.ma @@ -18,37 +18,37 @@ include "basic_2A/substitution/lift.ma". (* BASIC TERM VECTOR RELOCATION *********************************************) inductive liftv (l,m:nat) : relation (list term) ≝ -| liftv_nil : liftv l m (◊) (◊) +| liftv_nil : liftv l m (ⓔ) (ⓔ) | liftv_cons: ∀T1s,T2s,T1,T2. ⬆[l, m] T1 ≡ T2 → liftv l m T1s T2s → - liftv l m (T1 @ T1s) (T2 @ T2s) + liftv l m (T1 ⨮ T1s) (T2 ⨮ T2s) . interpretation "relocation (vector)" 'RLift l m T1s T2s = (liftv l m T1s T2s). (* Basic inversion lemmas ***************************************************) -fact liftv_inv_nil1_aux: ∀T1s,T2s,l,m. ⬆[l, m] T1s ≡ T2s → T1s = ◊ → T2s = ◊. +fact liftv_inv_nil1_aux: ∀T1s,T2s,l,m. ⬆[l, m] T1s ≡ T2s → T1s = ⓔ → T2s = ⓔ. #T1s #T2s #l #m * -T1s -T2s // #T1s #T2s #T1 #T2 #_ #_ #H destruct qed-. -lemma liftv_inv_nil1: ∀T2s,l,m. ⬆[l, m] ◊ ≡ T2s → T2s = ◊. +lemma liftv_inv_nil1: ∀T2s,l,m. ⬆[l, m] ⓔ ≡ T2s → T2s = ⓔ. /2 width=5 by liftv_inv_nil1_aux/ qed-. fact liftv_inv_cons1_aux: ∀T1s,T2s,l,m. ⬆[l, m] T1s ≡ T2s → - ∀U1,U1s. T1s = U1 @ U1s → + ∀U1,U1s. T1s = U1 ⨮ U1s → ∃∃U2,U2s. ⬆[l, m] U1 ≡ U2 & ⬆[l, m] U1s ≡ U2s & - T2s = U2 @ U2s. + T2s = U2 ⨮ U2s. #T1s #T2s #l #m * -T1s -T2s [ #U1 #U1s #H destruct | #T1s #T2s #T1 #T2 #HT12 #HT12s #U1 #U1s #H destruct /2 width=5 by ex3_2_intro/ ] qed-. -lemma liftv_inv_cons1: ∀U1,U1s,T2s,l,m. ⬆[l, m] U1 @ U1s ≡ T2s → +lemma liftv_inv_cons1: ∀U1,U1s,T2s,l,m. ⬆[l, m] U1 ⨮ U1s ≡ T2s → ∃∃U2,U2s. ⬆[l, m] U1 ≡ U2 & ⬆[l, m] U1s ≡ U2s & - T2s = U2 @ U2s. + T2s = U2 ⨮ U2s. /2 width=3 by liftv_inv_cons1_aux/ qed-. (* Basic properties *********************************************************)