| Step |
Hyp |
Ref |
Expression |
| 1 |
|
setcmon.c |
|- C = ( SetCat ` U ) |
| 2 |
|
setcmon.u |
|- ( ph -> U e. V ) |
| 3 |
|
setcmon.x |
|- ( ph -> X e. U ) |
| 4 |
|
setcmon.y |
|- ( ph -> Y e. U ) |
| 5 |
|
setcepi.h |
|- E = ( Epi ` C ) |
| 6 |
|
setcepi.2 |
|- ( ph -> 2o e. U ) |
| 7 |
|
eqid |
|- ( Base ` C ) = ( Base ` C ) |
| 8 |
|
eqid |
|- ( Hom ` C ) = ( Hom ` C ) |
| 9 |
|
eqid |
|- ( comp ` C ) = ( comp ` C ) |
| 10 |
1
|
setccat |
|- ( U e. V -> C e. Cat ) |
| 11 |
2 10
|
syl |
|- ( ph -> C e. Cat ) |
| 12 |
1 2
|
setcbas |
|- ( ph -> U = ( Base ` C ) ) |
| 13 |
3 12
|
eleqtrd |
|- ( ph -> X e. ( Base ` C ) ) |
| 14 |
4 12
|
eleqtrd |
|- ( ph -> Y e. ( Base ` C ) ) |
| 15 |
7 8 9 5 11 13 14
|
epihom |
|- ( ph -> ( X E Y ) C_ ( X ( Hom ` C ) Y ) ) |
| 16 |
15
|
sselda |
|- ( ( ph /\ F e. ( X E Y ) ) -> F e. ( X ( Hom ` C ) Y ) ) |
| 17 |
1 2 8 3 4
|
elsetchom |
|- ( ph -> ( F e. ( X ( Hom ` C ) Y ) <-> F : X --> Y ) ) |
| 18 |
17
|
biimpa |
|- ( ( ph /\ F e. ( X ( Hom ` C ) Y ) ) -> F : X --> Y ) |
| 19 |
16 18
|
syldan |
|- ( ( ph /\ F e. ( X E Y ) ) -> F : X --> Y ) |
| 20 |
19
|
frnd |
|- ( ( ph /\ F e. ( X E Y ) ) -> ran F C_ Y ) |
| 21 |
19
|
ffnd |
|- ( ( ph /\ F e. ( X E Y ) ) -> F Fn X ) |
| 22 |
|
fnfvelrn |
|- ( ( F Fn X /\ x e. X ) -> ( F ` x ) e. ran F ) |
| 23 |
21 22
|
sylan |
|- ( ( ( ph /\ F e. ( X E Y ) ) /\ x e. X ) -> ( F ` x ) e. ran F ) |
| 24 |
23
|
iftrued |
|- ( ( ( ph /\ F e. ( X E Y ) ) /\ x e. X ) -> if ( ( F ` x ) e. ran F , 1o , (/) ) = 1o ) |
| 25 |
24
|
mpteq2dva |
|- ( ( ph /\ F e. ( X E Y ) ) -> ( x e. X |-> if ( ( F ` x ) e. ran F , 1o , (/) ) ) = ( x e. X |-> 1o ) ) |
| 26 |
19
|
ffvelcdmda |
|- ( ( ( ph /\ F e. ( X E Y ) ) /\ x e. X ) -> ( F ` x ) e. Y ) |
| 27 |
19
|
feqmptd |
|- ( ( ph /\ F e. ( X E Y ) ) -> F = ( x e. X |-> ( F ` x ) ) ) |
| 28 |
|
eqidd |
|- ( ( ph /\ F e. ( X E Y ) ) -> ( a e. Y |-> if ( a e. ran F , 1o , (/) ) ) = ( a e. Y |-> if ( a e. ran F , 1o , (/) ) ) ) |
| 29 |
|
eleq1 |
|- ( a = ( F ` x ) -> ( a e. ran F <-> ( F ` x ) e. ran F ) ) |
| 30 |
29
|
ifbid |
|- ( a = ( F ` x ) -> if ( a e. ran F , 1o , (/) ) = if ( ( F ` x ) e. ran F , 1o , (/) ) ) |
| 31 |
26 27 28 30
|
fmptco |
|- ( ( ph /\ F e. ( X E Y ) ) -> ( ( a e. Y |-> if ( a e. ran F , 1o , (/) ) ) o. F ) = ( x e. X |-> if ( ( F ` x ) e. ran F , 1o , (/) ) ) ) |
| 32 |
|
fconstmpt |
|- ( Y X. { 1o } ) = ( a e. Y |-> 1o ) |
| 33 |
32
|
a1i |
|- ( ( ph /\ F e. ( X E Y ) ) -> ( Y X. { 1o } ) = ( a e. Y |-> 1o ) ) |
| 34 |
|
eqidd |
|- ( a = ( F ` x ) -> 1o = 1o ) |
| 35 |
26 27 33 34
|
fmptco |
|- ( ( ph /\ F e. ( X E Y ) ) -> ( ( Y X. { 1o } ) o. F ) = ( x e. X |-> 1o ) ) |
| 36 |
25 31 35
|
3eqtr4d |
|- ( ( ph /\ F e. ( X E Y ) ) -> ( ( a e. Y |-> if ( a e. ran F , 1o , (/) ) ) o. F ) = ( ( Y X. { 1o } ) o. F ) ) |
| 37 |
2
|
adantr |
|- ( ( ph /\ F e. ( X E Y ) ) -> U e. V ) |
| 38 |
3
|
adantr |
|- ( ( ph /\ F e. ( X E Y ) ) -> X e. U ) |
| 39 |
4
|
adantr |
|- ( ( ph /\ F e. ( X E Y ) ) -> Y e. U ) |
| 40 |
6
|
adantr |
|- ( ( ph /\ F e. ( X E Y ) ) -> 2o e. U ) |
| 41 |
|
eqid |
|- ( a e. Y |-> if ( a e. ran F , 1o , (/) ) ) = ( a e. Y |-> if ( a e. ran F , 1o , (/) ) ) |
| 42 |
|
1oex |
|- 1o e. _V |
| 43 |
42
|
prid2 |
|- 1o e. { (/) , 1o } |
| 44 |
|
df2o3 |
|- 2o = { (/) , 1o } |
| 45 |
43 44
|
eleqtrri |
|- 1o e. 2o |
| 46 |
|
0ex |
|- (/) e. _V |
| 47 |
46
|
prid1 |
|- (/) e. { (/) , 1o } |
| 48 |
47 44
|
eleqtrri |
|- (/) e. 2o |
| 49 |
45 48
|
ifcli |
|- if ( a e. ran F , 1o , (/) ) e. 2o |
| 50 |
49
|
a1i |
|- ( a e. Y -> if ( a e. ran F , 1o , (/) ) e. 2o ) |
| 51 |
41 50
|
fmpti |
|- ( a e. Y |-> if ( a e. ran F , 1o , (/) ) ) : Y --> 2o |
| 52 |
51
|
a1i |
|- ( ( ph /\ F e. ( X E Y ) ) -> ( a e. Y |-> if ( a e. ran F , 1o , (/) ) ) : Y --> 2o ) |
| 53 |
1 37 9 38 39 40 19 52
|
setcco |
|- ( ( ph /\ F e. ( X E Y ) ) -> ( ( a e. Y |-> if ( a e. ran F , 1o , (/) ) ) ( <. X , Y >. ( comp ` C ) 2o ) F ) = ( ( a e. Y |-> if ( a e. ran F , 1o , (/) ) ) o. F ) ) |
| 54 |
|
fconst6g |
|- ( 1o e. 2o -> ( Y X. { 1o } ) : Y --> 2o ) |
| 55 |
45 54
|
mp1i |
|- ( ( ph /\ F e. ( X E Y ) ) -> ( Y X. { 1o } ) : Y --> 2o ) |
| 56 |
1 37 9 38 39 40 19 55
|
setcco |
|- ( ( ph /\ F e. ( X E Y ) ) -> ( ( Y X. { 1o } ) ( <. X , Y >. ( comp ` C ) 2o ) F ) = ( ( Y X. { 1o } ) o. F ) ) |
| 57 |
36 53 56
|
3eqtr4d |
|- ( ( ph /\ F e. ( X E Y ) ) -> ( ( a e. Y |-> if ( a e. ran F , 1o , (/) ) ) ( <. X , Y >. ( comp ` C ) 2o ) F ) = ( ( Y X. { 1o } ) ( <. X , Y >. ( comp ` C ) 2o ) F ) ) |
| 58 |
11
|
adantr |
|- ( ( ph /\ F e. ( X E Y ) ) -> C e. Cat ) |
| 59 |
13
|
adantr |
|- ( ( ph /\ F e. ( X E Y ) ) -> X e. ( Base ` C ) ) |
| 60 |
14
|
adantr |
|- ( ( ph /\ F e. ( X E Y ) ) -> Y e. ( Base ` C ) ) |
| 61 |
6 12
|
eleqtrd |
|- ( ph -> 2o e. ( Base ` C ) ) |
| 62 |
61
|
adantr |
|- ( ( ph /\ F e. ( X E Y ) ) -> 2o e. ( Base ` C ) ) |
| 63 |
|
simpr |
|- ( ( ph /\ F e. ( X E Y ) ) -> F e. ( X E Y ) ) |
| 64 |
1 37 8 39 40
|
elsetchom |
|- ( ( ph /\ F e. ( X E Y ) ) -> ( ( a e. Y |-> if ( a e. ran F , 1o , (/) ) ) e. ( Y ( Hom ` C ) 2o ) <-> ( a e. Y |-> if ( a e. ran F , 1o , (/) ) ) : Y --> 2o ) ) |
| 65 |
52 64
|
mpbird |
|- ( ( ph /\ F e. ( X E Y ) ) -> ( a e. Y |-> if ( a e. ran F , 1o , (/) ) ) e. ( Y ( Hom ` C ) 2o ) ) |
| 66 |
1 37 8 39 40
|
elsetchom |
|- ( ( ph /\ F e. ( X E Y ) ) -> ( ( Y X. { 1o } ) e. ( Y ( Hom ` C ) 2o ) <-> ( Y X. { 1o } ) : Y --> 2o ) ) |
| 67 |
55 66
|
mpbird |
|- ( ( ph /\ F e. ( X E Y ) ) -> ( Y X. { 1o } ) e. ( Y ( Hom ` C ) 2o ) ) |
| 68 |
7 8 9 5 58 59 60 62 63 65 67
|
epii |
|- ( ( ph /\ F e. ( X E Y ) ) -> ( ( ( a e. Y |-> if ( a e. ran F , 1o , (/) ) ) ( <. X , Y >. ( comp ` C ) 2o ) F ) = ( ( Y X. { 1o } ) ( <. X , Y >. ( comp ` C ) 2o ) F ) <-> ( a e. Y |-> if ( a e. ran F , 1o , (/) ) ) = ( Y X. { 1o } ) ) ) |
| 69 |
57 68
|
mpbid |
|- ( ( ph /\ F e. ( X E Y ) ) -> ( a e. Y |-> if ( a e. ran F , 1o , (/) ) ) = ( Y X. { 1o } ) ) |
| 70 |
69 32
|
eqtrdi |
|- ( ( ph /\ F e. ( X E Y ) ) -> ( a e. Y |-> if ( a e. ran F , 1o , (/) ) ) = ( a e. Y |-> 1o ) ) |
| 71 |
49
|
rgenw |
|- A. a e. Y if ( a e. ran F , 1o , (/) ) e. 2o |
| 72 |
|
mpteqb |
|- ( A. a e. Y if ( a e. ran F , 1o , (/) ) e. 2o -> ( ( a e. Y |-> if ( a e. ran F , 1o , (/) ) ) = ( a e. Y |-> 1o ) <-> A. a e. Y if ( a e. ran F , 1o , (/) ) = 1o ) ) |
| 73 |
71 72
|
ax-mp |
|- ( ( a e. Y |-> if ( a e. ran F , 1o , (/) ) ) = ( a e. Y |-> 1o ) <-> A. a e. Y if ( a e. ran F , 1o , (/) ) = 1o ) |
| 74 |
70 73
|
sylib |
|- ( ( ph /\ F e. ( X E Y ) ) -> A. a e. Y if ( a e. ran F , 1o , (/) ) = 1o ) |
| 75 |
|
1n0 |
|- 1o =/= (/) |
| 76 |
75
|
nesymi |
|- -. (/) = 1o |
| 77 |
|
iffalse |
|- ( -. a e. ran F -> if ( a e. ran F , 1o , (/) ) = (/) ) |
| 78 |
77
|
eqeq1d |
|- ( -. a e. ran F -> ( if ( a e. ran F , 1o , (/) ) = 1o <-> (/) = 1o ) ) |
| 79 |
76 78
|
mtbiri |
|- ( -. a e. ran F -> -. if ( a e. ran F , 1o , (/) ) = 1o ) |
| 80 |
79
|
con4i |
|- ( if ( a e. ran F , 1o , (/) ) = 1o -> a e. ran F ) |
| 81 |
80
|
ralimi |
|- ( A. a e. Y if ( a e. ran F , 1o , (/) ) = 1o -> A. a e. Y a e. ran F ) |
| 82 |
74 81
|
syl |
|- ( ( ph /\ F e. ( X E Y ) ) -> A. a e. Y a e. ran F ) |
| 83 |
|
dfss3 |
|- ( Y C_ ran F <-> A. a e. Y a e. ran F ) |
| 84 |
82 83
|
sylibr |
|- ( ( ph /\ F e. ( X E Y ) ) -> Y C_ ran F ) |
| 85 |
20 84
|
eqssd |
|- ( ( ph /\ F e. ( X E Y ) ) -> ran F = Y ) |
| 86 |
|
dffo2 |
|- ( F : X -onto-> Y <-> ( F : X --> Y /\ ran F = Y ) ) |
| 87 |
19 85 86
|
sylanbrc |
|- ( ( ph /\ F e. ( X E Y ) ) -> F : X -onto-> Y ) |
| 88 |
|
fof |
|- ( F : X -onto-> Y -> F : X --> Y ) |
| 89 |
88
|
adantl |
|- ( ( ph /\ F : X -onto-> Y ) -> F : X --> Y ) |
| 90 |
17
|
biimpar |
|- ( ( ph /\ F : X --> Y ) -> F e. ( X ( Hom ` C ) Y ) ) |
| 91 |
89 90
|
syldan |
|- ( ( ph /\ F : X -onto-> Y ) -> F e. ( X ( Hom ` C ) Y ) ) |
| 92 |
12
|
adantr |
|- ( ( ph /\ F : X -onto-> Y ) -> U = ( Base ` C ) ) |
| 93 |
92
|
eleq2d |
|- ( ( ph /\ F : X -onto-> Y ) -> ( z e. U <-> z e. ( Base ` C ) ) ) |
| 94 |
2
|
ad2antrr |
|- ( ( ( ph /\ F : X -onto-> Y ) /\ ( z e. U /\ ( g e. ( Y ( Hom ` C ) z ) /\ h e. ( Y ( Hom ` C ) z ) ) ) ) -> U e. V ) |
| 95 |
3
|
ad2antrr |
|- ( ( ( ph /\ F : X -onto-> Y ) /\ ( z e. U /\ ( g e. ( Y ( Hom ` C ) z ) /\ h e. ( Y ( Hom ` C ) z ) ) ) ) -> X e. U ) |
| 96 |
4
|
ad2antrr |
|- ( ( ( ph /\ F : X -onto-> Y ) /\ ( z e. U /\ ( g e. ( Y ( Hom ` C ) z ) /\ h e. ( Y ( Hom ` C ) z ) ) ) ) -> Y e. U ) |
| 97 |
|
simprl |
|- ( ( ( ph /\ F : X -onto-> Y ) /\ ( z e. U /\ ( g e. ( Y ( Hom ` C ) z ) /\ h e. ( Y ( Hom ` C ) z ) ) ) ) -> z e. U ) |
| 98 |
89
|
adantr |
|- ( ( ( ph /\ F : X -onto-> Y ) /\ ( z e. U /\ ( g e. ( Y ( Hom ` C ) z ) /\ h e. ( Y ( Hom ` C ) z ) ) ) ) -> F : X --> Y ) |
| 99 |
|
simprrl |
|- ( ( ( ph /\ F : X -onto-> Y ) /\ ( z e. U /\ ( g e. ( Y ( Hom ` C ) z ) /\ h e. ( Y ( Hom ` C ) z ) ) ) ) -> g e. ( Y ( Hom ` C ) z ) ) |
| 100 |
1 94 8 96 97
|
elsetchom |
|- ( ( ( ph /\ F : X -onto-> Y ) /\ ( z e. U /\ ( g e. ( Y ( Hom ` C ) z ) /\ h e. ( Y ( Hom ` C ) z ) ) ) ) -> ( g e. ( Y ( Hom ` C ) z ) <-> g : Y --> z ) ) |
| 101 |
99 100
|
mpbid |
|- ( ( ( ph /\ F : X -onto-> Y ) /\ ( z e. U /\ ( g e. ( Y ( Hom ` C ) z ) /\ h e. ( Y ( Hom ` C ) z ) ) ) ) -> g : Y --> z ) |
| 102 |
1 94 9 95 96 97 98 101
|
setcco |
|- ( ( ( ph /\ F : X -onto-> Y ) /\ ( z e. U /\ ( g e. ( Y ( Hom ` C ) z ) /\ h e. ( Y ( Hom ` C ) z ) ) ) ) -> ( g ( <. X , Y >. ( comp ` C ) z ) F ) = ( g o. F ) ) |
| 103 |
|
simprrr |
|- ( ( ( ph /\ F : X -onto-> Y ) /\ ( z e. U /\ ( g e. ( Y ( Hom ` C ) z ) /\ h e. ( Y ( Hom ` C ) z ) ) ) ) -> h e. ( Y ( Hom ` C ) z ) ) |
| 104 |
1 94 8 96 97
|
elsetchom |
|- ( ( ( ph /\ F : X -onto-> Y ) /\ ( z e. U /\ ( g e. ( Y ( Hom ` C ) z ) /\ h e. ( Y ( Hom ` C ) z ) ) ) ) -> ( h e. ( Y ( Hom ` C ) z ) <-> h : Y --> z ) ) |
| 105 |
103 104
|
mpbid |
|- ( ( ( ph /\ F : X -onto-> Y ) /\ ( z e. U /\ ( g e. ( Y ( Hom ` C ) z ) /\ h e. ( Y ( Hom ` C ) z ) ) ) ) -> h : Y --> z ) |
| 106 |
1 94 9 95 96 97 98 105
|
setcco |
|- ( ( ( ph /\ F : X -onto-> Y ) /\ ( z e. U /\ ( g e. ( Y ( Hom ` C ) z ) /\ h e. ( Y ( Hom ` C ) z ) ) ) ) -> ( h ( <. X , Y >. ( comp ` C ) z ) F ) = ( h o. F ) ) |
| 107 |
102 106
|
eqeq12d |
|- ( ( ( ph /\ F : X -onto-> Y ) /\ ( z e. U /\ ( g e. ( Y ( Hom ` C ) z ) /\ h e. ( Y ( Hom ` C ) z ) ) ) ) -> ( ( g ( <. X , Y >. ( comp ` C ) z ) F ) = ( h ( <. X , Y >. ( comp ` C ) z ) F ) <-> ( g o. F ) = ( h o. F ) ) ) |
| 108 |
|
simplr |
|- ( ( ( ph /\ F : X -onto-> Y ) /\ ( z e. U /\ ( g e. ( Y ( Hom ` C ) z ) /\ h e. ( Y ( Hom ` C ) z ) ) ) ) -> F : X -onto-> Y ) |
| 109 |
101
|
ffnd |
|- ( ( ( ph /\ F : X -onto-> Y ) /\ ( z e. U /\ ( g e. ( Y ( Hom ` C ) z ) /\ h e. ( Y ( Hom ` C ) z ) ) ) ) -> g Fn Y ) |
| 110 |
105
|
ffnd |
|- ( ( ( ph /\ F : X -onto-> Y ) /\ ( z e. U /\ ( g e. ( Y ( Hom ` C ) z ) /\ h e. ( Y ( Hom ` C ) z ) ) ) ) -> h Fn Y ) |
| 111 |
|
cocan2 |
|- ( ( F : X -onto-> Y /\ g Fn Y /\ h Fn Y ) -> ( ( g o. F ) = ( h o. F ) <-> g = h ) ) |
| 112 |
108 109 110 111
|
syl3anc |
|- ( ( ( ph /\ F : X -onto-> Y ) /\ ( z e. U /\ ( g e. ( Y ( Hom ` C ) z ) /\ h e. ( Y ( Hom ` C ) z ) ) ) ) -> ( ( g o. F ) = ( h o. F ) <-> g = h ) ) |
| 113 |
112
|
biimpd |
|- ( ( ( ph /\ F : X -onto-> Y ) /\ ( z e. U /\ ( g e. ( Y ( Hom ` C ) z ) /\ h e. ( Y ( Hom ` C ) z ) ) ) ) -> ( ( g o. F ) = ( h o. F ) -> g = h ) ) |
| 114 |
107 113
|
sylbid |
|- ( ( ( ph /\ F : X -onto-> Y ) /\ ( z e. U /\ ( g e. ( Y ( Hom ` C ) z ) /\ h e. ( Y ( Hom ` C ) z ) ) ) ) -> ( ( g ( <. X , Y >. ( comp ` C ) z ) F ) = ( h ( <. X , Y >. ( comp ` C ) z ) F ) -> g = h ) ) |
| 115 |
114
|
anassrs |
|- ( ( ( ( ph /\ F : X -onto-> Y ) /\ z e. U ) /\ ( g e. ( Y ( Hom ` C ) z ) /\ h e. ( Y ( Hom ` C ) z ) ) ) -> ( ( g ( <. X , Y >. ( comp ` C ) z ) F ) = ( h ( <. X , Y >. ( comp ` C ) z ) F ) -> g = h ) ) |
| 116 |
115
|
ralrimivva |
|- ( ( ( ph /\ F : X -onto-> Y ) /\ z e. U ) -> A. g e. ( Y ( Hom ` C ) z ) A. h e. ( Y ( Hom ` C ) z ) ( ( g ( <. X , Y >. ( comp ` C ) z ) F ) = ( h ( <. X , Y >. ( comp ` C ) z ) F ) -> g = h ) ) |
| 117 |
116
|
ex |
|- ( ( ph /\ F : X -onto-> Y ) -> ( z e. U -> A. g e. ( Y ( Hom ` C ) z ) A. h e. ( Y ( Hom ` C ) z ) ( ( g ( <. X , Y >. ( comp ` C ) z ) F ) = ( h ( <. X , Y >. ( comp ` C ) z ) F ) -> g = h ) ) ) |
| 118 |
93 117
|
sylbird |
|- ( ( ph /\ F : X -onto-> Y ) -> ( z e. ( Base ` C ) -> A. g e. ( Y ( Hom ` C ) z ) A. h e. ( Y ( Hom ` C ) z ) ( ( g ( <. X , Y >. ( comp ` C ) z ) F ) = ( h ( <. X , Y >. ( comp ` C ) z ) F ) -> g = h ) ) ) |
| 119 |
118
|
ralrimiv |
|- ( ( ph /\ F : X -onto-> Y ) -> A. z e. ( Base ` C ) A. g e. ( Y ( Hom ` C ) z ) A. h e. ( Y ( Hom ` C ) z ) ( ( g ( <. X , Y >. ( comp ` C ) z ) F ) = ( h ( <. X , Y >. ( comp ` C ) z ) F ) -> g = h ) ) |
| 120 |
7 8 9 5 11 13 14
|
isepi2 |
|- ( ph -> ( F e. ( X E Y ) <-> ( F e. ( X ( Hom ` C ) Y ) /\ A. z e. ( Base ` C ) A. g e. ( Y ( Hom ` C ) z ) A. h e. ( Y ( Hom ` C ) z ) ( ( g ( <. X , Y >. ( comp ` C ) z ) F ) = ( h ( <. X , Y >. ( comp ` C ) z ) F ) -> g = h ) ) ) ) |
| 121 |
120
|
adantr |
|- ( ( ph /\ F : X -onto-> Y ) -> ( F e. ( X E Y ) <-> ( F e. ( X ( Hom ` C ) Y ) /\ A. z e. ( Base ` C ) A. g e. ( Y ( Hom ` C ) z ) A. h e. ( Y ( Hom ` C ) z ) ( ( g ( <. X , Y >. ( comp ` C ) z ) F ) = ( h ( <. X , Y >. ( comp ` C ) z ) F ) -> g = h ) ) ) ) |
| 122 |
91 119 121
|
mpbir2and |
|- ( ( ph /\ F : X -onto-> Y ) -> F e. ( X E Y ) ) |
| 123 |
87 122
|
impbida |
|- ( ph -> ( F e. ( X E Y ) <-> F : X -onto-> Y ) ) |