X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fstatic_2%2Fstatic%2Flsubf.ma;h=8e63f58d2731c9390fe1ae767dca6e9ad6effec5;hb=dc605ae41c39773f55381f241b1ed3db4acf5edd;hp=95cec9a8770af3854146b8f83915535b84073bc5;hpb=68b4f2490c12139c03760b39895619e63b0f38c9;p=helm.git diff --git a/matita/matita/contribs/lambdadelta/static_2/static/lsubf.ma b/matita/matita/contribs/lambdadelta/static_2/static/lsubf.ma index 95cec9a87..8e63f58d2 100644 --- a/matita/matita/contribs/lambdadelta/static_2/static/lsubf.ma +++ b/matita/matita/contribs/lambdadelta/static_2/static/lsubf.ma @@ -270,7 +270,7 @@ qed-. (* Basic forward lemmas *****************************************************) lemma lsubf_fwd_bind_tl: - ∀f1,f2,I,L1,L2. ❪L1.ⓘ[I],f1❫ ⫃𝐅+ ❪L2.ⓘ[I],f2❫ → ❪L1,⫱f1❫ ⫃𝐅+ ❪L2,⫱f2❫. + ∀f1,f2,I,L1,L2. ❪L1.ⓘ[I],f1❫ ⫃𝐅+ ❪L2.ⓘ[I],f2❫ → ❪L1,⫰f1❫ ⫃𝐅+ ❪L2,⫰f2❫. #f1 #f2 #I #L1 #L2 #H elim (pn_split f1) * #g1 #H0 destruct [ elim (lsubf_inv_push_sn … H) | elim (lsubf_inv_bind_sn … H) ] -H @@ -360,8 +360,8 @@ lemma lsubf_refl_eq: ∀f1,f2,L. f1 ≡ f2 → ❪L,f1❫ ⫃𝐅+ ❪L,f2❫. /2 width=3 by lsubf_eq_repl_back2/ qed. lemma lsubf_bind_tl_dx: - ∀g1,f2,I,L1,L2. ❪L1,g1❫ ⫃𝐅+ ❪L2,⫱f2❫ → - ∃∃f1. ❪L1.ⓘ[I],f1❫ ⫃𝐅+ ❪L2.ⓘ[I],f2❫ & g1 = ⫱f1. + ∀g1,f2,I,L1,L2. ❪L1,g1❫ ⫃𝐅+ ❪L2,⫰f2❫ → + ∃∃f1. ❪L1.ⓘ[I],f1❫ ⫃𝐅+ ❪L2.ⓘ[I],f2❫ & g1 = ⫰f1. #g1 #f2 #I #L1 #L2 #H elim (pn_split f2) * #g2 #H2 destruct @ex2_intro [1,2,4,5: /2 width=2 by lsubf_push, lsubf_bind/ ] // (**) (* constructor needed *) @@ -369,8 +369,8 @@ qed-. lemma lsubf_beta_tl_dx: ∀f,f0,g1,L1,V. L1 ⊢ 𝐅+❪V❫ ≘ f → f0 ⋓ f ≘ g1 → - ∀f2,L2,W. ❪L1,f0❫ ⫃𝐅+ ❪L2,⫱f2❫ → - ∃∃f1. ❪L1.ⓓⓝW.V,f1❫ ⫃𝐅+ ❪L2.ⓛW,f2❫ & ⫱f1 ⊆ g1. + ∀f2,L2,W. ❪L1,f0❫ ⫃𝐅+ ❪L2,⫰f2❫ → + ∃∃f1. ❪L1.ⓓⓝW.V,f1❫ ⫃𝐅+ ❪L2.ⓛW,f2❫ & ⫰f1 ⊆ g1. #f #f0 #g1 #L1 #V #Hf #Hg1 #f2 elim (pn_split f2) * #x2 #H2 #L2 #W #HL12 destruct [ /3 width=4 by lsubf_push, sor_inv_sle_sn, ex2_intro/