[ #f #Hf #_ #f2 #X #H #f1 #Hf2 >(sex_inv_atom1 … H) -X
/4 width=3 by sex_atom, drops_atom, ex2_intro/
| #f #I1 #L1 #K1 #_ #IH #Hf #f2 #X #H #f1 #Hf2
- elim (coafter_inv_nxx … Hf2) -Hf2 [2,3: // ] #g2 #Hg2 #H2 destruct
+ elim (pr_coafter_inv_next_sn … Hf2) -Hf2 [2,3: // ] #g2 #Hg2 #H2 destruct
elim (sex_inv_push1 … H) -H #I2 #L2 #HL12 #HI12 #H destruct
elim (IH … HL12 … Hg2) -g2
- /3 width=3 by isuni_inv_next, drops_drop, ex2_intro/
+ /3 width=3 by pr_isu_inv_next, drops_drop, ex2_intro/
| #f #I1 #J1 #L1 #K1 #HLK #HJI1 #IH #Hf #f2 #X #H #f1 #Hf2
- lapply (isuni_inv_push … Hf ??) -Hf [3: |*: // ] #Hf
+ lapply (pr_isu_inv_push … Hf ??) -Hf [3: |*: // ] #Hf
lapply (drops_fwd_isid … HLK … Hf) -HLK #H0 destruct
lapply (liftsb_fwd_isid … HJI1 … Hf) -HJI1 #H0 destruct
- elim (coafter_inv_pxx … Hf2) -Hf2 [1,3:* |*: // ] #g1 #g2 #Hg2 #H1 #H2 destruct
+ elim (pr_coafter_inv_push_sn … Hf2) -Hf2 [1,3:* |*: // ] #g1 #g2 #Hg2 #H1 #H2 destruct
[ elim (sex_inv_push1 … H) | elim (sex_inv_next1 … H) ] -H #I2 #L2 #HL12 #HI12 #H destruct
- elim (IH … HL12 … Hg2) -g2 -IH /2 width=1 by isuni_isid/ #K2 #HK12 #HLK2
+ elim (IH … HL12 … Hg2) -g2 -IH /2 width=1 by pr_isu_isi/ #K2 #HK12 #HLK2
lapply (drops_fwd_isid … HLK2 … Hf) -HLK2 #H0 destruct
- /4 width=3 by drops_refl, sex_next, sex_push, isid_push, ex2_intro/
+ /4 width=3 by drops_refl, sex_next, sex_push, pr_isi_push, ex2_intro/
]
qed-.
f ~⊚ f1 ≘ f2 → L1 ⪤[RN,RP,f2] L2.
#RN #RP #HRN #HRP #f2 #L1 #L2 #H elim H -f2 -L1 -L2 //
#g2 #I1 #I2 #L1 #L2 #HL12 #HI12 #IH #f1 #Y1 #Y2 #HK12 #b #f #HY1 #HY2 #H
-[ elim (coafter_inv_xxn … H) [ |*: // ] -H #g #g1 #Hg2 #H1 #H2 destruct
+[ elim (pr_coafter_inv_next … H) [ |*: // ] -H #g #g1 #Hg2 #H1 #H2 destruct
elim (drops_inv_skip1 … HY1) -HY1 #J1 #K1 #HLK1 #HJI1 #H destruct
elim (drops_inv_skip1 … HY2) -HY2 #J2 #K2 #HLK2 #HJI2 #H destruct
elim (sex_inv_next … HK12) -HK12 #HK12 #HJ12
elim (HRN … HJ12 … HLK1 … HJI1) -HJ12 -HJI1 #Z #Hz
>(liftsb_mono … Hz … HJI2) -Z /3 width=9 by sex_next/
-| elim (coafter_inv_xxp … H) [1,2: |*: // ] -H *
+| elim (pr_coafter_inv_push … H) [1,2: |*: // ] -H *
[ #g #g1 #Hg2 #H1 #H2 destruct
elim (drops_inv_skip1 … HY1) -HY1 #J1 #K1 #HLK1 #HJI1 #H destruct
elim (drops_inv_skip1 … HY2) -HY2 #J2 #K2 #HLK2 #HJI2 #H destruct
[ #f #Hf #X #f1 #H #f2 #Hf2 >(sex_inv_atom1 … H) -X
/4 width=4 by drops_atom, sex_atom, ex3_intro/
| #f #I1 #L1 #K1 #_ #IHLK1 #K2 #f1 #HK12 #f2 #Hf2
- elim (coafter_inv_nxx … Hf2) -Hf2 [2,3: // ] #g2 #Hg2 #H destruct
+ elim (pr_coafter_inv_next_sn … Hf2) -Hf2 [2,3: // ] #g2 #Hg2 #H destruct
elim (IHLK1 … HK12 … Hg2) -K1
/3 width=6 by drops_drop, sex_next, sex_push, ex3_intro/
| #f #I1 #J1 #L1 #K1 #HLK1 #HJI1 #IHLK1 #X #f1 #H #f2 #Hf2
- elim (coafter_inv_pxx … Hf2) -Hf2 [1,3: * |*: // ] #g1 #g2 #Hg2 #H1 #H2 destruct
+ elim (pr_coafter_inv_push_sn … Hf2) -Hf2 [1,3: * |*: // ] #g1 #g2 #Hg2 #H1 #H2 destruct
[ elim (sex_inv_push1 … H) | elim (sex_inv_next1 … H) ] -H #J2 #K2 #HK12 #HJ12 #H destruct
[ elim (H2RP … HJ12 … HLK1 … HJI1) | elim (H2RN … HJ12 … HLK1 … HJI1) ] -J1
elim (IHLK1 … HK12 … Hg2) -K1
[ #f #Hf #_ #f2 #X #H #f1 #Hf2 lapply (sex_inv_atom2 … H) -H
#H destruct /4 width=3 by sex_atom, drops_atom, ex2_intro/
| #f #I2 #L2 #K2 #_ #IH #Hf #f2 #X #HX #f1 #Hf2
- elim (coafter_inv_nxx … Hf2) -Hf2 [2,3: // ] #g2 #Hg2 #H destruct
+ elim (pr_coafter_inv_next_sn … Hf2) -Hf2 [2,3: // ] #g2 #Hg2 #H destruct
elim (sex_inv_push2 … HX) -HX #I1 #L1 #HL12 #HI12 #H destruct
elim (IH … HL12 … Hg2) -L2 -I2 -g2
- /3 width=3 by drops_drop, isuni_inv_next, ex2_intro/
+ /3 width=3 by drops_drop, pr_isu_inv_next, ex2_intro/
| #f #I2 #J2 #L2 #K2 #_ #HJI2 #IH #Hf #f2 #X #HX #f1 #Hf2
- elim (coafter_inv_pxx … Hf2) -Hf2 [1,3: * |*: // ] #g1 #g2 #Hg2 #H1 #H2 destruct
+ elim (pr_coafter_inv_push_sn … Hf2) -Hf2 [1,3: * |*: // ] #g1 #g2 #Hg2 #H1 #H2 destruct
[ elim (sex_inv_push2 … HX) | elim (sex_inv_next2 … HX) ] -HX #I1 #L1 #HL12 #HI12 #H destruct
- elim (IH … HL12 … Hg2) -L2 -g2 /2 width=3 by isuni_fwd_push/ #K1 #HLK1 #HK12
- lapply (isuni_inv_push … Hf ??) -Hf [3,6: |*: // ] #Hf
+ elim (IH … HL12 … Hg2) -L2 -g2 /2 width=3 by pr_isu_fwd_push/ #K1 #HLK1 #HK12
+ lapply (pr_isu_inv_push … Hf ??) -Hf [3,6: |*: // ] #Hf
lapply (liftsb_fwd_isid … HJI2 … Hf) #H destruct -HJI2
lapply (drops_fwd_isid … HLK1 … Hf) #H destruct -HLK1
- /4 width=5 by sex_next, sex_push, drops_refl, isid_push, ex2_intro/
+ /4 width=5 by sex_next, sex_push, drops_refl, pr_isi_push, ex2_intro/
]
qed-.
[ #f1 #_ #L2 #H #f2 #_
lapply (sex_inv_atom1 … H) -H #H destruct
/2 width=3 by sex_atom, ex2_intro/
-| #K1 #I1 #IH #f1 elim (pn_split f1) * #g1 #H destruct
+| #K1 #I1 #IH #f1 elim (pr_map_split_tl f1) * #g1 #H destruct
#HR #L2 #H #f2 #Hf
[ elim (sex_inv_push1 … H) -H #I2 #K2 #HK12 #HI12 #H destruct
- elim (sdj_inv_px … Hf ??) -Hf [1,3: * |*: // ] #g2 #Hg #H destruct
+ elim (pr_sdj_inv_push_sn … Hf ??) -Hf [1,3: * |*: // ] #g2 #Hg #H destruct
elim (IH … HK12 … Hg) -IH -HK12 -Hg
[1,3: /3 width=5 by sex_next, sex_push, ex2_intro/
|2,4: /3 width=3 by drops_drop/
]
| elim (sex_inv_next1 … H) -H #I2 #K2 #HK12 #HI12 #H destruct
- elim (sdj_inv_nx … Hf ??) -Hf [|*: // ] #g2 #Hg #H destruct
+ elim (pr_sdj_inv_next_sn … Hf ??) -Hf [|*: // ] #g2 #Hg #H destruct
elim (IH … HK12 … Hg) -IH -HK12 -Hg
[ /5 width=11 by sex_next, sex_push, drops_refl, ex2_intro/
| /3 width=3 by drops_drop/