X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;ds=sidebyside;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fground_2%2Frelocation%2Frtmap_after.ma;h=a28f7b384a76697ad88453e5b109db45731a4b2e;hb=528f8ea107f689d07d060e1d31ba32bf65b4e6ba;hp=a00a10d1696d858896f005f9800cbc240d97b9f1;hpb=384b04944ac31922ee41418b106b8e19a19ba9f0;p=helm.git diff --git a/matita/matita/contribs/lambdadelta/ground_2/relocation/rtmap_after.ma b/matita/matita/contribs/lambdadelta/ground_2/relocation/rtmap_after.ma index a00a10d16..a28f7b384 100644 --- a/matita/matita/contribs/lambdadelta/ground_2/relocation/rtmap_after.ma +++ b/matita/matita/contribs/lambdadelta/ground_2/relocation/rtmap_after.ma @@ -1,3 +1,4 @@ + (**************************************************************************) (* ___ *) (* ||M|| *) @@ -161,7 +162,7 @@ qed-. (* Basic properties *********************************************************) -corec lemma after_eq_repl_back_2: ∀f1,f. eq_repl_back (λf2. f2 ⊚ f1 ≡ f). +corec lemma after_eq_repl_back2: ∀f1,f. eq_repl_back (λf2. f2 ⊚ f1 ≡ f). #f1 #f #f2 * -f2 -f1 -f #f21 #f1 #f #g21 [1,2: #g1 ] #g #Hf #H21 [1,2: #H1 ] #H #g22 #H0 [ cases (eq_inv_px … H0 … H21) -g21 /3 width=7 by after_refl/ @@ -170,11 +171,11 @@ corec lemma after_eq_repl_back_2: ∀f1,f. eq_repl_back (λf2. f2 ⊚ f1 ≡ f). ] qed-. -lemma after_eq_repl_fwd_2: ∀f1,f. eq_repl_fwd (λf2. f2 ⊚ f1 ≡ f). -#f1 #f @eq_repl_sym /2 width=3 by after_eq_repl_back_2/ +lemma after_eq_repl_fwd2: ∀f1,f. eq_repl_fwd (λf2. f2 ⊚ f1 ≡ f). +#f1 #f @eq_repl_sym /2 width=3 by after_eq_repl_back2/ qed-. -corec lemma after_eq_repl_back_1: ∀f2,f. eq_repl_back (λf1. f2 ⊚ f1 ≡ f). +corec lemma after_eq_repl_back1: ∀f2,f. eq_repl_back (λf1. f2 ⊚ f1 ≡ f). #f2 #f #f1 * -f2 -f1 -f #f2 #f11 #f #g2 [1,2: #g11 ] #g #Hf #H2 [1,2: #H11 ] #H #g2 #H0 [ cases (eq_inv_px … H0 … H11) -g11 /3 width=7 by after_refl/ @@ -183,21 +184,21 @@ corec lemma after_eq_repl_back_1: ∀f2,f. eq_repl_back (λf1. f2 ⊚ f1 ≡ f). ] qed-. -lemma after_eq_repl_fwd_1: ∀f2,f. eq_repl_fwd (λf1. f2 ⊚ f1 ≡ f). -#f2 #f @eq_repl_sym /2 width=3 by after_eq_repl_back_1/ +lemma after_eq_repl_fwd1: ∀f2,f. eq_repl_fwd (λf1. f2 ⊚ f1 ≡ f). +#f2 #f @eq_repl_sym /2 width=3 by after_eq_repl_back1/ qed-. -corec lemma after_eq_repl_back_0: ∀f1,f2. eq_repl_back (λf. f2 ⊚ f1 ≡ f). +corec lemma after_eq_repl_back0: ∀f1,f2. eq_repl_back (λf. f2 ⊚ f1 ≡ f). #f2 #f1 #f * -f2 -f1 -f #f2 #f1 #f01 #g2 [1,2: #g1 ] #g01 #Hf01 #H2 [1,2: #H1 ] #H01 #g02 #H0 [ cases (eq_inv_px … H0 … H01) -g01 /3 width=7 by after_refl/ | cases (eq_inv_nx … H0 … H01) -g01 /3 width=7 by after_push/ -| cases (eq_inv_nx … H0 … H01) -g01 /3 width=5 by after_next/ +| cases (eq_inv_nx … H0 … H01) -g01 /3 width=5 by after_next/ ] qed-. -lemma after_eq_repl_fwd_0: ∀f2,f1. eq_repl_fwd (λf. f2 ⊚ f1 ≡ f). -#f2 #f1 @eq_repl_sym /2 width=3 by after_eq_repl_back_0/ +lemma after_eq_repl_fwd0: ∀f2,f1. eq_repl_fwd (λf. f2 ⊚ f1 ≡ f). +#f2 #f1 @eq_repl_sym /2 width=3 by after_eq_repl_back0/ qed-. (* Main properties **********************************************************) @@ -263,38 +264,40 @@ qed-. lemma after_mono_eq: ∀f1,f2,f. f1 ⊚ f2 ≡ f → ∀g1,g2,g. g1 ⊚ g2 ≡ g → f1 ≗ g1 → f2 ≗ g2 → f ≗ g. -/4 width=4 by after_mono, after_eq_repl_back_1, after_eq_repl_back_2/ qed-. +/4 width=4 by after_mono, after_eq_repl_back1, after_eq_repl_back2/ qed-. (* Properties on tls ********************************************************) lemma after_tls: ∀n,f1,f2,f. @⦃0, f1⦄ ≡ n → f1 ⊚ f2 ≡ f → ⫱*[n]f1 ⊚ f2 ≡ ⫱*[n]f. #n elim n -n // -#n #IH #f1 #f2 #f #Hf1 #Hf cases (at_inv_pxn … Hf1) -Hf1 [ |*: // ] -#g1 #Hg1 #H1 cases (after_inv_nxx … Hf … H1) -Hf /2 width=1 by/ +#n #IH #f1 #f2 #f #Hf1 #Hf +cases (at_inv_pxn … Hf1) -Hf1 [ |*: // ] #g1 #Hg1 #H1 +cases (after_inv_nxx … Hf … H1) -Hf #g #Hg #H0 destruct +