]> matita.cs.unibo.it Git - helm.git/blobdiff - matita/matita/contribs/lambdadelta/ground_2/relocation/rtmap_sor.ma
- improved lfpr_lfpr
[helm.git] / matita / matita / contribs / lambdadelta / ground_2 / relocation / rtmap_sor.ma
index 2a616742ccafe9f67b238217a9b38bab5aa5cf81..bc2a7dda6efd52eb61c36537bf43a5fdf8484e59 100644 (file)
@@ -323,6 +323,18 @@ qed.
 lemma sor_isid: âˆ€f1,f2,f. đˆâŠƒf1⩄ â†’ đˆâŠƒf2⩄ â†’ đˆâŠƒf⩄ â†’ f1 â‹“ f2 â‰Ą f.
 /4 width=3 by sor_eq_repl_back2, sor_eq_repl_back1, isid_inv_eq_repl/ qed.
 
+(* Inversion lemmas with tail ***********************************************)
+
+lemma sor_inv_tl_sn: âˆ€f1,f2,f. â«±f1 â‹“ f2 â‰Ą f â†’ f1 â‹“ â«Żf2 â‰Ą â«Żf.
+#f1 #f2 #f elim (pn_split f1) *
+#g1 #H destruct /2 width=7 by sor_pn, sor_nn/
+qed-.
+
+lemma sor_inv_tl_dx: âˆ€f1,f2,f. f1 â‹“ â«±f2 â‰Ą f â†’ â«Żf1 â‹“ f2 â‰Ą â«Żf.
+#f1 #f2 #f elim (pn_split f2) *
+#g2 #H destruct /2 width=7 by sor_np, sor_nn/
+qed-.
+
 (* Inversion lemmas with test for identity **********************************)
 
 lemma sor_isid_inv_sn: âˆ€f1,f2,f. f1 â‹“ f2 â‰Ą f â†’ đˆâŠƒf1⩄ â†’ f2 â‰— f.
@@ -438,6 +450,8 @@ lemma sor_inv_sle_sn_trans: âˆ€f1,f2,f. f1 â‹“ f2 â‰Ą f â†’ âˆ€g. g âŠ† f1 â†’ g
 lemma sor_inv_sle_dx_trans: âˆ€f1,f2,f. f1 â‹“ f2 â‰Ą f â†’ âˆ€g. g âŠ† f2 â†’ g âŠ† f.
 /3 width=4 by sor_inv_sle_dx, sle_trans/ qed-.
 
+axiom sor_inv_sle: âˆ€f1,f2,f. f1 â‹“ f2 â‰Ą f â†’ âˆ€g. f1 âŠ† g â†’ f2 âŠ† g â†’ f âŠ† g.
+
 (* Properties with inclusion ************************************************)
 
 corec lemma sor_sle_dx: âˆ€f1,f2. f1 âŠ† f2 â†’ f1 â‹“ f2 â‰Ą f2.