Step |
Hyp |
Ref |
Expression |
1 |
|
fucbas.q |
⊢ 𝑄 = ( 𝐶 FuncCat 𝐷 ) |
2 |
|
fuchom.n |
⊢ 𝑁 = ( 𝐶 Nat 𝐷 ) |
3 |
|
eqid |
⊢ ( 𝐶 Func 𝐷 ) = ( 𝐶 Func 𝐷 ) |
4 |
|
eqid |
⊢ ( Base ‘ 𝐶 ) = ( Base ‘ 𝐶 ) |
5 |
|
eqid |
⊢ ( comp ‘ 𝐷 ) = ( comp ‘ 𝐷 ) |
6 |
|
simpl |
⊢ ( ( 𝐶 ∈ Cat ∧ 𝐷 ∈ Cat ) → 𝐶 ∈ Cat ) |
7 |
|
simpr |
⊢ ( ( 𝐶 ∈ Cat ∧ 𝐷 ∈ Cat ) → 𝐷 ∈ Cat ) |
8 |
|
eqid |
⊢ ( comp ‘ 𝑄 ) = ( comp ‘ 𝑄 ) |
9 |
1 3 2 4 5 6 7 8
|
fuccofval |
⊢ ( ( 𝐶 ∈ Cat ∧ 𝐷 ∈ Cat ) → ( comp ‘ 𝑄 ) = ( 𝑣 ∈ ( ( 𝐶 Func 𝐷 ) × ( 𝐶 Func 𝐷 ) ) , ℎ ∈ ( 𝐶 Func 𝐷 ) ↦ ⦋ ( 1st ‘ 𝑣 ) / 𝑓 ⦌ ⦋ ( 2nd ‘ 𝑣 ) / 𝑔 ⦌ ( 𝑏 ∈ ( 𝑔 𝑁 ℎ ) , 𝑎 ∈ ( 𝑓 𝑁 𝑔 ) ↦ ( 𝑥 ∈ ( Base ‘ 𝐶 ) ↦ ( ( 𝑏 ‘ 𝑥 ) ( 〈 ( ( 1st ‘ 𝑓 ) ‘ 𝑥 ) , ( ( 1st ‘ 𝑔 ) ‘ 𝑥 ) 〉 ( comp ‘ 𝐷 ) ( ( 1st ‘ ℎ ) ‘ 𝑥 ) ) ( 𝑎 ‘ 𝑥 ) ) ) ) ) ) |
10 |
1 3 2 4 5 6 7 9
|
fucval |
⊢ ( ( 𝐶 ∈ Cat ∧ 𝐷 ∈ Cat ) → 𝑄 = { 〈 ( Base ‘ ndx ) , ( 𝐶 Func 𝐷 ) 〉 , 〈 ( Hom ‘ ndx ) , 𝑁 〉 , 〈 ( comp ‘ ndx ) , ( comp ‘ 𝑄 ) 〉 } ) |
11 |
|
catstr |
⊢ { 〈 ( Base ‘ ndx ) , ( 𝐶 Func 𝐷 ) 〉 , 〈 ( Hom ‘ ndx ) , 𝑁 〉 , 〈 ( comp ‘ ndx ) , ( comp ‘ 𝑄 ) 〉 } Struct 〈 1 , ; 1 5 〉 |
12 |
|
homid |
⊢ Hom = Slot ( Hom ‘ ndx ) |
13 |
|
snsstp2 |
⊢ { 〈 ( Hom ‘ ndx ) , 𝑁 〉 } ⊆ { 〈 ( Base ‘ ndx ) , ( 𝐶 Func 𝐷 ) 〉 , 〈 ( Hom ‘ ndx ) , 𝑁 〉 , 〈 ( comp ‘ ndx ) , ( comp ‘ 𝑄 ) 〉 } |
14 |
2
|
ovexi |
⊢ 𝑁 ∈ V |
15 |
14
|
a1i |
⊢ ( ( 𝐶 ∈ Cat ∧ 𝐷 ∈ Cat ) → 𝑁 ∈ V ) |
16 |
|
eqid |
⊢ ( Hom ‘ 𝑄 ) = ( Hom ‘ 𝑄 ) |
17 |
10 11 12 13 15 16
|
strfv3 |
⊢ ( ( 𝐶 ∈ Cat ∧ 𝐷 ∈ Cat ) → ( Hom ‘ 𝑄 ) = 𝑁 ) |
18 |
17
|
eqcomd |
⊢ ( ( 𝐶 ∈ Cat ∧ 𝐷 ∈ Cat ) → 𝑁 = ( Hom ‘ 𝑄 ) ) |
19 |
|
df-hom |
⊢ Hom = Slot ; 1 4 |
20 |
19
|
str0 |
⊢ ∅ = ( Hom ‘ ∅ ) |
21 |
2
|
natffn |
⊢ 𝑁 Fn ( ( 𝐶 Func 𝐷 ) × ( 𝐶 Func 𝐷 ) ) |
22 |
|
funcrcl |
⊢ ( 𝑓 ∈ ( 𝐶 Func 𝐷 ) → ( 𝐶 ∈ Cat ∧ 𝐷 ∈ Cat ) ) |
23 |
22
|
con3i |
⊢ ( ¬ ( 𝐶 ∈ Cat ∧ 𝐷 ∈ Cat ) → ¬ 𝑓 ∈ ( 𝐶 Func 𝐷 ) ) |
24 |
23
|
eq0rdv |
⊢ ( ¬ ( 𝐶 ∈ Cat ∧ 𝐷 ∈ Cat ) → ( 𝐶 Func 𝐷 ) = ∅ ) |
25 |
24
|
xpeq2d |
⊢ ( ¬ ( 𝐶 ∈ Cat ∧ 𝐷 ∈ Cat ) → ( ( 𝐶 Func 𝐷 ) × ( 𝐶 Func 𝐷 ) ) = ( ( 𝐶 Func 𝐷 ) × ∅ ) ) |
26 |
|
xp0 |
⊢ ( ( 𝐶 Func 𝐷 ) × ∅ ) = ∅ |
27 |
25 26
|
eqtrdi |
⊢ ( ¬ ( 𝐶 ∈ Cat ∧ 𝐷 ∈ Cat ) → ( ( 𝐶 Func 𝐷 ) × ( 𝐶 Func 𝐷 ) ) = ∅ ) |
28 |
27
|
fneq2d |
⊢ ( ¬ ( 𝐶 ∈ Cat ∧ 𝐷 ∈ Cat ) → ( 𝑁 Fn ( ( 𝐶 Func 𝐷 ) × ( 𝐶 Func 𝐷 ) ) ↔ 𝑁 Fn ∅ ) ) |
29 |
21 28
|
mpbii |
⊢ ( ¬ ( 𝐶 ∈ Cat ∧ 𝐷 ∈ Cat ) → 𝑁 Fn ∅ ) |
30 |
|
fn0 |
⊢ ( 𝑁 Fn ∅ ↔ 𝑁 = ∅ ) |
31 |
29 30
|
sylib |
⊢ ( ¬ ( 𝐶 ∈ Cat ∧ 𝐷 ∈ Cat ) → 𝑁 = ∅ ) |
32 |
|
fnfuc |
⊢ FuncCat Fn ( Cat × Cat ) |
33 |
32
|
fndmi |
⊢ dom FuncCat = ( Cat × Cat ) |
34 |
33
|
ndmov |
⊢ ( ¬ ( 𝐶 ∈ Cat ∧ 𝐷 ∈ Cat ) → ( 𝐶 FuncCat 𝐷 ) = ∅ ) |
35 |
1 34
|
eqtrid |
⊢ ( ¬ ( 𝐶 ∈ Cat ∧ 𝐷 ∈ Cat ) → 𝑄 = ∅ ) |
36 |
35
|
fveq2d |
⊢ ( ¬ ( 𝐶 ∈ Cat ∧ 𝐷 ∈ Cat ) → ( Hom ‘ 𝑄 ) = ( Hom ‘ ∅ ) ) |
37 |
20 31 36
|
3eqtr4a |
⊢ ( ¬ ( 𝐶 ∈ Cat ∧ 𝐷 ∈ Cat ) → 𝑁 = ( Hom ‘ 𝑄 ) ) |
38 |
18 37
|
pm2.61i |
⊢ 𝑁 = ( Hom ‘ 𝑄 ) |