| Step |
Hyp |
Ref |
Expression |
| 1 |
|
diag1f1o.a |
|- A = ( Base ` C ) |
| 2 |
|
diag1f1o.d |
|- ( ph -> D e. TermCat ) |
| 3 |
|
diag1f1o.c |
|- ( ph -> C e. Cat ) |
| 4 |
|
diag1f1o.l |
|- L = ( C DiagFunc D ) |
| 5 |
2
|
termccd |
|- ( ph -> D e. Cat ) |
| 6 |
|
eqid |
|- ( Base ` D ) = ( Base ` D ) |
| 7 |
6
|
istermc2 |
|- ( D e. TermCat <-> ( D e. ThinCat /\ E! y y e. ( Base ` D ) ) ) |
| 8 |
2 7
|
sylib |
|- ( ph -> ( D e. ThinCat /\ E! y y e. ( Base ` D ) ) ) |
| 9 |
8
|
simprd |
|- ( ph -> E! y y e. ( Base ` D ) ) |
| 10 |
|
euex |
|- ( E! y y e. ( Base ` D ) -> E. y y e. ( Base ` D ) ) |
| 11 |
9 10
|
syl |
|- ( ph -> E. y y e. ( Base ` D ) ) |
| 12 |
|
n0 |
|- ( ( Base ` D ) =/= (/) <-> E. y y e. ( Base ` D ) ) |
| 13 |
11 12
|
sylibr |
|- ( ph -> ( Base ` D ) =/= (/) ) |
| 14 |
4 3 5 1 6 13
|
diag1f1 |
|- ( ph -> ( 1st ` L ) : A -1-1-> ( D Func C ) ) |
| 15 |
|
f1f |
|- ( ( 1st ` L ) : A -1-1-> ( D Func C ) -> ( 1st ` L ) : A --> ( D Func C ) ) |
| 16 |
14 15
|
syl |
|- ( ph -> ( 1st ` L ) : A --> ( D Func C ) ) |
| 17 |
2 6
|
termcbas |
|- ( ph -> E. y ( Base ` D ) = { y } ) |
| 18 |
17
|
adantr |
|- ( ( ph /\ k e. ( D Func C ) ) -> E. y ( Base ` D ) = { y } ) |
| 19 |
|
fveq2 |
|- ( x = ( ( 1st ` k ) ` y ) -> ( ( 1st ` L ) ` x ) = ( ( 1st ` L ) ` ( ( 1st ` k ) ` y ) ) ) |
| 20 |
19
|
eqeq2d |
|- ( x = ( ( 1st ` k ) ` y ) -> ( k = ( ( 1st ` L ) ` x ) <-> k = ( ( 1st ` L ) ` ( ( 1st ` k ) ` y ) ) ) ) |
| 21 |
2
|
ad2antrr |
|- ( ( ( ph /\ k e. ( D Func C ) ) /\ ( Base ` D ) = { y } ) -> D e. TermCat ) |
| 22 |
|
simplr |
|- ( ( ( ph /\ k e. ( D Func C ) ) /\ ( Base ` D ) = { y } ) -> k e. ( D Func C ) ) |
| 23 |
|
vsnid |
|- y e. { y } |
| 24 |
|
simpr |
|- ( ( ( ph /\ k e. ( D Func C ) ) /\ ( Base ` D ) = { y } ) -> ( Base ` D ) = { y } ) |
| 25 |
23 24
|
eleqtrrid |
|- ( ( ( ph /\ k e. ( D Func C ) ) /\ ( Base ` D ) = { y } ) -> y e. ( Base ` D ) ) |
| 26 |
|
eqid |
|- ( ( 1st ` k ) ` y ) = ( ( 1st ` k ) ` y ) |
| 27 |
1 21 22 6 25 26 4
|
diag1f1olem |
|- ( ( ( ph /\ k e. ( D Func C ) ) /\ ( Base ` D ) = { y } ) -> ( ( ( 1st ` k ) ` y ) e. A /\ k = ( ( 1st ` L ) ` ( ( 1st ` k ) ` y ) ) ) ) |
| 28 |
27
|
simpld |
|- ( ( ( ph /\ k e. ( D Func C ) ) /\ ( Base ` D ) = { y } ) -> ( ( 1st ` k ) ` y ) e. A ) |
| 29 |
27
|
simprd |
|- ( ( ( ph /\ k e. ( D Func C ) ) /\ ( Base ` D ) = { y } ) -> k = ( ( 1st ` L ) ` ( ( 1st ` k ) ` y ) ) ) |
| 30 |
20 28 29
|
rspcedvdw |
|- ( ( ( ph /\ k e. ( D Func C ) ) /\ ( Base ` D ) = { y } ) -> E. x e. A k = ( ( 1st ` L ) ` x ) ) |
| 31 |
18 30
|
exlimddv |
|- ( ( ph /\ k e. ( D Func C ) ) -> E. x e. A k = ( ( 1st ` L ) ` x ) ) |
| 32 |
31
|
ralrimiva |
|- ( ph -> A. k e. ( D Func C ) E. x e. A k = ( ( 1st ` L ) ` x ) ) |
| 33 |
|
dffo3 |
|- ( ( 1st ` L ) : A -onto-> ( D Func C ) <-> ( ( 1st ` L ) : A --> ( D Func C ) /\ A. k e. ( D Func C ) E. x e. A k = ( ( 1st ` L ) ` x ) ) ) |
| 34 |
16 32 33
|
sylanbrc |
|- ( ph -> ( 1st ` L ) : A -onto-> ( D Func C ) ) |
| 35 |
|
df-f1o |
|- ( ( 1st ` L ) : A -1-1-onto-> ( D Func C ) <-> ( ( 1st ` L ) : A -1-1-> ( D Func C ) /\ ( 1st ` L ) : A -onto-> ( D Func C ) ) ) |
| 36 |
14 34 35
|
sylanbrc |
|- ( ph -> ( 1st ` L ) : A -1-1-onto-> ( D Func C ) ) |