MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  setcepi Structured version   Visualization version   Unicode version

Theorem setcepi 16738
Description: An epimorphism of sets is a surjection. (Contributed by Mario Carneiro, 3-Jan-2017.)
Hypotheses
Ref Expression
setcmon.c  |-  C  =  ( SetCat `  U )
setcmon.u  |-  ( ph  ->  U  e.  V )
setcmon.x  |-  ( ph  ->  X  e.  U )
setcmon.y  |-  ( ph  ->  Y  e.  U )
setcepi.h  |-  E  =  (Epi `  C )
setcepi.2  |-  ( ph  ->  2o  e.  U )
Assertion
Ref Expression
setcepi  |-  ( ph  ->  ( F  e.  ( X E Y )  <-> 
F : X -onto-> Y
) )

Proof of Theorem setcepi
Dummy variables  x  g  a  h  z are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 eqid 2622 . . . . . 6  |-  ( Base `  C )  =  (
Base `  C )
2 eqid 2622 . . . . . 6  |-  ( Hom  `  C )  =  ( Hom  `  C )
3 eqid 2622 . . . . . 6  |-  (comp `  C )  =  (comp `  C )
4 setcepi.h . . . . . 6  |-  E  =  (Epi `  C )
5 setcmon.u . . . . . . 7  |-  ( ph  ->  U  e.  V )
6 setcmon.c . . . . . . . 8  |-  C  =  ( SetCat `  U )
76setccat 16735 . . . . . . 7  |-  ( U  e.  V  ->  C  e.  Cat )
85, 7syl 17 . . . . . 6  |-  ( ph  ->  C  e.  Cat )
9 setcmon.x . . . . . . 7  |-  ( ph  ->  X  e.  U )
106, 5setcbas 16728 . . . . . . 7  |-  ( ph  ->  U  =  ( Base `  C ) )
119, 10eleqtrd 2703 . . . . . 6  |-  ( ph  ->  X  e.  ( Base `  C ) )
12 setcmon.y . . . . . . 7  |-  ( ph  ->  Y  e.  U )
1312, 10eleqtrd 2703 . . . . . 6  |-  ( ph  ->  Y  e.  ( Base `  C ) )
141, 2, 3, 4, 8, 11, 13epihom 16402 . . . . 5  |-  ( ph  ->  ( X E Y )  C_  ( X
( Hom  `  C ) Y ) )
1514sselda 3603 . . . 4  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  F  e.  ( X ( Hom  `  C
) Y ) )
166, 5, 2, 9, 12elsetchom 16731 . . . . 5  |-  ( ph  ->  ( F  e.  ( X ( Hom  `  C
) Y )  <->  F : X
--> Y ) )
1716biimpa 501 . . . 4  |-  ( (
ph  /\  F  e.  ( X ( Hom  `  C
) Y ) )  ->  F : X --> Y )
1815, 17syldan 487 . . 3  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  F : X
--> Y )
19 frn 6053 . . . . 5  |-  ( F : X --> Y  ->  ran  F  C_  Y )
2018, 19syl 17 . . . 4  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  ran  F  C_  Y )
21 ffn 6045 . . . . . . . . . . . . . . 15  |-  ( F : X --> Y  ->  F  Fn  X )
2218, 21syl 17 . . . . . . . . . . . . . 14  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  F  Fn  X )
23 fnfvelrn 6356 . . . . . . . . . . . . . 14  |-  ( ( F  Fn  X  /\  x  e.  X )  ->  ( F `  x
)  e.  ran  F
)
2422, 23sylan 488 . . . . . . . . . . . . 13  |-  ( ( ( ph  /\  F  e.  ( X E Y ) )  /\  x  e.  X )  ->  ( F `  x )  e.  ran  F )
2524iftrued 4094 . . . . . . . . . . . 12  |-  ( ( ( ph  /\  F  e.  ( X E Y ) )  /\  x  e.  X )  ->  if ( ( F `  x )  e.  ran  F ,  1o ,  (/) )  =  1o )
2625mpteq2dva 4744 . . . . . . . . . . 11  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  ( x  e.  X  |->  if ( ( F `  x
)  e.  ran  F ,  1o ,  (/) ) )  =  ( x  e.  X  |->  1o ) )
2718ffvelrnda 6359 . . . . . . . . . . . 12  |-  ( ( ( ph  /\  F  e.  ( X E Y ) )  /\  x  e.  X )  ->  ( F `  x )  e.  Y )
2818feqmptd 6249 . . . . . . . . . . . 12  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  F  =  ( x  e.  X  |->  ( F `  x
) ) )
29 eqidd 2623 . . . . . . . . . . . 12  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  ( a  e.  Y  |->  if ( a  e.  ran  F ,  1o ,  (/) ) )  =  ( a  e.  Y  |->  if ( a  e.  ran  F ,  1o ,  (/) ) ) )
30 eleq1 2689 . . . . . . . . . . . . 13  |-  ( a  =  ( F `  x )  ->  (
a  e.  ran  F  <->  ( F `  x )  e.  ran  F ) )
3130ifbid 4108 . . . . . . . . . . . 12  |-  ( a  =  ( F `  x )  ->  if ( a  e.  ran  F ,  1o ,  (/) )  =  if (
( F `  x
)  e.  ran  F ,  1o ,  (/) ) )
3227, 28, 29, 31fmptco 6396 . . . . . . . . . . 11  |-  ( (
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 ,  (/) ) ) )
33 fconstmpt 5163 . . . . . . . . . . . . 13  |-  ( Y  X.  { 1o }
)  =  ( a  e.  Y  |->  1o )
3433a1i 11 . . . . . . . . . . . 12  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  ( Y  X.  { 1o } )  =  ( a  e.  Y  |->  1o ) )
35 eqidd 2623 . . . . . . . . . . . 12  |-  ( a  =  ( F `  x )  ->  1o  =  1o )
3627, 28, 34, 35fmptco 6396 . . . . . . . . . . 11  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  ( ( Y  X.  { 1o }
)  o.  F )  =  ( x  e.  X  |->  1o ) )
3726, 32, 363eqtr4d 2666 . . . . . . . . . 10  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  ( (
a  e.  Y  |->  if ( a  e.  ran  F ,  1o ,  (/) ) )  o.  F
)  =  ( ( Y  X.  { 1o } )  o.  F
) )
385adantr 481 . . . . . . . . . . 11  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  U  e.  V )
399adantr 481 . . . . . . . . . . 11  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  X  e.  U )
4012adantr 481 . . . . . . . . . . 11  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  Y  e.  U )
41 setcepi.2 . . . . . . . . . . . 12  |-  ( ph  ->  2o  e.  U )
4241adantr 481 . . . . . . . . . . 11  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  2o  e.  U )
43 eqid 2622 . . . . . . . . . . . . 13  |-  ( a  e.  Y  |->  if ( a  e.  ran  F ,  1o ,  (/) ) )  =  ( a  e.  Y  |->  if ( a  e.  ran  F ,  1o ,  (/) ) )
44 1onn 7719 . . . . . . . . . . . . . . . . . 18  |-  1o  e.  om
4544elexi 3213 . . . . . . . . . . . . . . . . 17  |-  1o  e.  _V
4645prid2 4298 . . . . . . . . . . . . . . . 16  |-  1o  e.  {
(/) ,  1o }
47 df2o3 7573 . . . . . . . . . . . . . . . 16  |-  2o  =  { (/) ,  1o }
4846, 47eleqtrri 2700 . . . . . . . . . . . . . . 15  |-  1o  e.  2o
49 0ex 4790 . . . . . . . . . . . . . . . . 17  |-  (/)  e.  _V
5049prid1 4297 . . . . . . . . . . . . . . . 16  |-  (/)  e.  { (/)
,  1o }
5150, 47eleqtrri 2700 . . . . . . . . . . . . . . 15  |-  (/)  e.  2o
5248, 51keepel 4155 . . . . . . . . . . . . . 14  |-  if ( a  e.  ran  F ,  1o ,  (/) )  e.  2o
5352a1i 11 . . . . . . . . . . . . 13  |-  ( a  e.  Y  ->  if ( a  e.  ran  F ,  1o ,  (/) )  e.  2o )
5443, 53fmpti 6383 . . . . . . . . . . . 12  |-  ( a  e.  Y  |->  if ( a  e.  ran  F ,  1o ,  (/) ) ) : Y --> 2o
5554a1i 11 . . . . . . . . . . 11  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  ( a  e.  Y  |->  if ( a  e.  ran  F ,  1o ,  (/) ) ) : Y --> 2o )
566, 38, 3, 39, 40, 42, 18, 55setcco 16733 . . . . . . . . . 10  |-  ( (
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 ) )
57 fconst6g 6094 . . . . . . . . . . . 12  |-  ( 1o  e.  2o  ->  ( Y  X.  { 1o }
) : Y --> 2o )
5848, 57mp1i 13 . . . . . . . . . . 11  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  ( Y  X.  { 1o } ) : Y --> 2o )
596, 38, 3, 39, 40, 42, 18, 58setcco 16733 . . . . . . . . . 10  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  ( ( Y  X.  { 1o }
) ( <. X ,  Y >. (comp `  C
) 2o ) F )  =  ( ( Y  X.  { 1o } )  o.  F
) )
6037, 56, 593eqtr4d 2666 . . . . . . . . 9  |-  ( (
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 ) )
618adantr 481 . . . . . . . . . 10  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  C  e.  Cat )
6211adantr 481 . . . . . . . . . 10  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  X  e.  ( Base `  C )
)
6313adantr 481 . . . . . . . . . 10  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  Y  e.  ( Base `  C )
)
6441, 10eleqtrd 2703 . . . . . . . . . . 11  |-  ( ph  ->  2o  e.  ( Base `  C ) )
6564adantr 481 . . . . . . . . . 10  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  2o  e.  ( Base `  C )
)
66 simpr 477 . . . . . . . . . 10  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  F  e.  ( X E Y ) )
676, 38, 2, 40, 42elsetchom 16731 . . . . . . . . . . 11  |-  ( (
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 ) )
6855, 67mpbird 247 . . . . . . . . . 10  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  ( a  e.  Y  |->  if ( a  e.  ran  F ,  1o ,  (/) ) )  e.  ( Y ( Hom  `  C ) 2o ) )
696, 38, 2, 40, 42elsetchom 16731 . . . . . . . . . . 11  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  ( ( Y  X.  { 1o }
)  e.  ( Y ( Hom  `  C
) 2o )  <->  ( Y  X.  { 1o } ) : Y --> 2o ) )
7058, 69mpbird 247 . . . . . . . . . 10  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  ( Y  X.  { 1o } )  e.  ( Y ( Hom  `  C ) 2o ) )
711, 2, 3, 4, 61, 62, 63, 65, 66, 68, 70epii 16403 . . . . . . . . 9  |-  ( (
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 } ) ) )
7260, 71mpbid 222 . . . . . . . 8  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  ( a  e.  Y  |->  if ( a  e.  ran  F ,  1o ,  (/) ) )  =  ( Y  X.  { 1o } ) )
7372, 33syl6eq 2672 . . . . . . 7  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  ( a  e.  Y  |->  if ( a  e.  ran  F ,  1o ,  (/) ) )  =  ( a  e.  Y  |->  1o ) )
7452rgenw 2924 . . . . . . . 8  |-  A. a  e.  Y  if (
a  e.  ran  F ,  1o ,  (/) )  e.  2o
75 mpteqb 6299 . . . . . . . 8  |-  ( 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 ) )
7674, 75ax-mp 5 . . . . . . 7  |-  ( ( a  e.  Y  |->  if ( a  e.  ran  F ,  1o ,  (/) ) )  =  ( a  e.  Y  |->  1o )  <->  A. a  e.  Y  if ( a  e.  ran  F ,  1o ,  (/) )  =  1o )
7773, 76sylib 208 . . . . . 6  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  A. a  e.  Y  if (
a  e.  ran  F ,  1o ,  (/) )  =  1o )
78 1n0 7575 . . . . . . . . . 10  |-  1o  =/=  (/)
7978nesymi 2851 . . . . . . . . 9  |-  -.  (/)  =  1o
80 iffalse 4095 . . . . . . . . . 10  |-  ( -.  a  e.  ran  F  ->  if ( a  e. 
ran  F ,  1o ,  (/) )  =  (/) )
8180eqeq1d 2624 . . . . . . . . 9  |-  ( -.  a  e.  ran  F  ->  ( if ( a  e.  ran  F ,  1o ,  (/) )  =  1o  <->  (/)  =  1o ) )
8279, 81mtbiri 317 . . . . . . . 8  |-  ( -.  a  e.  ran  F  ->  -.  if ( a  e.  ran  F ,  1o ,  (/) )  =  1o )
8382con4i 113 . . . . . . 7  |-  ( if ( a  e.  ran  F ,  1o ,  (/) )  =  1o  ->  a  e.  ran  F )
8483ralimi 2952 . . . . . 6  |-  ( A. a  e.  Y  if ( a  e.  ran  F ,  1o ,  (/) )  =  1o  ->  A. a  e.  Y  a  e.  ran  F )
8577, 84syl 17 . . . . 5  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  A. a  e.  Y  a  e.  ran  F )
86 dfss3 3592 . . . . 5  |-  ( Y 
C_  ran  F  <->  A. a  e.  Y  a  e.  ran  F )
8785, 86sylibr 224 . . . 4  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  Y  C_  ran  F )
8820, 87eqssd 3620 . . 3  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  ran  F  =  Y )
89 dffo2 6119 . . 3  |-  ( F : X -onto-> Y  <->  ( F : X --> Y  /\  ran  F  =  Y ) )
9018, 88, 89sylanbrc 698 . 2  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  F : X -onto-> Y )
91 fof 6115 . . . . 5  |-  ( F : X -onto-> Y  ->  F : X --> Y )
9291adantl 482 . . . 4  |-  ( (
ph  /\  F : X -onto-> Y )  ->  F : X --> Y )
9316biimpar 502 . . . 4  |-  ( (
ph  /\  F : X
--> Y )  ->  F  e.  ( X ( Hom  `  C ) Y ) )
9492, 93syldan 487 . . 3  |-  ( (
ph  /\  F : X -onto-> Y )  ->  F  e.  ( X ( Hom  `  C ) Y ) )
9510adantr 481 . . . . . 6  |-  ( (
ph  /\  F : X -onto-> Y )  ->  U  =  ( Base `  C
) )
9695eleq2d 2687 . . . . 5  |-  ( (
ph  /\  F : X -onto-> Y )  ->  (
z  e.  U  <->  z  e.  ( Base `  C )
) )
975ad2antrr 762 . . . . . . . . . . 11  |-  ( ( ( ph  /\  F : X -onto-> Y )  /\  (
z  e.  U  /\  ( g  e.  ( Y ( Hom  `  C
) z )  /\  h  e.  ( Y
( Hom  `  C ) z ) ) ) )  ->  U  e.  V )
989ad2antrr 762 . . . . . . . . . . 11  |-  ( ( ( ph  /\  F : X -onto-> Y )  /\  (
z  e.  U  /\  ( g  e.  ( Y ( Hom  `  C
) z )  /\  h  e.  ( Y
( Hom  `  C ) z ) ) ) )  ->  X  e.  U )
9912ad2antrr 762 . . . . . . . . . . 11  |-  ( ( ( ph  /\  F : X -onto-> Y )  /\  (
z  e.  U  /\  ( g  e.  ( Y ( Hom  `  C
) z )  /\  h  e.  ( Y
( Hom  `  C ) z ) ) ) )  ->  Y  e.  U )
100 simprl 794 . . . . . . . . . . 11  |-  ( ( ( ph  /\  F : X -onto-> Y )  /\  (
z  e.  U  /\  ( g  e.  ( Y ( Hom  `  C
) z )  /\  h  e.  ( Y
( Hom  `  C ) z ) ) ) )  ->  z  e.  U )
10192adantr 481 . . . . . . . . . . 11  |-  ( ( ( ph  /\  F : X -onto-> Y )  /\  (
z  e.  U  /\  ( g  e.  ( Y ( Hom  `  C
) z )  /\  h  e.  ( Y
( Hom  `  C ) z ) ) ) )  ->  F : X
--> Y )
102 simprrl 804 . . . . . . . . . . . 12  |-  ( ( ( 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 ) )
1036, 97, 2, 99, 100elsetchom 16731 . . . . . . . . . . . 12  |-  ( ( ( 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 ) )
104102, 103mpbid 222 . . . . . . . . . . 11  |-  ( ( ( ph  /\  F : X -onto-> Y )  /\  (
z  e.  U  /\  ( g  e.  ( Y ( Hom  `  C
) z )  /\  h  e.  ( Y
( Hom  `  C ) z ) ) ) )  ->  g : Y
--> z )
1056, 97, 3, 98, 99, 100, 101, 104setcco 16733 . . . . . . . . . 10  |-  ( ( ( 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 ) )
106 simprrr 805 . . . . . . . . . . . 12  |-  ( ( ( 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 ) )
1076, 97, 2, 99, 100elsetchom 16731 . . . . . . . . . . . 12  |-  ( ( ( 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 ) )
108106, 107mpbid 222 . . . . . . . . . . 11  |-  ( ( ( ph  /\  F : X -onto-> Y )  /\  (
z  e.  U  /\  ( g  e.  ( Y ( Hom  `  C
) z )  /\  h  e.  ( Y
( Hom  `  C ) z ) ) ) )  ->  h : Y
--> z )
1096, 97, 3, 98, 99, 100, 101, 108setcco 16733 . . . . . . . . . 10  |-  ( ( ( 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 ) )
110105, 109eqeq12d 2637 . . . . . . . . 9  |-  ( ( ( 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 ) ) )
111 simplr 792 . . . . . . . . . . 11  |-  ( ( ( ph  /\  F : X -onto-> Y )  /\  (
z  e.  U  /\  ( g  e.  ( Y ( Hom  `  C
) z )  /\  h  e.  ( Y
( Hom  `  C ) z ) ) ) )  ->  F : X -onto-> Y )
112 ffn 6045 . . . . . . . . . . . 12  |-  ( g : Y --> z  -> 
g  Fn  Y )
113104, 112syl 17 . . . . . . . . . . 11  |-  ( ( ( ph  /\  F : X -onto-> Y )  /\  (
z  e.  U  /\  ( g  e.  ( Y ( Hom  `  C
) z )  /\  h  e.  ( Y
( Hom  `  C ) z ) ) ) )  ->  g  Fn  Y )
114 ffn 6045 . . . . . . . . . . . 12  |-  ( h : Y --> z  ->  h  Fn  Y )
115108, 114syl 17 . . . . . . . . . . 11  |-  ( ( ( ph  /\  F : X -onto-> Y )  /\  (
z  e.  U  /\  ( g  e.  ( Y ( Hom  `  C
) z )  /\  h  e.  ( Y
( Hom  `  C ) z ) ) ) )  ->  h  Fn  Y )
116 cocan2 6547 . . . . . . . . . . 11  |-  ( ( F : X -onto-> Y  /\  g  Fn  Y  /\  h  Fn  Y
)  ->  ( (
g  o.  F )  =  ( h  o.  F )  <->  g  =  h ) )
117111, 113, 115, 116syl3anc 1326 . . . . . . . . . 10  |-  ( ( ( 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 ) )
118117biimpd 219 . . . . . . . . 9  |-  ( ( ( 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 ) )
119110, 118sylbid 230 . . . . . . . 8  |-  ( ( ( 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 ) )
120119anassrs 680 . . . . . . 7  |-  ( ( ( ( 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 ) )
121120ralrimivva 2971 . . . . . 6  |-  ( ( ( 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 ) )
122121ex 450 . . . . 5  |-  ( (
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 ) ) )
12396, 122sylbird 250 . . . 4  |-  ( (
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 ) ) )
124123ralrimiv 2965 . . 3  |-  ( (
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 ) )
1251, 2, 3, 4, 8, 11, 13isepi2 16401 . . . 4  |-  ( 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 ) ) ) )
126125adantr 481 . . 3  |-  ( (
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 ) ) ) )
12794, 124, 126mpbir2and 957 . 2  |-  ( (
ph  /\  F : X -onto-> Y )  ->  F  e.  ( X E Y ) )
12890, 127impbida 877 1  |-  ( ph  ->  ( F  e.  ( X E Y )  <-> 
F : X -onto-> Y
) )
Colors of variables: wff setvar class
Syntax hints:   -. wn 3    -> wi 4    <-> wb 196    /\ wa 384    = wceq 1483    e. wcel 1990   A.wral 2912    C_ wss 3574   (/)c0 3915   ifcif 4086   {csn 4177   {cpr 4179   <.cop 4183    |-> cmpt 4729    X. cxp 5112   ran crn 5115    o. ccom 5118    Fn wfn 5883   -->wf 5884   -onto->wfo 5886   ` cfv 5888  (class class class)co 6650   omcom 7065   1oc1o 7553   2oc2o 7554   Basecbs 15857   Hom chom 15952  compcco 15953   Catccat 16325  Epicepi 16389   SetCatcsetc 16725
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1722  ax-4 1737  ax-5 1839  ax-6 1888  ax-7 1935  ax-8 1992  ax-9 1999  ax-10 2019  ax-11 2034  ax-12 2047  ax-13 2246  ax-ext 2602  ax-rep 4771  ax-sep 4781  ax-nul 4789  ax-pow 4843  ax-pr 4906  ax-un 6949  ax-cnex 9992  ax-resscn 9993  ax-1cn 9994  ax-icn 9995  ax-addcl 9996  ax-addrcl 9997  ax-mulcl 9998  ax-mulrcl 9999  ax-mulcom 10000  ax-addass 10001  ax-mulass 10002  ax-distr 10003  ax-i2m1 10004  ax-1ne0 10005  ax-1rid 10006  ax-rnegex 10007  ax-rrecex 10008  ax-cnre 10009  ax-pre-lttri 10010  ax-pre-lttrn 10011  ax-pre-ltadd 10012  ax-pre-mulgt0 10013
This theorem depends on definitions:  df-bi 197  df-or 385  df-an 386  df-3or 1038  df-3an 1039  df-tru 1486  df-ex 1705  df-nf 1710  df-sb 1881  df-eu 2474  df-mo 2475  df-clab 2609  df-cleq 2615  df-clel 2618  df-nfc 2753  df-ne 2795  df-nel 2898  df-ral 2917  df-rex 2918  df-reu 2919  df-rmo 2920  df-rab 2921  df-v 3202  df-sbc 3436  df-csb 3534  df-dif 3577  df-un 3579  df-in 3581  df-ss 3588  df-pss 3590  df-nul 3916  df-if 4087  df-pw 4160  df-sn 4178  df-pr 4180  df-tp 4182  df-op 4184  df-uni 4437  df-int 4476  df-iun 4522  df-br 4654  df-opab 4713  df-mpt 4730  df-tr 4753  df-id 5024  df-eprel 5029  df-po 5035  df-so 5036  df-fr 5073  df-we 5075  df-xp 5120  df-rel 5121  df-cnv 5122  df-co 5123  df-dm 5124  df-rn 5125  df-res 5126  df-ima 5127  df-pred 5680  df-ord 5726  df-on 5727  df-lim 5728  df-suc 5729  df-iota 5851  df-fun 5890  df-fn 5891  df-f 5892  df-f1 5893  df-fo 5894  df-f1o 5895  df-fv 5896  df-riota 6611  df-ov 6653  df-oprab 6654  df-mpt2 6655  df-om 7066  df-1st 7168  df-2nd 7169  df-tpos 7352  df-wrecs 7407  df-recs 7468  df-rdg 7506  df-1o 7560  df-2o 7561  df-oadd 7564  df-er 7742  df-map 7859  df-en 7956  df-dom 7957  df-sdom 7958  df-fin 7959  df-pnf 10076  df-mnf 10077  df-xr 10078  df-ltxr 10079  df-le 10080  df-sub 10268  df-neg 10269  df-nn 11021  df-2 11079  df-3 11080  df-4 11081  df-5 11082  df-6 11083  df-7 11084  df-8 11085  df-9 11086  df-n0 11293  df-z 11378  df-dec 11494  df-uz 11688  df-fz 12327  df-struct 15859  df-ndx 15860  df-slot 15861  df-base 15863  df-sets 15864  df-hom 15966  df-cco 15967  df-cat 16329  df-cid 16330  df-oppc 16372  df-mon 16390  df-epi 16391  df-setc 16726
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator