| 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 |
|
1oelpr |
|- 1o e. { (/) , 1o } |
| 43 |
|
df2o3 |
|- 2o = { (/) , 1o } |
| 44 |
42 43
|
eleqtrri |
|- 1o e. 2o |
| 45 |
|
0ex |
|- (/) e. _V |
| 46 |
45
|
prid1 |
|- (/) e. { (/) , 1o } |
| 47 |
46 43
|
eleqtrri |
|- (/) e. 2o |
| 48 |
44 47
|
ifcli |
|- if ( a e. ran F , 1o , (/) ) e. 2o |
| 49 |
48
|
a1i |
|- ( a e. Y -> if ( a e. ran F , 1o , (/) ) e. 2o ) |
| 50 |
41 49
|
fmpti |
|- ( a e. Y |-> if ( a e. ran F , 1o , (/) ) ) : Y --> 2o |
| 51 |
50
|
a1i |
|- ( ( ph /\ F e. ( X E Y ) ) -> ( a e. Y |-> if ( a e. ran F , 1o , (/) ) ) : Y --> 2o ) |
| 52 |
1 37 9 38 39 40 19 51
|
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 ) ) |
| 53 |
|
fconst6g |
|- ( 1o e. 2o -> ( Y X. { 1o } ) : Y --> 2o ) |
| 54 |
44 53
|
mp1i |
|- ( ( ph /\ F e. ( X E Y ) ) -> ( Y X. { 1o } ) : Y --> 2o ) |
| 55 |
1 37 9 38 39 40 19 54
|
setcco |
|- ( ( ph /\ F e. ( X E Y ) ) -> ( ( Y X. { 1o } ) ( <. X , Y >. ( comp ` C ) 2o ) F ) = ( ( Y X. { 1o } ) o. F ) ) |
| 56 |
36 52 55
|
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 ) ) |
| 57 |
11
|
adantr |
|- ( ( ph /\ F e. ( X E Y ) ) -> C e. Cat ) |
| 58 |
13
|
adantr |
|- ( ( ph /\ F e. ( X E Y ) ) -> X e. ( Base ` C ) ) |
| 59 |
14
|
adantr |
|- ( ( ph /\ F e. ( X E Y ) ) -> Y e. ( Base ` C ) ) |
| 60 |
6 12
|
eleqtrd |
|- ( ph -> 2o e. ( Base ` C ) ) |
| 61 |
60
|
adantr |
|- ( ( ph /\ F e. ( X E Y ) ) -> 2o e. ( Base ` C ) ) |
| 62 |
|
simpr |
|- ( ( ph /\ F e. ( X E Y ) ) -> F e. ( X E Y ) ) |
| 63 |
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 ) ) |
| 64 |
51 63
|
mpbird |
|- ( ( ph /\ F e. ( X E Y ) ) -> ( a e. Y |-> if ( a e. ran F , 1o , (/) ) ) e. ( Y ( Hom ` C ) 2o ) ) |
| 65 |
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 ) ) |
| 66 |
54 65
|
mpbird |
|- ( ( ph /\ F e. ( X E Y ) ) -> ( Y X. { 1o } ) e. ( Y ( Hom ` C ) 2o ) ) |
| 67 |
7 8 9 5 57 58 59 61 62 64 66
|
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 } ) ) ) |
| 68 |
56 67
|
mpbid |
|- ( ( ph /\ F e. ( X E Y ) ) -> ( a e. Y |-> if ( a e. ran F , 1o , (/) ) ) = ( Y X. { 1o } ) ) |
| 69 |
68 32
|
eqtrdi |
|- ( ( ph /\ F e. ( X E Y ) ) -> ( a e. Y |-> if ( a e. ran F , 1o , (/) ) ) = ( a e. Y |-> 1o ) ) |
| 70 |
48
|
rgenw |
|- A. a e. Y if ( a e. ran F , 1o , (/) ) e. 2o |
| 71 |
|
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 ) ) |
| 72 |
70 71
|
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 ) |
| 73 |
69 72
|
sylib |
|- ( ( ph /\ F e. ( X E Y ) ) -> A. a e. Y if ( a e. ran F , 1o , (/) ) = 1o ) |
| 74 |
|
1n0 |
|- 1o =/= (/) |
| 75 |
74
|
nesymi |
|- -. (/) = 1o |
| 76 |
|
iffalse |
|- ( -. a e. ran F -> if ( a e. ran F , 1o , (/) ) = (/) ) |
| 77 |
76
|
eqeq1d |
|- ( -. a e. ran F -> ( if ( a e. ran F , 1o , (/) ) = 1o <-> (/) = 1o ) ) |
| 78 |
75 77
|
mtbiri |
|- ( -. a e. ran F -> -. if ( a e. ran F , 1o , (/) ) = 1o ) |
| 79 |
78
|
con4i |
|- ( if ( a e. ran F , 1o , (/) ) = 1o -> a e. ran F ) |
| 80 |
79
|
ralimi |
|- ( A. a e. Y if ( a e. ran F , 1o , (/) ) = 1o -> A. a e. Y a e. ran F ) |
| 81 |
73 80
|
syl |
|- ( ( ph /\ F e. ( X E Y ) ) -> A. a e. Y a e. ran F ) |
| 82 |
|
dfss3 |
|- ( Y C_ ran F <-> A. a e. Y a e. ran F ) |
| 83 |
81 82
|
sylibr |
|- ( ( ph /\ F e. ( X E Y ) ) -> Y C_ ran F ) |
| 84 |
20 83
|
eqssd |
|- ( ( ph /\ F e. ( X E Y ) ) -> ran F = Y ) |
| 85 |
|
dffo2 |
|- ( F : X -onto-> Y <-> ( F : X --> Y /\ ran F = Y ) ) |
| 86 |
19 84 85
|
sylanbrc |
|- ( ( ph /\ F e. ( X E Y ) ) -> F : X -onto-> Y ) |
| 87 |
|
fof |
|- ( F : X -onto-> Y -> F : X --> Y ) |
| 88 |
87
|
adantl |
|- ( ( ph /\ F : X -onto-> Y ) -> F : X --> Y ) |
| 89 |
17
|
biimpar |
|- ( ( ph /\ F : X --> Y ) -> F e. ( X ( Hom ` C ) Y ) ) |
| 90 |
88 89
|
syldan |
|- ( ( ph /\ F : X -onto-> Y ) -> F e. ( X ( Hom ` C ) Y ) ) |
| 91 |
12
|
adantr |
|- ( ( ph /\ F : X -onto-> Y ) -> U = ( Base ` C ) ) |
| 92 |
91
|
eleq2d |
|- ( ( ph /\ F : X -onto-> Y ) -> ( z e. U <-> z e. ( Base ` C ) ) ) |
| 93 |
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 ) |
| 94 |
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 ) |
| 95 |
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 ) |
| 96 |
|
simprl |
|- ( ( ( ph /\ F : X -onto-> Y ) /\ ( z e. U /\ ( g e. ( Y ( Hom ` C ) z ) /\ h e. ( Y ( Hom ` C ) z ) ) ) ) -> z e. U ) |
| 97 |
88
|
adantr |
|- ( ( ( ph /\ F : X -onto-> Y ) /\ ( z e. U /\ ( g e. ( Y ( Hom ` C ) z ) /\ h e. ( Y ( Hom ` C ) z ) ) ) ) -> F : X --> Y ) |
| 98 |
|
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 ) ) |
| 99 |
1 93 8 95 96
|
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 ) ) |
| 100 |
98 99
|
mpbid |
|- ( ( ( ph /\ F : X -onto-> Y ) /\ ( z e. U /\ ( g e. ( Y ( Hom ` C ) z ) /\ h e. ( Y ( Hom ` C ) z ) ) ) ) -> g : Y --> z ) |
| 101 |
1 93 9 94 95 96 97 100
|
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 ) ) |
| 102 |
|
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 ) ) |
| 103 |
1 93 8 95 96
|
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 ) ) |
| 104 |
102 103
|
mpbid |
|- ( ( ( ph /\ F : X -onto-> Y ) /\ ( z e. U /\ ( g e. ( Y ( Hom ` C ) z ) /\ h e. ( Y ( Hom ` C ) z ) ) ) ) -> h : Y --> z ) |
| 105 |
1 93 9 94 95 96 97 104
|
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 ) ) |
| 106 |
101 105
|
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 ) ) ) |
| 107 |
|
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 ) |
| 108 |
100
|
ffnd |
|- ( ( ( ph /\ F : X -onto-> Y ) /\ ( z e. U /\ ( g e. ( Y ( Hom ` C ) z ) /\ h e. ( Y ( Hom ` C ) z ) ) ) ) -> g Fn Y ) |
| 109 |
104
|
ffnd |
|- ( ( ( ph /\ F : X -onto-> Y ) /\ ( z e. U /\ ( g e. ( Y ( Hom ` C ) z ) /\ h e. ( Y ( Hom ` C ) z ) ) ) ) -> h Fn Y ) |
| 110 |
|
cocan2 |
|- ( ( F : X -onto-> Y /\ g Fn Y /\ h Fn Y ) -> ( ( g o. F ) = ( h o. F ) <-> g = h ) ) |
| 111 |
107 108 109 110
|
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 ) ) |
| 112 |
111
|
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 ) ) |
| 113 |
106 112
|
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 ) ) |
| 114 |
113
|
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 ) ) |
| 115 |
114
|
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 ) ) |
| 116 |
115
|
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 ) ) ) |
| 117 |
92 116
|
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 ) ) ) |
| 118 |
117
|
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 ) ) |
| 119 |
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 ) ) ) ) |
| 120 |
119
|
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 ) ) ) ) |
| 121 |
90 118 120
|
mpbir2and |
|- ( ( ph /\ F : X -onto-> Y ) -> F e. ( X E Y ) ) |
| 122 |
86 121
|
impbida |
|- ( ph -> ( F e. ( X E Y ) <-> F : X -onto-> Y ) ) |