Metamath Proof Explorer


Theorem funcsetcestrclem8

Description: Lemma 8 for funcsetcestrc . (Contributed by AV, 28-Mar-2020)

Ref Expression
Hypotheses funcsetcestrc.s 𝑆 = ( SetCat ‘ 𝑈 )
funcsetcestrc.c 𝐶 = ( Base ‘ 𝑆 )
funcsetcestrc.f ( 𝜑𝐹 = ( 𝑥𝐶 ↦ { ⟨ ( Base ‘ ndx ) , 𝑥 ⟩ } ) )
funcsetcestrc.u ( 𝜑𝑈 ∈ WUni )
funcsetcestrc.o ( 𝜑 → ω ∈ 𝑈 )
funcsetcestrc.g ( 𝜑𝐺 = ( 𝑥𝐶 , 𝑦𝐶 ↦ ( I ↾ ( 𝑦m 𝑥 ) ) ) )
funcsetcestrc.e 𝐸 = ( ExtStrCat ‘ 𝑈 )
Assertion funcsetcestrclem8 ( ( 𝜑 ∧ ( 𝑋𝐶𝑌𝐶 ) ) → ( 𝑋 𝐺 𝑌 ) : ( 𝑋 ( Hom ‘ 𝑆 ) 𝑌 ) ⟶ ( ( 𝐹𝑋 ) ( Hom ‘ 𝐸 ) ( 𝐹𝑌 ) ) )

Proof

Step Hyp Ref Expression
1 funcsetcestrc.s 𝑆 = ( SetCat ‘ 𝑈 )
2 funcsetcestrc.c 𝐶 = ( Base ‘ 𝑆 )
3 funcsetcestrc.f ( 𝜑𝐹 = ( 𝑥𝐶 ↦ { ⟨ ( Base ‘ ndx ) , 𝑥 ⟩ } ) )
4 funcsetcestrc.u ( 𝜑𝑈 ∈ WUni )
5 funcsetcestrc.o ( 𝜑 → ω ∈ 𝑈 )
6 funcsetcestrc.g ( 𝜑𝐺 = ( 𝑥𝐶 , 𝑦𝐶 ↦ ( I ↾ ( 𝑦m 𝑥 ) ) ) )
7 funcsetcestrc.e 𝐸 = ( ExtStrCat ‘ 𝑈 )
8 f1oi ( I ↾ ( 𝑌m 𝑋 ) ) : ( 𝑌m 𝑋 ) –1-1-onto→ ( 𝑌m 𝑋 )
9 f1of ( ( I ↾ ( 𝑌m 𝑋 ) ) : ( 𝑌m 𝑋 ) –1-1-onto→ ( 𝑌m 𝑋 ) → ( I ↾ ( 𝑌m 𝑋 ) ) : ( 𝑌m 𝑋 ) ⟶ ( 𝑌m 𝑋 ) )
10 8 9 mp1i ( ( 𝜑 ∧ ( 𝑋𝐶𝑌𝐶 ) ) → ( I ↾ ( 𝑌m 𝑋 ) ) : ( 𝑌m 𝑋 ) ⟶ ( 𝑌m 𝑋 ) )
11 elmapi ( 𝑓 ∈ ( 𝑌m 𝑋 ) → 𝑓 : 𝑋𝑌 )
12 simpr ( ( 𝜑 ∧ ( 𝑋𝐶𝑌𝐶 ) ) → ( 𝑋𝐶𝑌𝐶 ) )
13 12 ancomd ( ( 𝜑 ∧ ( 𝑋𝐶𝑌𝐶 ) ) → ( 𝑌𝐶𝑋𝐶 ) )
14 elmapg ( ( 𝑌𝐶𝑋𝐶 ) → ( 𝑓 ∈ ( 𝑌m 𝑋 ) ↔ 𝑓 : 𝑋𝑌 ) )
15 13 14 syl ( ( 𝜑 ∧ ( 𝑋𝐶𝑌𝐶 ) ) → ( 𝑓 ∈ ( 𝑌m 𝑋 ) ↔ 𝑓 : 𝑋𝑌 ) )
16 15 biimpar ( ( ( 𝜑 ∧ ( 𝑋𝐶𝑌𝐶 ) ) ∧ 𝑓 : 𝑋𝑌 ) → 𝑓 ∈ ( 𝑌m 𝑋 ) )
17 1 2 3 funcsetcestrclem1 ( ( 𝜑𝑌𝐶 ) → ( 𝐹𝑌 ) = { ⟨ ( Base ‘ ndx ) , 𝑌 ⟩ } )
18 17 fveq2d ( ( 𝜑𝑌𝐶 ) → ( Base ‘ ( 𝐹𝑌 ) ) = ( Base ‘ { ⟨ ( Base ‘ ndx ) , 𝑌 ⟩ } ) )
19 eqid { ⟨ ( Base ‘ ndx ) , 𝑌 ⟩ } = { ⟨ ( Base ‘ ndx ) , 𝑌 ⟩ }
20 19 1strbas ( 𝑌𝐶𝑌 = ( Base ‘ { ⟨ ( Base ‘ ndx ) , 𝑌 ⟩ } ) )
21 20 eqcomd ( 𝑌𝐶 → ( Base ‘ { ⟨ ( Base ‘ ndx ) , 𝑌 ⟩ } ) = 𝑌 )
22 21 adantl ( ( 𝜑𝑌𝐶 ) → ( Base ‘ { ⟨ ( Base ‘ ndx ) , 𝑌 ⟩ } ) = 𝑌 )
23 18 22 eqtrd ( ( 𝜑𝑌𝐶 ) → ( Base ‘ ( 𝐹𝑌 ) ) = 𝑌 )
24 23 adantrl ( ( 𝜑 ∧ ( 𝑋𝐶𝑌𝐶 ) ) → ( Base ‘ ( 𝐹𝑌 ) ) = 𝑌 )
25 1 2 3 funcsetcestrclem1 ( ( 𝜑𝑋𝐶 ) → ( 𝐹𝑋 ) = { ⟨ ( Base ‘ ndx ) , 𝑋 ⟩ } )
26 25 fveq2d ( ( 𝜑𝑋𝐶 ) → ( Base ‘ ( 𝐹𝑋 ) ) = ( Base ‘ { ⟨ ( Base ‘ ndx ) , 𝑋 ⟩ } ) )
27 eqid { ⟨ ( Base ‘ ndx ) , 𝑋 ⟩ } = { ⟨ ( Base ‘ ndx ) , 𝑋 ⟩ }
28 27 1strbas ( 𝑋𝐶𝑋 = ( Base ‘ { ⟨ ( Base ‘ ndx ) , 𝑋 ⟩ } ) )
29 28 adantl ( ( 𝜑𝑋𝐶 ) → 𝑋 = ( Base ‘ { ⟨ ( Base ‘ ndx ) , 𝑋 ⟩ } ) )
30 26 29 eqtr4d ( ( 𝜑𝑋𝐶 ) → ( Base ‘ ( 𝐹𝑋 ) ) = 𝑋 )
31 30 adantrr ( ( 𝜑 ∧ ( 𝑋𝐶𝑌𝐶 ) ) → ( Base ‘ ( 𝐹𝑋 ) ) = 𝑋 )
32 24 31 oveq12d ( ( 𝜑 ∧ ( 𝑋𝐶𝑌𝐶 ) ) → ( ( Base ‘ ( 𝐹𝑌 ) ) ↑m ( Base ‘ ( 𝐹𝑋 ) ) ) = ( 𝑌m 𝑋 ) )
33 32 adantr ( ( ( 𝜑 ∧ ( 𝑋𝐶𝑌𝐶 ) ) ∧ 𝑓 : 𝑋𝑌 ) → ( ( Base ‘ ( 𝐹𝑌 ) ) ↑m ( Base ‘ ( 𝐹𝑋 ) ) ) = ( 𝑌m 𝑋 ) )
34 16 33 eleqtrrd ( ( ( 𝜑 ∧ ( 𝑋𝐶𝑌𝐶 ) ) ∧ 𝑓 : 𝑋𝑌 ) → 𝑓 ∈ ( ( Base ‘ ( 𝐹𝑌 ) ) ↑m ( Base ‘ ( 𝐹𝑋 ) ) ) )
35 34 ex ( ( 𝜑 ∧ ( 𝑋𝐶𝑌𝐶 ) ) → ( 𝑓 : 𝑋𝑌𝑓 ∈ ( ( Base ‘ ( 𝐹𝑌 ) ) ↑m ( Base ‘ ( 𝐹𝑋 ) ) ) ) )
36 11 35 syl5 ( ( 𝜑 ∧ ( 𝑋𝐶𝑌𝐶 ) ) → ( 𝑓 ∈ ( 𝑌m 𝑋 ) → 𝑓 ∈ ( ( Base ‘ ( 𝐹𝑌 ) ) ↑m ( Base ‘ ( 𝐹𝑋 ) ) ) ) )
37 36 ssrdv ( ( 𝜑 ∧ ( 𝑋𝐶𝑌𝐶 ) ) → ( 𝑌m 𝑋 ) ⊆ ( ( Base ‘ ( 𝐹𝑌 ) ) ↑m ( Base ‘ ( 𝐹𝑋 ) ) ) )
38 10 37 fssd ( ( 𝜑 ∧ ( 𝑋𝐶𝑌𝐶 ) ) → ( I ↾ ( 𝑌m 𝑋 ) ) : ( 𝑌m 𝑋 ) ⟶ ( ( Base ‘ ( 𝐹𝑌 ) ) ↑m ( Base ‘ ( 𝐹𝑋 ) ) ) )
39 1 2 3 4 5 6 funcsetcestrclem5 ( ( 𝜑 ∧ ( 𝑋𝐶𝑌𝐶 ) ) → ( 𝑋 𝐺 𝑌 ) = ( I ↾ ( 𝑌m 𝑋 ) ) )
40 4 adantr ( ( 𝜑 ∧ ( 𝑋𝐶𝑌𝐶 ) ) → 𝑈 ∈ WUni )
41 eqid ( Hom ‘ 𝑆 ) = ( Hom ‘ 𝑆 )
42 1 4 setcbas ( 𝜑𝑈 = ( Base ‘ 𝑆 ) )
43 2 42 eqtr4id ( 𝜑𝐶 = 𝑈 )
44 43 eleq2d ( 𝜑 → ( 𝑋𝐶𝑋𝑈 ) )
45 44 biimpd ( 𝜑 → ( 𝑋𝐶𝑋𝑈 ) )
46 45 adantrd ( 𝜑 → ( ( 𝑋𝐶𝑌𝐶 ) → 𝑋𝑈 ) )
47 46 imp ( ( 𝜑 ∧ ( 𝑋𝐶𝑌𝐶 ) ) → 𝑋𝑈 )
48 43 eleq2d ( 𝜑 → ( 𝑌𝐶𝑌𝑈 ) )
49 48 biimpd ( 𝜑 → ( 𝑌𝐶𝑌𝑈 ) )
50 49 adantld ( 𝜑 → ( ( 𝑋𝐶𝑌𝐶 ) → 𝑌𝑈 ) )
51 50 imp ( ( 𝜑 ∧ ( 𝑋𝐶𝑌𝐶 ) ) → 𝑌𝑈 )
52 1 40 41 47 51 setchom ( ( 𝜑 ∧ ( 𝑋𝐶𝑌𝐶 ) ) → ( 𝑋 ( Hom ‘ 𝑆 ) 𝑌 ) = ( 𝑌m 𝑋 ) )
53 eqid ( Hom ‘ 𝐸 ) = ( Hom ‘ 𝐸 )
54 1 2 3 4 5 funcsetcestrclem2 ( ( 𝜑𝑋𝐶 ) → ( 𝐹𝑋 ) ∈ 𝑈 )
55 54 adantrr ( ( 𝜑 ∧ ( 𝑋𝐶𝑌𝐶 ) ) → ( 𝐹𝑋 ) ∈ 𝑈 )
56 1 2 3 4 5 funcsetcestrclem2 ( ( 𝜑𝑌𝐶 ) → ( 𝐹𝑌 ) ∈ 𝑈 )
57 56 adantrl ( ( 𝜑 ∧ ( 𝑋𝐶𝑌𝐶 ) ) → ( 𝐹𝑌 ) ∈ 𝑈 )
58 eqid ( Base ‘ ( 𝐹𝑋 ) ) = ( Base ‘ ( 𝐹𝑋 ) )
59 eqid ( Base ‘ ( 𝐹𝑌 ) ) = ( Base ‘ ( 𝐹𝑌 ) )
60 7 40 53 55 57 58 59 estrchom ( ( 𝜑 ∧ ( 𝑋𝐶𝑌𝐶 ) ) → ( ( 𝐹𝑋 ) ( Hom ‘ 𝐸 ) ( 𝐹𝑌 ) ) = ( ( Base ‘ ( 𝐹𝑌 ) ) ↑m ( Base ‘ ( 𝐹𝑋 ) ) ) )
61 39 52 60 feq123d ( ( 𝜑 ∧ ( 𝑋𝐶𝑌𝐶 ) ) → ( ( 𝑋 𝐺 𝑌 ) : ( 𝑋 ( Hom ‘ 𝑆 ) 𝑌 ) ⟶ ( ( 𝐹𝑋 ) ( Hom ‘ 𝐸 ) ( 𝐹𝑌 ) ) ↔ ( I ↾ ( 𝑌m 𝑋 ) ) : ( 𝑌m 𝑋 ) ⟶ ( ( Base ‘ ( 𝐹𝑌 ) ) ↑m ( Base ‘ ( 𝐹𝑋 ) ) ) ) )
62 38 61 mpbird ( ( 𝜑 ∧ ( 𝑋𝐶𝑌𝐶 ) ) → ( 𝑋 𝐺 𝑌 ) : ( 𝑋 ( Hom ‘ 𝑆 ) 𝑌 ) ⟶ ( ( 𝐹𝑋 ) ( Hom ‘ 𝐸 ) ( 𝐹𝑌 ) ) )