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.
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.