X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fstatic_2%2Fstatic%2Fgcp_aaa.ma;h=40e757ad62b4c9bd4445c6e82a1cfd5b492ace06;hb=98e786e1a6bd7b621e37ba7cd4098d4a0a6f8278;hp=7fa84f9fbc09280f229c6f30b09d8992d8336930;hpb=b4283c079ed7069016b8d924bbc7e08872440829;p=helm.git diff --git a/matita/matita/contribs/lambdadelta/static_2/static/gcp_aaa.ma b/matita/matita/contribs/lambdadelta/static_2/static/gcp_aaa.ma index 7fa84f9fb..40e757ad6 100644 --- a/matita/matita/contribs/lambdadelta/static_2/static/gcp_aaa.ma +++ b/matita/matita/contribs/lambdadelta/static_2/static/gcp_aaa.ma @@ -20,11 +20,11 @@ include "static_2/static/lsubc_drops.ma". (* Main properties **********************************************************) (* Basic_1: was: sc3_arity_csubc *) -theorem acr_aaa_csubc_lifts: ∀RR,RS,RP. - gcp RR RS RP → gcr RR RS RP RP → - ∀G,L1,T,A. ⦃G,L1⦄ ⊢ T ⁝ A → ∀b,f,L0. ⬇*[b,f] L0 ≘ L1 → - ∀T0. ⬆*[f] T ≘ T0 → ∀L2. G ⊢ L2 ⫃[RP] L0 → - ⦃G,L2,T0⦄ ϵ[RP] 〚A〛. +theorem acr_aaa_lsubc_lifts (RR) (RS) (RP): + gcp RR RS RP → gcr RR RS RP RP → + ∀G,L1,T,A. ❪G,L1❫ ⊢ T ⁝ A → ∀b,f,L0. ⇩*[b,f] L0 ≘ L1 → + ∀T0. ⇧*[f] T ≘ T0 → ∀L2. G ⊢ L2 ⫃[RP] L0 → + ❪G,L2,T0❫ ϵ ⟦A⟧[RP]. #RR #RS #RP #H1RP #H2RP #G #L1 #T @(fqup_wf_ind_eq (Ⓣ) … G L1 T) -G -L1 -T #Z #Y #X #IH #G #L1 * [ * | * [ #p ] * ] [ #s #HG #HL #HT #A #HA #b #f #L0 #HL01 #X0 #H0 #L2 #HL20 destruct -IH @@ -37,11 +37,11 @@ theorem acr_aaa_csubc_lifts: ∀RR,RS,RP. elim (lifts_inv_lref1 … H0) -H0 #j #Hf #H destruct lapply (acr_gcr … H1RP H2RP A) #HA lapply (drops_trans … HL01 … HLK1 ??) -HL01 [3: |*: // ] #H - elim (drops_split_trans … H) -H [ |*: /2 width=6 by after_uni_dx/ ] #Y #HLK0 #HY + elim (drops_split_trans … H) -H [ |*: /2 width=6 by pr_after_nat_uni/ ] #Y #HLK0 #HY lapply (drops_tls_at … Hf … HY) -Hf -HY #HY elim (drops_inv_skip2 … HY) -HY #Z #K0 #HK01 #HZ #H destruct elim (liftsb_inv_pair_sn … HZ) -HZ #V0 #HV10 #H destruct - elim (lifts_total V0 (𝐔❴↑j❵)) #V #HV0 + elim (lifts_total V0 (𝐔❨↑j❩)) #V #HV0 elim (lsubc_drops_trans_isuni … HL20 … HLK0) -HL20 -HLK0 // #Y #HLK2 #H elim (lsubc_inv_bind2 … H) -H * [ #K2 #HK20 #H destruct @@ -52,7 +52,7 @@ theorem acr_aaa_csubc_lifts: ∀RR,RS,RP. lapply (drops_isuni_fwd_drop2 … HLK2) // #HLK2b lapply (aaa_lifts … HKV1 … HK01 … HV10) -HKV1 -HK01 -HV10 #HKV0A lapply (aaa_mono … HKV0B … HKV0A) #H destruct -HKV0B -HKV0A - elim (lifts_total V2 (𝐔❴↑j❵)) #V3 #HV23 + elim (lifts_total V2 (𝐔❨↑j❩)) #V3 #HV23 lapply (s5 … HA … G … (Ⓔ) … (ⓝW2.V2) (ⓝV.V3) ????) [3: |*: /2 width=9 by drops_inv_gen, lifts_flat/ ] -HLK2 lapply (s7 … HA G L2 (Ⓔ)) -HA /3 width=7 by acr_lifts/ @@ -90,12 +90,14 @@ theorem acr_aaa_csubc_lifts: ∀RR,RS,RP. qed. (* Basic_1: was: sc3_arity *) -lemma acr_aaa: ∀RR,RS,RP. gcp RR RS RP → gcr RR RS RP RP → - ∀G,L,T,A. ⦃G,L⦄ ⊢ T ⁝ A → ⦃G,L,T⦄ ϵ[RP] 〚A〛. -/3 width=9 by drops_refl, lifts_refl, acr_aaa_csubc_lifts/ qed. +lemma acr_aaa (RR) (RS) (RP): + gcp RR RS RP → gcr RR RS RP RP → + ∀G,L,T,A. ❪G,L❫ ⊢ T ⁝ A → ❪G,L,T❫ ϵ ⟦A⟧[RP]. +/3 width=9 by drops_refl, lifts_refl, acr_aaa_lsubc_lifts/ qed. -lemma gcr_aaa: ∀RR,RS,RP. gcp RR RS RP → gcr RR RS RP RP → - ∀G,L,T,A. ⦃G,L⦄ ⊢ T ⁝ A → RP G L T. +lemma gcr_aaa (RR) (RS) (RP): + gcp RR RS RP → gcr RR RS RP RP → + ∀G,L,T,A. ❪G,L❫ ⊢ T ⁝ A → RP G L T. #RR #RS #RP #H1RP #H2RP #G #L #T #A #HT lapply (acr_gcr … H1RP H2RP A) #HA @(s1 … HA) /2 width=4 by acr_aaa/