]> matita.cs.unibo.it Git - helm.git/blobdiff - matita/matita/contribs/lambdadelta/ground_2/relocation/rtmap_isid.ma
- new syntax for let rec/corec with flavor specifier (tested on lambdadelta/ground_2/)
[helm.git] / matita / matita / contribs / lambdadelta / ground_2 / relocation / rtmap_isid.ma
index cfe2b37717e586fb7298d4492278f71044127973..7dde16d0f6472eaecab351bd21eebb8f75d58c53 100644 (file)
@@ -13,7 +13,7 @@
 (**************************************************************************)
 
 include "ground_2/notation/relations/isidentity_1.ma".
-include "ground_2/relocation/rtmap_minus.ma".
+include "ground_2/relocation/rtmap_tls.ma".
 
 (* RELOCATION MAP ***********************************************************)
 
@@ -43,7 +43,9 @@ lemma isid_inv_next: āˆ€g. šˆā¦ƒgā¦„ ā†’ āˆ€f. ā«Æf = g ā†’ āŠ„.
 #f #Hf * -g #g #H elim (discr_next_push ā€¦ H)
 qed-.
 
-let corec isid_inv_eq_repl: āˆ€f1,f2. šˆā¦ƒf1ā¦„ ā†’ šˆā¦ƒf2ā¦„ ā†’ f1 ā‰— f2 ā‰ ?.
+(* Main inversion lemmas ****************************************************)
+
+corec theorem isid_inv_eq_repl: āˆ€f1,f2. šˆā¦ƒf1ā¦„ ā†’ šˆā¦ƒf2ā¦„ ā†’ f1 ā‰— f2.
 #f1 #f2 #H1 #H2
 cases (isid_inv_gen ā€¦ H1) -H1
 cases (isid_inv_gen ā€¦ H2) -H2
@@ -52,7 +54,7 @@ qed-.
 
 (* Basic properties *********************************************************)
 
-let corec isid_eq_repl_back: eq_repl_back ā€¦ isid ā‰ ?.
+corec lemma isid_eq_repl_back: eq_repl_back ā€¦ isid.
 #f1 #H cases (isid_inv_gen ā€¦ H) -H
 #g1 #Hg1 #H1 #f2 #Hf cases (eq_inv_px ā€¦ Hf ā€¦ H1) -f1
 /3 width=3 by isid_push/
@@ -63,11 +65,11 @@ lemma isid_eq_repl_fwd: eq_repl_fwd ā€¦ isid.
 
 (* Alternative definition ***************************************************)
 
-let corec eq_push_isid: āˆ€f. ā†‘f ā‰— f ā†’ šˆā¦ƒfā¦„ ā‰ ?.
+corec lemma eq_push_isid: āˆ€f. ā†‘f ā‰— f ā†’ šˆā¦ƒfā¦„.
 #f #H cases (eq_inv_px ā€¦ H) -H /4 width=3 by isid_push, eq_trans/
 qed.
 
-let corec eq_push_inv_isid: āˆ€f. šˆā¦ƒfā¦„ ā†’ ā†‘f ā‰— f ā‰ ?.
+corec lemma eq_push_inv_isid: āˆ€f. šˆā¦ƒfā¦„ ā†’ ā†‘f ā‰— f.
 #f * -f
 #f #g #Hf #Hg @(eq_push ā€¦ Hg) [2: @eq_push_inv_isid // | skip ]
 @eq_f //