| Step |
Hyp |
Ref |
Expression |
| 1 |
|
cofuswapf1.c |
⊢ ( 𝜑 → 𝐶 ∈ Cat ) |
| 2 |
|
cofuswapf1.d |
⊢ ( 𝜑 → 𝐷 ∈ Cat ) |
| 3 |
|
cofuswapf1.f |
⊢ ( 𝜑 → 𝐹 ∈ ( ( 𝐷 ×c 𝐶 ) Func 𝐸 ) ) |
| 4 |
|
cofuswapf1.g |
⊢ ( 𝜑 → 𝐺 = ( 𝐹 ∘func ( 𝐶 swapF 𝐷 ) ) ) |
| 5 |
|
cofuswapf1.a |
⊢ 𝐴 = ( Base ‘ 𝐶 ) |
| 6 |
|
cofuswapf1.b |
⊢ 𝐵 = ( Base ‘ 𝐷 ) |
| 7 |
|
cofuswapf1.x |
⊢ ( 𝜑 → 𝑋 ∈ 𝐴 ) |
| 8 |
|
cofuswapf1.y |
⊢ ( 𝜑 → 𝑌 ∈ 𝐵 ) |
| 9 |
|
df-ov |
⊢ ( 𝑋 ( 1st ‘ 𝐺 ) 𝑌 ) = ( ( 1st ‘ 𝐺 ) ‘ 〈 𝑋 , 𝑌 〉 ) |
| 10 |
4
|
fveq2d |
⊢ ( 𝜑 → ( 1st ‘ 𝐺 ) = ( 1st ‘ ( 𝐹 ∘func ( 𝐶 swapF 𝐷 ) ) ) ) |
| 11 |
10
|
fveq1d |
⊢ ( 𝜑 → ( ( 1st ‘ 𝐺 ) ‘ 〈 𝑋 , 𝑌 〉 ) = ( ( 1st ‘ ( 𝐹 ∘func ( 𝐶 swapF 𝐷 ) ) ) ‘ 〈 𝑋 , 𝑌 〉 ) ) |
| 12 |
9 11
|
eqtrid |
⊢ ( 𝜑 → ( 𝑋 ( 1st ‘ 𝐺 ) 𝑌 ) = ( ( 1st ‘ ( 𝐹 ∘func ( 𝐶 swapF 𝐷 ) ) ) ‘ 〈 𝑋 , 𝑌 〉 ) ) |
| 13 |
|
eqid |
⊢ ( 𝐶 ×c 𝐷 ) = ( 𝐶 ×c 𝐷 ) |
| 14 |
13 5 6
|
xpcbas |
⊢ ( 𝐴 × 𝐵 ) = ( Base ‘ ( 𝐶 ×c 𝐷 ) ) |
| 15 |
|
eqid |
⊢ ( 𝐷 ×c 𝐶 ) = ( 𝐷 ×c 𝐶 ) |
| 16 |
1 2 13 15
|
swapffunca |
⊢ ( 𝜑 → ( 𝐶 swapF 𝐷 ) ∈ ( ( 𝐶 ×c 𝐷 ) Func ( 𝐷 ×c 𝐶 ) ) ) |
| 17 |
7 8
|
opelxpd |
⊢ ( 𝜑 → 〈 𝑋 , 𝑌 〉 ∈ ( 𝐴 × 𝐵 ) ) |
| 18 |
14 16 3 17
|
cofu1 |
⊢ ( 𝜑 → ( ( 1st ‘ ( 𝐹 ∘func ( 𝐶 swapF 𝐷 ) ) ) ‘ 〈 𝑋 , 𝑌 〉 ) = ( ( 1st ‘ 𝐹 ) ‘ ( ( 1st ‘ ( 𝐶 swapF 𝐷 ) ) ‘ 〈 𝑋 , 𝑌 〉 ) ) ) |
| 19 |
|
df-ov |
⊢ ( 𝑋 ( 1st ‘ ( 𝐶 swapF 𝐷 ) ) 𝑌 ) = ( ( 1st ‘ ( 𝐶 swapF 𝐷 ) ) ‘ 〈 𝑋 , 𝑌 〉 ) |
| 20 |
1 2
|
swapfelvv |
⊢ ( 𝜑 → ( 𝐶 swapF 𝐷 ) ∈ ( V × V ) ) |
| 21 |
|
1st2nd2 |
⊢ ( ( 𝐶 swapF 𝐷 ) ∈ ( V × V ) → ( 𝐶 swapF 𝐷 ) = 〈 ( 1st ‘ ( 𝐶 swapF 𝐷 ) ) , ( 2nd ‘ ( 𝐶 swapF 𝐷 ) ) 〉 ) |
| 22 |
20 21
|
syl |
⊢ ( 𝜑 → ( 𝐶 swapF 𝐷 ) = 〈 ( 1st ‘ ( 𝐶 swapF 𝐷 ) ) , ( 2nd ‘ ( 𝐶 swapF 𝐷 ) ) 〉 ) |
| 23 |
7 5
|
eleqtrdi |
⊢ ( 𝜑 → 𝑋 ∈ ( Base ‘ 𝐶 ) ) |
| 24 |
8 6
|
eleqtrdi |
⊢ ( 𝜑 → 𝑌 ∈ ( Base ‘ 𝐷 ) ) |
| 25 |
22 23 24
|
swapf1 |
⊢ ( 𝜑 → ( 𝑋 ( 1st ‘ ( 𝐶 swapF 𝐷 ) ) 𝑌 ) = 〈 𝑌 , 𝑋 〉 ) |
| 26 |
19 25
|
eqtr3id |
⊢ ( 𝜑 → ( ( 1st ‘ ( 𝐶 swapF 𝐷 ) ) ‘ 〈 𝑋 , 𝑌 〉 ) = 〈 𝑌 , 𝑋 〉 ) |
| 27 |
26
|
fveq2d |
⊢ ( 𝜑 → ( ( 1st ‘ 𝐹 ) ‘ ( ( 1st ‘ ( 𝐶 swapF 𝐷 ) ) ‘ 〈 𝑋 , 𝑌 〉 ) ) = ( ( 1st ‘ 𝐹 ) ‘ 〈 𝑌 , 𝑋 〉 ) ) |
| 28 |
12 18 27
|
3eqtrd |
⊢ ( 𝜑 → ( 𝑋 ( 1st ‘ 𝐺 ) 𝑌 ) = ( ( 1st ‘ 𝐹 ) ‘ 〈 𝑌 , 𝑋 〉 ) ) |
| 29 |
|
df-ov |
⊢ ( 𝑌 ( 1st ‘ 𝐹 ) 𝑋 ) = ( ( 1st ‘ 𝐹 ) ‘ 〈 𝑌 , 𝑋 〉 ) |
| 30 |
28 29
|
eqtr4di |
⊢ ( 𝜑 → ( 𝑋 ( 1st ‘ 𝐺 ) 𝑌 ) = ( 𝑌 ( 1st ‘ 𝐹 ) 𝑋 ) ) |