X-Git-Url: http://matita.cs.unibo.it/gitweb/?p=helm.git;a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fground%2Frelocation%2Frtmap_tls.ma;h=e6aea52db0cc50c753bccc5e29162c05b9a9dce3;hp=d4cb4d21644a23794e4f7251fd7ff4963f39ea35;hb=8fdf1af656038d0245eba64ff2531bbe94ce0e9e;hpb=77c9255de3c5f7780aeacd745703a1cc76328a68 diff --git a/matita/matita/contribs/lambdadelta/ground/relocation/rtmap_tls.ma b/matita/matita/contribs/lambdadelta/ground/relocation/rtmap_tls.ma index d4cb4d216..e6aea52db 100644 --- a/matita/matita/contribs/lambdadelta/ground/relocation/rtmap_tls.ma +++ b/matita/matita/contribs/lambdadelta/ground/relocation/rtmap_tls.ma @@ -18,32 +18,35 @@ include "ground/relocation/rtmap_tl.ma". (* RELOCATION MAP ***********************************************************) -rec definition tls (f:rtmap) (n:nat) on n: rtmap ≝ match n with -[ O ⇒ f | S m ⇒ ⫱(tls f m) ]. +definition tls (f:rtmap) (n:nat) ≝ tl^n f. interpretation "tls (rtmap)" 'DropPreds n f = (tls f n). (* Basic properties *********************************************************) -lemma tls_O: ∀f. f = ⫱*[0] f. +lemma tls_O: ∀f. f = ⫱*[𝟎] f. // qed. lemma tls_S: ∀f,n. ⫱ ⫱*[n] f = ⫱*[↑n] f. -// qed. +#f #n @(niter_succ … tl) +qed. lemma tls_eq_repl: ∀n. eq_repl (λf1,f2. ⫱*[n] f1 ≡ ⫱*[n] f2). -#n elim n -n /3 width=1 by tl_eq_repl/ +#n @(nat_ind_succ … n) -n /3 width=1 by tl_eq_repl/ qed. (* Advanced properties ******************************************************) -lemma tls_xn: ∀n,f. ⫱*[n] ⫱f = ⫱*[↑n] f. -#n elim n -n // +lemma tls_swap (n) (f): ⫱ ⫱*[n] f = ⫱*[n] ⫱f. +#f #n @(niter_appl … tl) qed. +lemma tls_xn: ∀n,f. ⫱*[n] ⫱f = ⫱*[↑n] f. +// qed. + (* Properties with pushs ****************************************************) lemma tls_pushs: ∀n,f. f = ⫱*[n] ⫯*[n] f. -#n elim n -n // -#n #IH #f