| Step |
Hyp |
Ref |
Expression |
| 1 |
|
1stfval.t |
⊢ 𝑇 = ( 𝐶 ×c 𝐷 ) |
| 2 |
|
1stfval.b |
⊢ 𝐵 = ( Base ‘ 𝑇 ) |
| 3 |
|
1stfval.h |
⊢ 𝐻 = ( Hom ‘ 𝑇 ) |
| 4 |
|
1stfval.c |
⊢ ( 𝜑 → 𝐶 ∈ Cat ) |
| 5 |
|
1stfval.d |
⊢ ( 𝜑 → 𝐷 ∈ Cat ) |
| 6 |
|
1stfval.p |
⊢ 𝑃 = ( 𝐶 1stF 𝐷 ) |
| 7 |
|
fvex |
⊢ ( Base ‘ 𝑐 ) ∈ V |
| 8 |
|
fvex |
⊢ ( Base ‘ 𝑑 ) ∈ V |
| 9 |
7 8
|
xpex |
⊢ ( ( Base ‘ 𝑐 ) × ( Base ‘ 𝑑 ) ) ∈ V |
| 10 |
9
|
a1i |
⊢ ( ( 𝑐 = 𝐶 ∧ 𝑑 = 𝐷 ) → ( ( Base ‘ 𝑐 ) × ( Base ‘ 𝑑 ) ) ∈ V ) |
| 11 |
|
simpl |
⊢ ( ( 𝑐 = 𝐶 ∧ 𝑑 = 𝐷 ) → 𝑐 = 𝐶 ) |
| 12 |
11
|
fveq2d |
⊢ ( ( 𝑐 = 𝐶 ∧ 𝑑 = 𝐷 ) → ( Base ‘ 𝑐 ) = ( Base ‘ 𝐶 ) ) |
| 13 |
|
simpr |
⊢ ( ( 𝑐 = 𝐶 ∧ 𝑑 = 𝐷 ) → 𝑑 = 𝐷 ) |
| 14 |
13
|
fveq2d |
⊢ ( ( 𝑐 = 𝐶 ∧ 𝑑 = 𝐷 ) → ( Base ‘ 𝑑 ) = ( Base ‘ 𝐷 ) ) |
| 15 |
12 14
|
xpeq12d |
⊢ ( ( 𝑐 = 𝐶 ∧ 𝑑 = 𝐷 ) → ( ( Base ‘ 𝑐 ) × ( Base ‘ 𝑑 ) ) = ( ( Base ‘ 𝐶 ) × ( Base ‘ 𝐷 ) ) ) |
| 16 |
|
eqid |
⊢ ( Base ‘ 𝐶 ) = ( Base ‘ 𝐶 ) |
| 17 |
|
eqid |
⊢ ( Base ‘ 𝐷 ) = ( Base ‘ 𝐷 ) |
| 18 |
1 16 17
|
xpcbas |
⊢ ( ( Base ‘ 𝐶 ) × ( Base ‘ 𝐷 ) ) = ( Base ‘ 𝑇 ) |
| 19 |
18 2
|
eqtr4i |
⊢ ( ( Base ‘ 𝐶 ) × ( Base ‘ 𝐷 ) ) = 𝐵 |
| 20 |
15 19
|
eqtrdi |
⊢ ( ( 𝑐 = 𝐶 ∧ 𝑑 = 𝐷 ) → ( ( Base ‘ 𝑐 ) × ( Base ‘ 𝑑 ) ) = 𝐵 ) |
| 21 |
|
simpr |
⊢ ( ( ( 𝑐 = 𝐶 ∧ 𝑑 = 𝐷 ) ∧ 𝑏 = 𝐵 ) → 𝑏 = 𝐵 ) |
| 22 |
21
|
reseq2d |
⊢ ( ( ( 𝑐 = 𝐶 ∧ 𝑑 = 𝐷 ) ∧ 𝑏 = 𝐵 ) → ( 1st ↾ 𝑏 ) = ( 1st ↾ 𝐵 ) ) |
| 23 |
|
simpll |
⊢ ( ( ( 𝑐 = 𝐶 ∧ 𝑑 = 𝐷 ) ∧ 𝑏 = 𝐵 ) → 𝑐 = 𝐶 ) |
| 24 |
|
simplr |
⊢ ( ( ( 𝑐 = 𝐶 ∧ 𝑑 = 𝐷 ) ∧ 𝑏 = 𝐵 ) → 𝑑 = 𝐷 ) |
| 25 |
23 24
|
oveq12d |
⊢ ( ( ( 𝑐 = 𝐶 ∧ 𝑑 = 𝐷 ) ∧ 𝑏 = 𝐵 ) → ( 𝑐 ×c 𝑑 ) = ( 𝐶 ×c 𝐷 ) ) |
| 26 |
25 1
|
eqtr4di |
⊢ ( ( ( 𝑐 = 𝐶 ∧ 𝑑 = 𝐷 ) ∧ 𝑏 = 𝐵 ) → ( 𝑐 ×c 𝑑 ) = 𝑇 ) |
| 27 |
26
|
fveq2d |
⊢ ( ( ( 𝑐 = 𝐶 ∧ 𝑑 = 𝐷 ) ∧ 𝑏 = 𝐵 ) → ( Hom ‘ ( 𝑐 ×c 𝑑 ) ) = ( Hom ‘ 𝑇 ) ) |
| 28 |
27 3
|
eqtr4di |
⊢ ( ( ( 𝑐 = 𝐶 ∧ 𝑑 = 𝐷 ) ∧ 𝑏 = 𝐵 ) → ( Hom ‘ ( 𝑐 ×c 𝑑 ) ) = 𝐻 ) |
| 29 |
28
|
oveqd |
⊢ ( ( ( 𝑐 = 𝐶 ∧ 𝑑 = 𝐷 ) ∧ 𝑏 = 𝐵 ) → ( 𝑥 ( Hom ‘ ( 𝑐 ×c 𝑑 ) ) 𝑦 ) = ( 𝑥 𝐻 𝑦 ) ) |
| 30 |
29
|
reseq2d |
⊢ ( ( ( 𝑐 = 𝐶 ∧ 𝑑 = 𝐷 ) ∧ 𝑏 = 𝐵 ) → ( 1st ↾ ( 𝑥 ( Hom ‘ ( 𝑐 ×c 𝑑 ) ) 𝑦 ) ) = ( 1st ↾ ( 𝑥 𝐻 𝑦 ) ) ) |
| 31 |
21 21 30
|
mpoeq123dv |
⊢ ( ( ( 𝑐 = 𝐶 ∧ 𝑑 = 𝐷 ) ∧ 𝑏 = 𝐵 ) → ( 𝑥 ∈ 𝑏 , 𝑦 ∈ 𝑏 ↦ ( 1st ↾ ( 𝑥 ( Hom ‘ ( 𝑐 ×c 𝑑 ) ) 𝑦 ) ) ) = ( 𝑥 ∈ 𝐵 , 𝑦 ∈ 𝐵 ↦ ( 1st ↾ ( 𝑥 𝐻 𝑦 ) ) ) ) |
| 32 |
22 31
|
opeq12d |
⊢ ( ( ( 𝑐 = 𝐶 ∧ 𝑑 = 𝐷 ) ∧ 𝑏 = 𝐵 ) → 〈 ( 1st ↾ 𝑏 ) , ( 𝑥 ∈ 𝑏 , 𝑦 ∈ 𝑏 ↦ ( 1st ↾ ( 𝑥 ( Hom ‘ ( 𝑐 ×c 𝑑 ) ) 𝑦 ) ) ) 〉 = 〈 ( 1st ↾ 𝐵 ) , ( 𝑥 ∈ 𝐵 , 𝑦 ∈ 𝐵 ↦ ( 1st ↾ ( 𝑥 𝐻 𝑦 ) ) ) 〉 ) |
| 33 |
10 20 32
|
csbied2 |
⊢ ( ( 𝑐 = 𝐶 ∧ 𝑑 = 𝐷 ) → ⦋ ( ( Base ‘ 𝑐 ) × ( Base ‘ 𝑑 ) ) / 𝑏 ⦌ 〈 ( 1st ↾ 𝑏 ) , ( 𝑥 ∈ 𝑏 , 𝑦 ∈ 𝑏 ↦ ( 1st ↾ ( 𝑥 ( Hom ‘ ( 𝑐 ×c 𝑑 ) ) 𝑦 ) ) ) 〉 = 〈 ( 1st ↾ 𝐵 ) , ( 𝑥 ∈ 𝐵 , 𝑦 ∈ 𝐵 ↦ ( 1st ↾ ( 𝑥 𝐻 𝑦 ) ) ) 〉 ) |
| 34 |
|
df-1stf |
⊢ 1stF = ( 𝑐 ∈ Cat , 𝑑 ∈ Cat ↦ ⦋ ( ( Base ‘ 𝑐 ) × ( Base ‘ 𝑑 ) ) / 𝑏 ⦌ 〈 ( 1st ↾ 𝑏 ) , ( 𝑥 ∈ 𝑏 , 𝑦 ∈ 𝑏 ↦ ( 1st ↾ ( 𝑥 ( Hom ‘ ( 𝑐 ×c 𝑑 ) ) 𝑦 ) ) ) 〉 ) |
| 35 |
|
opex |
⊢ 〈 ( 1st ↾ 𝐵 ) , ( 𝑥 ∈ 𝐵 , 𝑦 ∈ 𝐵 ↦ ( 1st ↾ ( 𝑥 𝐻 𝑦 ) ) ) 〉 ∈ V |
| 36 |
33 34 35
|
ovmpoa |
⊢ ( ( 𝐶 ∈ Cat ∧ 𝐷 ∈ Cat ) → ( 𝐶 1stF 𝐷 ) = 〈 ( 1st ↾ 𝐵 ) , ( 𝑥 ∈ 𝐵 , 𝑦 ∈ 𝐵 ↦ ( 1st ↾ ( 𝑥 𝐻 𝑦 ) ) ) 〉 ) |
| 37 |
4 5 36
|
syl2anc |
⊢ ( 𝜑 → ( 𝐶 1stF 𝐷 ) = 〈 ( 1st ↾ 𝐵 ) , ( 𝑥 ∈ 𝐵 , 𝑦 ∈ 𝐵 ↦ ( 1st ↾ ( 𝑥 𝐻 𝑦 ) ) ) 〉 ) |
| 38 |
6 37
|
eqtrid |
⊢ ( 𝜑 → 𝑃 = 〈 ( 1st ↾ 𝐵 ) , ( 𝑥 ∈ 𝐵 , 𝑦 ∈ 𝐵 ↦ ( 1st ↾ ( 𝑥 𝐻 𝑦 ) ) ) 〉 ) |