(* Forward lemmas with restricted refinement for local environments *********)
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.
+ â\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, pr_isd_inv_next/
[ #f1 #f2 #I1 #I2 #L1 #L2 #_ #_ #H
(* 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â\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«.
+ â\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, pr_isi_inv_eq_repl/
| #I #L1 #L2 | #L1 #L2 #V #W | #I1 #I2 #L1 #L2 #V
qed.
lemma lsubr_lsubf:
- â\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«.
+ â\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/