X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fbasic_2%2Frelocation%2Fdrops_lreq.ma;h=2ce496bd50887c1b28f525e48a0a7a476f4ddbe7;hb=e9da8e091898b6e67a2f270581bdc5cdbe80e9b0;hp=56f2fbf85e084afaa116f26c532710f8e083dcad;hpb=3a430d712f9d87185e9271b7b0c5188c5f311e4b;p=helm.git diff --git a/matita/matita/contribs/lambdadelta/basic_2/relocation/drops_lreq.ma b/matita/matita/contribs/lambdadelta/basic_2/relocation/drops_lreq.ma index 56f2fbf85..2ce496bd5 100644 --- a/matita/matita/contribs/lambdadelta/basic_2/relocation/drops_lreq.ma +++ b/matita/matita/contribs/lambdadelta/basic_2/relocation/drops_lreq.ma @@ -28,30 +28,30 @@ lemma lreq_dropable: ∀RN,RP. dropable_dx (lexs RN RP). @lexs_dropable qed-. (* Basic_2A1: includes: lreq_drop_trans_be *) -lemma lreq_drops_trans_next: ∀L1,L2,f2. L1 ≡[f2] L2 → - ∀I,K2,V,c,f. ⬇*[c,f] L2 ≡ K2.ⓑ{I}V → 𝐔⦃f⦄ → +lemma lreq_drops_trans_next: ∀f2,L1,L2. L1 ≡[f2] L2 → + ∀b,f,I,K2,V. ⬇*[b,f] L2 ≡ K2.ⓑ{I}V → 𝐔⦃f⦄ → ∀f1. f ⊚ ⫯f1 ≡ f2 → - ∃∃K1. ⬇*[c,f] L1 ≡ K1.ⓑ{I}V & K1 ≡[f1] K2. -#L1 #L2 #f2 #HL12 #I #K1 #V #c #f #HLK1 #Hf #f1 #Hf2 -elim (lexs_drops_trans_next … HL12 … HLK1 Hf … Hf2) -L2 -f2 -Hf + ∃∃K1. ⬇*[b,f] L1 ≡ K1.ⓑ{I}V & K1 ≡[f1] K2. +#f2 #L1 #L2 #HL12 #b #f #I #K1 #V #HLK1 #Hf #f1 #Hf2 +elim (lexs_drops_trans_next … HL12 … HLK1 Hf … Hf2) -f2 -L2 -Hf /2 width=3 by ex2_intro/ qed-. (* Basic_2A1: includes: lreq_drop_conf_be *) -lemma lreq_drops_conf_next: ∀L1,L2,f2. L1 ≡[f2] L2 → - ∀I,K1,V,c,f. ⬇*[c,f] L1 ≡ K1.ⓑ{I}V → 𝐔⦃f⦄ → +lemma lreq_drops_conf_next: ∀f2,L1,L2. L1 ≡[f2] L2 → + ∀b,f,I,K1,V. ⬇*[b,f] L1 ≡ K1.ⓑ{I}V → 𝐔⦃f⦄ → ∀f1. f ⊚ ⫯f1 ≡ f2 → - ∃∃K2. ⬇*[c,f] L2 ≡ K2.ⓑ{I}V & K1 ≡[f1] K2. -#L1 #L2 #f2 #HL12 #I #K1 #V #c #f #HLK1 #Hf #f1 #Hf2 -elim (lreq_drops_trans_next … (lreq_sym … HL12) … HLK1 … Hf2) // -L1 -f2 -Hf + ∃∃K2. ⬇*[b,f] L2 ≡ K2.ⓑ{I}V & K1 ≡[f1] K2. +#f2 #L1 #L2 #HL12 #b #f #I #K1 #V #HLK1 #Hf #f1 #Hf2 +elim (lreq_drops_trans_next … (lreq_sym … HL12) … HLK1 … Hf2) // -f2 -L1 -Hf /3 width=3 by lreq_sym, ex2_intro/ qed-. -lemma drops_lreq_trans_next: ∀K1,K2,f1. K1 ≡[f1] K2 → - ∀I,L1,V,c,f. ⬇*[c,f] L1.ⓑ{I}V ≡ K1 → +lemma drops_lreq_trans_next: ∀f1,K1,K2. K1 ≡[f1] K2 → + ∀b,f,I,L1,V. ⬇*[b,f] L1.ⓑ{I}V ≡ K1 → ∀f2. f ⊚ f1 ≡ ⫯f2 → - ∃∃L2. ⬇*[c,f] L2.ⓑ{I}V ≡ K2 & L1 ≡[f2] L2 & L1.ⓑ{I}V≡[f]L2.ⓑ{I}V. -#K1 #K2 #f1 #HK12 #I #L1 #V #c #f #HLK1 #f2 #Hf2 -elim (drops_lexs_trans_next … HK12 … HLK1 … Hf2) -K1 -f1 + ∃∃L2. ⬇*[b,f] L2.ⓑ{I}V ≡ K2 & L1 ≡[f2] L2 & L1.ⓑ{I}V≡[f]L2.ⓑ{I}V. +#f1 #K1 #K2 #HK12 #b #f #I #L1 #V #HLK1 #f2 #Hf2 +elim (drops_lexs_trans_next … HK12 … HLK1 … Hf2) -f1 -K1 /2 width=6 by cfull_lift, ceq_lift, cfull_refl, ceq_refl, ex3_intro/ qed-.