Step |
Hyp |
Ref |
Expression |
1 |
|
estrcbas.c |
⊢ 𝐶 = ( ExtStrCat ‘ 𝑈 ) |
2 |
|
estrcbas.u |
⊢ ( 𝜑 → 𝑈 ∈ 𝑉 ) |
3 |
|
estrcco.o |
⊢ · = ( comp ‘ 𝐶 ) |
4 |
|
estrcco.x |
⊢ ( 𝜑 → 𝑋 ∈ 𝑈 ) |
5 |
|
estrcco.y |
⊢ ( 𝜑 → 𝑌 ∈ 𝑈 ) |
6 |
|
estrcco.z |
⊢ ( 𝜑 → 𝑍 ∈ 𝑈 ) |
7 |
|
estrcco.a |
⊢ 𝐴 = ( Base ‘ 𝑋 ) |
8 |
|
estrcco.b |
⊢ 𝐵 = ( Base ‘ 𝑌 ) |
9 |
|
estrcco.d |
⊢ 𝐷 = ( Base ‘ 𝑍 ) |
10 |
|
estrcco.f |
⊢ ( 𝜑 → 𝐹 : 𝐴 ⟶ 𝐵 ) |
11 |
|
estrcco.g |
⊢ ( 𝜑 → 𝐺 : 𝐵 ⟶ 𝐷 ) |
12 |
1 2 3
|
estrccofval |
⊢ ( 𝜑 → · = ( 𝑣 ∈ ( 𝑈 × 𝑈 ) , 𝑧 ∈ 𝑈 ↦ ( 𝑔 ∈ ( ( Base ‘ 𝑧 ) ↑m ( Base ‘ ( 2nd ‘ 𝑣 ) ) ) , 𝑓 ∈ ( ( Base ‘ ( 2nd ‘ 𝑣 ) ) ↑m ( Base ‘ ( 1st ‘ 𝑣 ) ) ) ↦ ( 𝑔 ∘ 𝑓 ) ) ) ) |
13 |
|
fveq2 |
⊢ ( 𝑧 = 𝑍 → ( Base ‘ 𝑧 ) = ( Base ‘ 𝑍 ) ) |
14 |
13
|
adantl |
⊢ ( ( 𝑣 = 〈 𝑋 , 𝑌 〉 ∧ 𝑧 = 𝑍 ) → ( Base ‘ 𝑧 ) = ( Base ‘ 𝑍 ) ) |
15 |
14
|
adantl |
⊢ ( ( 𝜑 ∧ ( 𝑣 = 〈 𝑋 , 𝑌 〉 ∧ 𝑧 = 𝑍 ) ) → ( Base ‘ 𝑧 ) = ( Base ‘ 𝑍 ) ) |
16 |
|
simprl |
⊢ ( ( 𝜑 ∧ ( 𝑣 = 〈 𝑋 , 𝑌 〉 ∧ 𝑧 = 𝑍 ) ) → 𝑣 = 〈 𝑋 , 𝑌 〉 ) |
17 |
16
|
fveq2d |
⊢ ( ( 𝜑 ∧ ( 𝑣 = 〈 𝑋 , 𝑌 〉 ∧ 𝑧 = 𝑍 ) ) → ( 2nd ‘ 𝑣 ) = ( 2nd ‘ 〈 𝑋 , 𝑌 〉 ) ) |
18 |
|
op2ndg |
⊢ ( ( 𝑋 ∈ 𝑈 ∧ 𝑌 ∈ 𝑈 ) → ( 2nd ‘ 〈 𝑋 , 𝑌 〉 ) = 𝑌 ) |
19 |
4 5 18
|
syl2anc |
⊢ ( 𝜑 → ( 2nd ‘ 〈 𝑋 , 𝑌 〉 ) = 𝑌 ) |
20 |
19
|
adantr |
⊢ ( ( 𝜑 ∧ ( 𝑣 = 〈 𝑋 , 𝑌 〉 ∧ 𝑧 = 𝑍 ) ) → ( 2nd ‘ 〈 𝑋 , 𝑌 〉 ) = 𝑌 ) |
21 |
17 20
|
eqtrd |
⊢ ( ( 𝜑 ∧ ( 𝑣 = 〈 𝑋 , 𝑌 〉 ∧ 𝑧 = 𝑍 ) ) → ( 2nd ‘ 𝑣 ) = 𝑌 ) |
22 |
21
|
fveq2d |
⊢ ( ( 𝜑 ∧ ( 𝑣 = 〈 𝑋 , 𝑌 〉 ∧ 𝑧 = 𝑍 ) ) → ( Base ‘ ( 2nd ‘ 𝑣 ) ) = ( Base ‘ 𝑌 ) ) |
23 |
15 22
|
oveq12d |
⊢ ( ( 𝜑 ∧ ( 𝑣 = 〈 𝑋 , 𝑌 〉 ∧ 𝑧 = 𝑍 ) ) → ( ( Base ‘ 𝑧 ) ↑m ( Base ‘ ( 2nd ‘ 𝑣 ) ) ) = ( ( Base ‘ 𝑍 ) ↑m ( Base ‘ 𝑌 ) ) ) |
24 |
16
|
fveq2d |
⊢ ( ( 𝜑 ∧ ( 𝑣 = 〈 𝑋 , 𝑌 〉 ∧ 𝑧 = 𝑍 ) ) → ( 1st ‘ 𝑣 ) = ( 1st ‘ 〈 𝑋 , 𝑌 〉 ) ) |
25 |
24
|
fveq2d |
⊢ ( ( 𝜑 ∧ ( 𝑣 = 〈 𝑋 , 𝑌 〉 ∧ 𝑧 = 𝑍 ) ) → ( Base ‘ ( 1st ‘ 𝑣 ) ) = ( Base ‘ ( 1st ‘ 〈 𝑋 , 𝑌 〉 ) ) ) |
26 |
|
op1stg |
⊢ ( ( 𝑋 ∈ 𝑈 ∧ 𝑌 ∈ 𝑈 ) → ( 1st ‘ 〈 𝑋 , 𝑌 〉 ) = 𝑋 ) |
27 |
4 5 26
|
syl2anc |
⊢ ( 𝜑 → ( 1st ‘ 〈 𝑋 , 𝑌 〉 ) = 𝑋 ) |
28 |
27
|
fveq2d |
⊢ ( 𝜑 → ( Base ‘ ( 1st ‘ 〈 𝑋 , 𝑌 〉 ) ) = ( Base ‘ 𝑋 ) ) |
29 |
28
|
adantr |
⊢ ( ( 𝜑 ∧ ( 𝑣 = 〈 𝑋 , 𝑌 〉 ∧ 𝑧 = 𝑍 ) ) → ( Base ‘ ( 1st ‘ 〈 𝑋 , 𝑌 〉 ) ) = ( Base ‘ 𝑋 ) ) |
30 |
25 29
|
eqtrd |
⊢ ( ( 𝜑 ∧ ( 𝑣 = 〈 𝑋 , 𝑌 〉 ∧ 𝑧 = 𝑍 ) ) → ( Base ‘ ( 1st ‘ 𝑣 ) ) = ( Base ‘ 𝑋 ) ) |
31 |
22 30
|
oveq12d |
⊢ ( ( 𝜑 ∧ ( 𝑣 = 〈 𝑋 , 𝑌 〉 ∧ 𝑧 = 𝑍 ) ) → ( ( Base ‘ ( 2nd ‘ 𝑣 ) ) ↑m ( Base ‘ ( 1st ‘ 𝑣 ) ) ) = ( ( Base ‘ 𝑌 ) ↑m ( Base ‘ 𝑋 ) ) ) |
32 |
|
eqidd |
⊢ ( ( 𝜑 ∧ ( 𝑣 = 〈 𝑋 , 𝑌 〉 ∧ 𝑧 = 𝑍 ) ) → ( 𝑔 ∘ 𝑓 ) = ( 𝑔 ∘ 𝑓 ) ) |
33 |
23 31 32
|
mpoeq123dv |
⊢ ( ( 𝜑 ∧ ( 𝑣 = 〈 𝑋 , 𝑌 〉 ∧ 𝑧 = 𝑍 ) ) → ( 𝑔 ∈ ( ( Base ‘ 𝑧 ) ↑m ( Base ‘ ( 2nd ‘ 𝑣 ) ) ) , 𝑓 ∈ ( ( Base ‘ ( 2nd ‘ 𝑣 ) ) ↑m ( Base ‘ ( 1st ‘ 𝑣 ) ) ) ↦ ( 𝑔 ∘ 𝑓 ) ) = ( 𝑔 ∈ ( ( Base ‘ 𝑍 ) ↑m ( Base ‘ 𝑌 ) ) , 𝑓 ∈ ( ( Base ‘ 𝑌 ) ↑m ( Base ‘ 𝑋 ) ) ↦ ( 𝑔 ∘ 𝑓 ) ) ) |
34 |
4 5
|
opelxpd |
⊢ ( 𝜑 → 〈 𝑋 , 𝑌 〉 ∈ ( 𝑈 × 𝑈 ) ) |
35 |
|
ovex |
⊢ ( ( Base ‘ 𝑍 ) ↑m ( Base ‘ 𝑌 ) ) ∈ V |
36 |
|
ovex |
⊢ ( ( Base ‘ 𝑌 ) ↑m ( Base ‘ 𝑋 ) ) ∈ V |
37 |
35 36
|
mpoex |
⊢ ( 𝑔 ∈ ( ( Base ‘ 𝑍 ) ↑m ( Base ‘ 𝑌 ) ) , 𝑓 ∈ ( ( Base ‘ 𝑌 ) ↑m ( Base ‘ 𝑋 ) ) ↦ ( 𝑔 ∘ 𝑓 ) ) ∈ V |
38 |
37
|
a1i |
⊢ ( 𝜑 → ( 𝑔 ∈ ( ( Base ‘ 𝑍 ) ↑m ( Base ‘ 𝑌 ) ) , 𝑓 ∈ ( ( Base ‘ 𝑌 ) ↑m ( Base ‘ 𝑋 ) ) ↦ ( 𝑔 ∘ 𝑓 ) ) ∈ V ) |
39 |
12 33 34 6 38
|
ovmpod |
⊢ ( 𝜑 → ( 〈 𝑋 , 𝑌 〉 · 𝑍 ) = ( 𝑔 ∈ ( ( Base ‘ 𝑍 ) ↑m ( Base ‘ 𝑌 ) ) , 𝑓 ∈ ( ( Base ‘ 𝑌 ) ↑m ( Base ‘ 𝑋 ) ) ↦ ( 𝑔 ∘ 𝑓 ) ) ) |
40 |
|
simpl |
⊢ ( ( 𝑔 = 𝐺 ∧ 𝑓 = 𝐹 ) → 𝑔 = 𝐺 ) |
41 |
|
simpr |
⊢ ( ( 𝑔 = 𝐺 ∧ 𝑓 = 𝐹 ) → 𝑓 = 𝐹 ) |
42 |
40 41
|
coeq12d |
⊢ ( ( 𝑔 = 𝐺 ∧ 𝑓 = 𝐹 ) → ( 𝑔 ∘ 𝑓 ) = ( 𝐺 ∘ 𝐹 ) ) |
43 |
42
|
adantl |
⊢ ( ( 𝜑 ∧ ( 𝑔 = 𝐺 ∧ 𝑓 = 𝐹 ) ) → ( 𝑔 ∘ 𝑓 ) = ( 𝐺 ∘ 𝐹 ) ) |
44 |
8
|
a1i |
⊢ ( 𝜑 → 𝐵 = ( Base ‘ 𝑌 ) ) |
45 |
44
|
eqcomd |
⊢ ( 𝜑 → ( Base ‘ 𝑌 ) = 𝐵 ) |
46 |
9
|
a1i |
⊢ ( 𝜑 → 𝐷 = ( Base ‘ 𝑍 ) ) |
47 |
46
|
eqcomd |
⊢ ( 𝜑 → ( Base ‘ 𝑍 ) = 𝐷 ) |
48 |
45 47
|
feq23d |
⊢ ( 𝜑 → ( 𝐺 : ( Base ‘ 𝑌 ) ⟶ ( Base ‘ 𝑍 ) ↔ 𝐺 : 𝐵 ⟶ 𝐷 ) ) |
49 |
11 48
|
mpbird |
⊢ ( 𝜑 → 𝐺 : ( Base ‘ 𝑌 ) ⟶ ( Base ‘ 𝑍 ) ) |
50 |
|
fvexd |
⊢ ( 𝜑 → ( Base ‘ 𝑍 ) ∈ V ) |
51 |
|
fvexd |
⊢ ( 𝜑 → ( Base ‘ 𝑌 ) ∈ V ) |
52 |
50 51
|
elmapd |
⊢ ( 𝜑 → ( 𝐺 ∈ ( ( Base ‘ 𝑍 ) ↑m ( Base ‘ 𝑌 ) ) ↔ 𝐺 : ( Base ‘ 𝑌 ) ⟶ ( Base ‘ 𝑍 ) ) ) |
53 |
49 52
|
mpbird |
⊢ ( 𝜑 → 𝐺 ∈ ( ( Base ‘ 𝑍 ) ↑m ( Base ‘ 𝑌 ) ) ) |
54 |
7
|
a1i |
⊢ ( 𝜑 → 𝐴 = ( Base ‘ 𝑋 ) ) |
55 |
54
|
eqcomd |
⊢ ( 𝜑 → ( Base ‘ 𝑋 ) = 𝐴 ) |
56 |
55 45
|
feq23d |
⊢ ( 𝜑 → ( 𝐹 : ( Base ‘ 𝑋 ) ⟶ ( Base ‘ 𝑌 ) ↔ 𝐹 : 𝐴 ⟶ 𝐵 ) ) |
57 |
10 56
|
mpbird |
⊢ ( 𝜑 → 𝐹 : ( Base ‘ 𝑋 ) ⟶ ( Base ‘ 𝑌 ) ) |
58 |
|
fvexd |
⊢ ( 𝜑 → ( Base ‘ 𝑋 ) ∈ V ) |
59 |
51 58
|
elmapd |
⊢ ( 𝜑 → ( 𝐹 ∈ ( ( Base ‘ 𝑌 ) ↑m ( Base ‘ 𝑋 ) ) ↔ 𝐹 : ( Base ‘ 𝑋 ) ⟶ ( Base ‘ 𝑌 ) ) ) |
60 |
57 59
|
mpbird |
⊢ ( 𝜑 → 𝐹 ∈ ( ( Base ‘ 𝑌 ) ↑m ( Base ‘ 𝑋 ) ) ) |
61 |
|
coexg |
⊢ ( ( 𝐺 ∈ ( ( Base ‘ 𝑍 ) ↑m ( Base ‘ 𝑌 ) ) ∧ 𝐹 ∈ ( ( Base ‘ 𝑌 ) ↑m ( Base ‘ 𝑋 ) ) ) → ( 𝐺 ∘ 𝐹 ) ∈ V ) |
62 |
53 60 61
|
syl2anc |
⊢ ( 𝜑 → ( 𝐺 ∘ 𝐹 ) ∈ V ) |
63 |
39 43 53 60 62
|
ovmpod |
⊢ ( 𝜑 → ( 𝐺 ( 〈 𝑋 , 𝑌 〉 · 𝑍 ) 𝐹 ) = ( 𝐺 ∘ 𝐹 ) ) |