| 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 |
⊢ ( 𝜑 → ( 𝐺 ( 〈 𝑋 , 𝑌 〉 · 𝑍 ) 𝐹 ) = ( 𝐺 ∘ 𝐹 ) ) |