| Step |
Hyp |
Ref |
Expression |
| 1 |
|
arweuthinc |
|- ( E! a a e. ( Arrow ` C ) -> C e. ThinCat ) |
| 2 |
|
euex |
|- ( E! a a e. ( Arrow ` C ) -> E. a a e. ( Arrow ` C ) ) |
| 3 |
|
eqid |
|- ( Arrow ` C ) = ( Arrow ` C ) |
| 4 |
|
eqid |
|- ( Base ` C ) = ( Base ` C ) |
| 5 |
3 4
|
arwdm |
|- ( a e. ( Arrow ` C ) -> ( domA ` a ) e. ( Base ` C ) ) |
| 6 |
|
eleq1 |
|- ( x = ( domA ` a ) -> ( x e. ( Base ` C ) <-> ( domA ` a ) e. ( Base ` C ) ) ) |
| 7 |
5 5 6
|
spcedv |
|- ( a e. ( Arrow ` C ) -> E. x x e. ( Base ` C ) ) |
| 8 |
7
|
exlimiv |
|- ( E. a a e. ( Arrow ` C ) -> E. x x e. ( Base ` C ) ) |
| 9 |
2 8
|
syl |
|- ( E! a a e. ( Arrow ` C ) -> E. x x e. ( Base ` C ) ) |
| 10 |
|
eqeq1 |
|- ( a = <. x , x , ( ( Id ` C ) ` x ) >. -> ( a = b <-> <. x , x , ( ( Id ` C ) ` x ) >. = b ) ) |
| 11 |
|
eqeq2 |
|- ( b = <. y , y , ( ( Id ` C ) ` y ) >. -> ( <. x , x , ( ( Id ` C ) ` x ) >. = b <-> <. x , x , ( ( Id ` C ) ` x ) >. = <. y , y , ( ( Id ` C ) ` y ) >. ) ) |
| 12 |
|
eumo |
|- ( E! a a e. ( Arrow ` C ) -> E* a a e. ( Arrow ` C ) ) |
| 13 |
12
|
adantr |
|- ( ( E! a a e. ( Arrow ` C ) /\ ( x e. ( Base ` C ) /\ y e. ( Base ` C ) ) ) -> E* a a e. ( Arrow ` C ) ) |
| 14 |
|
moel |
|- ( E* a a e. ( Arrow ` C ) <-> A. a e. ( Arrow ` C ) A. b e. ( Arrow ` C ) a = b ) |
| 15 |
13 14
|
sylib |
|- ( ( E! a a e. ( Arrow ` C ) /\ ( x e. ( Base ` C ) /\ y e. ( Base ` C ) ) ) -> A. a e. ( Arrow ` C ) A. b e. ( Arrow ` C ) a = b ) |
| 16 |
|
eqid |
|- ( HomA ` C ) = ( HomA ` C ) |
| 17 |
3 16
|
homarw |
|- ( x ( HomA ` C ) x ) C_ ( Arrow ` C ) |
| 18 |
1
|
adantr |
|- ( ( E! a a e. ( Arrow ` C ) /\ ( x e. ( Base ` C ) /\ y e. ( Base ` C ) ) ) -> C e. ThinCat ) |
| 19 |
18
|
thinccd |
|- ( ( E! a a e. ( Arrow ` C ) /\ ( x e. ( Base ` C ) /\ y e. ( Base ` C ) ) ) -> C e. Cat ) |
| 20 |
|
eqid |
|- ( Hom ` C ) = ( Hom ` C ) |
| 21 |
|
simprl |
|- ( ( E! a a e. ( Arrow ` C ) /\ ( x e. ( Base ` C ) /\ y e. ( Base ` C ) ) ) -> x e. ( Base ` C ) ) |
| 22 |
|
eqid |
|- ( Id ` C ) = ( Id ` C ) |
| 23 |
4 20 22 19 21
|
catidcl |
|- ( ( E! a a e. ( Arrow ` C ) /\ ( x e. ( Base ` C ) /\ y e. ( Base ` C ) ) ) -> ( ( Id ` C ) ` x ) e. ( x ( Hom ` C ) x ) ) |
| 24 |
16 4 19 20 21 21 23
|
elhomai2 |
|- ( ( E! a a e. ( Arrow ` C ) /\ ( x e. ( Base ` C ) /\ y e. ( Base ` C ) ) ) -> <. x , x , ( ( Id ` C ) ` x ) >. e. ( x ( HomA ` C ) x ) ) |
| 25 |
17 24
|
sselid |
|- ( ( E! a a e. ( Arrow ` C ) /\ ( x e. ( Base ` C ) /\ y e. ( Base ` C ) ) ) -> <. x , x , ( ( Id ` C ) ` x ) >. e. ( Arrow ` C ) ) |
| 26 |
3 16
|
homarw |
|- ( y ( HomA ` C ) y ) C_ ( Arrow ` C ) |
| 27 |
|
simprr |
|- ( ( E! a a e. ( Arrow ` C ) /\ ( x e. ( Base ` C ) /\ y e. ( Base ` C ) ) ) -> y e. ( Base ` C ) ) |
| 28 |
4 20 22 19 27
|
catidcl |
|- ( ( E! a a e. ( Arrow ` C ) /\ ( x e. ( Base ` C ) /\ y e. ( Base ` C ) ) ) -> ( ( Id ` C ) ` y ) e. ( y ( Hom ` C ) y ) ) |
| 29 |
16 4 19 20 27 27 28
|
elhomai2 |
|- ( ( E! a a e. ( Arrow ` C ) /\ ( x e. ( Base ` C ) /\ y e. ( Base ` C ) ) ) -> <. y , y , ( ( Id ` C ) ` y ) >. e. ( y ( HomA ` C ) y ) ) |
| 30 |
26 29
|
sselid |
|- ( ( E! a a e. ( Arrow ` C ) /\ ( x e. ( Base ` C ) /\ y e. ( Base ` C ) ) ) -> <. y , y , ( ( Id ` C ) ` y ) >. e. ( Arrow ` C ) ) |
| 31 |
10 11 15 25 30
|
rspc2dv |
|- ( ( E! a a e. ( Arrow ` C ) /\ ( x e. ( Base ` C ) /\ y e. ( Base ` C ) ) ) -> <. x , x , ( ( Id ` C ) ` x ) >. = <. y , y , ( ( Id ` C ) ` y ) >. ) |
| 32 |
|
vex |
|- x e. _V |
| 33 |
|
fvex |
|- ( ( Id ` C ) ` x ) e. _V |
| 34 |
32 32 33
|
otth |
|- ( <. x , x , ( ( Id ` C ) ` x ) >. = <. y , y , ( ( Id ` C ) ` y ) >. <-> ( x = y /\ x = y /\ ( ( Id ` C ) ` x ) = ( ( Id ` C ) ` y ) ) ) |
| 35 |
34
|
simp1bi |
|- ( <. x , x , ( ( Id ` C ) ` x ) >. = <. y , y , ( ( Id ` C ) ` y ) >. -> x = y ) |
| 36 |
31 35
|
syl |
|- ( ( E! a a e. ( Arrow ` C ) /\ ( x e. ( Base ` C ) /\ y e. ( Base ` C ) ) ) -> x = y ) |
| 37 |
36
|
ralrimivva |
|- ( E! a a e. ( Arrow ` C ) -> A. x e. ( Base ` C ) A. y e. ( Base ` C ) x = y ) |
| 38 |
|
moel |
|- ( E* x x e. ( Base ` C ) <-> A. x e. ( Base ` C ) A. y e. ( Base ` C ) x = y ) |
| 39 |
37 38
|
sylibr |
|- ( E! a a e. ( Arrow ` C ) -> E* x x e. ( Base ` C ) ) |
| 40 |
|
df-eu |
|- ( E! x x e. ( Base ` C ) <-> ( E. x x e. ( Base ` C ) /\ E* x x e. ( Base ` C ) ) ) |
| 41 |
9 39 40
|
sylanbrc |
|- ( E! a a e. ( Arrow ` C ) -> E! x x e. ( Base ` C ) ) |
| 42 |
4
|
istermc2 |
|- ( C e. TermCat <-> ( C e. ThinCat /\ E! x x e. ( Base ` C ) ) ) |
| 43 |
1 41 42
|
sylanbrc |
|- ( E! a a e. ( Arrow ` C ) -> C e. TermCat ) |