(* Forward lemmas with restricted refinement for local environments *********)
-lemma lsubf_fwd_lsubr_isdiv:
- â\88\80f1,f2,L1,L2. â¦\83L1,f1â¦\84 â«\83ð\9d\90\85+ â¦\83L2,f2â¦\84 â\86\92 ð\9d\9b\80â¦\83f1â¦\84 â\86\92 ð\9d\9b\80â¦\83f2â¦\84 → L1 ⫃ L2.
+lemma lsubf_fwd_lsubr_isdiv:
+ â\88\80f1,f2,L1,L2. â\9dªL1,f1â\9d« â«\83ð\9d\90\85+ â\9dªL2,f2â\9d« â\86\92 ð\9d\9b\80â\9dªf1â\9d« â\86\92 ð\9d\9b\80â\9dªf2â\9d« → L1 ⫃ L2.
#f1 #f2 #L1 #L2 #H elim H -f1 -f2 -L1 -L2
-/4 width=3 by lsubr_bind, isdiv_inv_next/
+/4 width=3 by lsubr_bind, pr_isd_inv_next/
[ #f1 #f2 #I1 #I2 #L1 #L2 #_ #_ #H
- elim (isdiv_inv_push … H) //
-| /5 width=5 by lsubf_fwd_sle, lsubr_beta, sle_inv_isdiv_sn, isdiv_inv_next/
-| /5 width=5 by lsubf_fwd_sle, lsubr_unit, sle_inv_isdiv_sn, isdiv_inv_next/
+ elim (pr_isd_inv_push … H) //
+| /5 width=5 by lsubf_fwd_sle, lsubr_beta, pr_sle_inv_isd_sn, pr_isd_inv_next/
+| /5 width=5 by lsubf_fwd_sle, lsubr_unit, pr_sle_inv_isd_sn, pr_isd_inv_next/
]
qed-.
(* Properties with restricted refinement for local environments *************)
lemma lsubr_lsubf_isid:
- â\88\80L1,L2. L1 â«\83 L2 â\86\92 â\88\80f1,f2. ð\9d\90\88â¦\83f1â¦\84 â\86\92 ð\9d\90\88â¦\83f2â¦\84 â\86\92 â¦\83L1,f1â¦\84 â«\83ð\9d\90\85+ â¦\83L2,f2â¦\84.
+ â\88\80L1,L2. L1 â«\83 L2 â\86\92 â\88\80f1,f2. ð\9d\90\88â\9dªf1â\9d« â\86\92 ð\9d\90\88â\9dªf2â\9d« â\86\92 â\9dªL1,f1â\9d« â«\83ð\9d\90\85+ â\9dªL2,f2â\9d«.
#L1 #L2 #H elim H -L1 -L2
-[ /3 width=1 by lsubf_atom, isid_inv_eq_repl/
+[ /3 width=1 by lsubf_atom, pr_isi_inv_eq_repl/
| #I #L1 #L2 | #L1 #L2 #V #W | #I1 #I2 #L1 #L2 #V
]
#_ #IH #f1 #f2 #Hf1 #Hf2
-elim (isid_inv_gen … Hf1) -Hf1 #g1 #Hg1 #H destruct
-elim (isid_inv_gen … Hf2) -Hf2 #g2 #Hg2 #H destruct
+elim (pr_isi_inv_gen … Hf1) -Hf1 #g1 #Hg1 #H destruct
+elim (pr_isi_inv_gen … Hf2) -Hf2 #g2 #Hg2 #H destruct
/3 width=1 by lsubf_push/
qed.
lemma lsubr_lsubf:
- â\88\80f2,L2,T. L2 â\8a¢ ð\9d\90\85+â¦\83Tâ¦\84 ≘ f2 → ∀L1. L1 ⫃ L2 →
- â\88\80f1. L1 â\8a¢ ð\9d\90\85+â¦\83Tâ¦\84 â\89\98 f1 â\86\92 â¦\83L1,f1â¦\84 â«\83ð\9d\90\85+ â¦\83L2,f2â¦\84.
+ â\88\80f2,L2,T. L2 â\8a¢ ð\9d\90\85+â\9dªTâ\9d« ≘ f2 → ∀L1. L1 ⫃ L2 →
+ â\88\80f1. L1 â\8a¢ ð\9d\90\85+â\9dªTâ\9d« â\89\98 f1 â\86\92 â\9dªL1,f1â\9d« â«\83ð\9d\90\85+ â\9dªL2,f2â\9d«.
#f2 #L2 #T #H elim H -f2 -L2 -T
[ #f2 #L2 #s #Hf2 #L1 #HL12 #f1 #Hf1
lapply (frees_inv_sort … Hf1) -Hf1 /2 width=1 by lsubr_lsubf_isid/
| #f2 #i #Hf2 #Y1 #HY1
>(lsubr_inv_atom2 … HY1) -Y1 #g1 #Hg1
elim (frees_inv_atom … Hg1) -Hg1 #f1 #Hf1 #H destruct
- /5 width=5 by lsubf_atom, isid_inv_eq_repl, pushs_eq_repl, eq_next/
+ /5 width=5 by lsubf_atom, pr_isi_inv_eq_repl, pr_pushs_eq_repl, pr_eq_next/
| #f2 #Z #L2 #W #_ #IH #Y1 #HY1 #g1 #Hg1 elim (lsubr_inv_pair2 … HY1) -HY1 *
[ #L1 #HL12 #H destruct
elim (frees_inv_pair … Hg1) -Hg1 #f1 #Hf1 #H destruct
/3 width=1 by lsubf_bind, lsubr_lsubf_isid/
| #I #L1 #V #HL12 #H destruct
elim (frees_inv_pair … Hg1) -Hg1 #f1 #Hf1 #H destruct
- /3 width=5 by lsubf_unit, sor_isid_sn, lsubr_lsubf_isid/
+ /3 width=5 by lsubf_unit, pr_sor_isi_sn, lsubr_lsubf_isid/
]
| #f2 #I2 #L2 #i #_ #IH #Y1 #HY1 #g1 #Hg1
elim (lsubr_fwd_bind2 … HY1) -HY1 #I1 #L1 #HL12 #H destruct