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

Theorem setcepi 15976
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 2423 . . . . . 6  |-  ( Base `  C )  =  (
Base `  C )
2 eqid 2423 . . . . . 6  |-  ( Hom  `  C )  =  ( Hom  `  C )
3 eqid 2423 . . . . . 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 15973 . . . . . . 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 15966 . . . . . . 7  |-  ( ph  ->  U  =  ( Base `  C ) )
119, 10eleqtrd 2513 . . . . . 6  |-  ( ph  ->  X  e.  ( Base `  C ) )
12 setcmon.y . . . . . . 7  |-  ( ph  ->  Y  e.  U )
1312, 10eleqtrd 2513 . . . . . 6  |-  ( ph  ->  Y  e.  ( Base `  C ) )
141, 2, 3, 4, 8, 11, 13epihom 15640 . . . . 5  |-  ( ph  ->  ( X E Y )  C_  ( X
( Hom  `  C ) Y ) )
1514sselda 3465 . . . 4  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  F  e.  ( X ( Hom  `  C
) Y ) )
166, 5, 2, 9, 12elsetchom 15969 . . . . 5  |-  ( ph  ->  ( F  e.  ( X ( Hom  `  C
) Y )  <->  F : X
--> Y ) )
1716biimpa 487 . . . 4  |-  ( (
ph  /\  F  e.  ( X ( Hom  `  C
) Y ) )  ->  F : X --> Y )
1815, 17syldan 473 . . 3  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  F : X
--> Y )
19 frn 5750 . . . . 5  |-  ( F : X --> Y  ->  ran  F  C_  Y )
2018, 19syl 17 . . . 4  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  ran  F  C_  Y )
21 ffn 5744 . . . . . . . . . . . . . . 15  |-  ( F : X --> Y  ->  F  Fn  X )
2218, 21syl 17 . . . . . . . . . . . . . 14  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  F  Fn  X )
23 fnfvelrn 6032 . . . . . . . . . . . . . 14  |-  ( ( F  Fn  X  /\  x  e.  X )  ->  ( F `  x
)  e.  ran  F
)
2422, 23sylan 474 . . . . . . . . . . . . 13  |-  ( ( ( ph  /\  F  e.  ( X E Y ) )  /\  x  e.  X )  ->  ( F `  x )  e.  ran  F )
2524iftrued 3918 . . . . . . . . . . . 12  |-  ( ( ( ph  /\  F  e.  ( X E Y ) )  /\  x  e.  X )  ->  if ( ( F `  x )  e.  ran  F ,  1o ,  (/) )  =  1o )
2625mpteq2dva 4508 . . . . . . . . . . 11  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  ( x  e.  X  |->  if ( ( F `  x
)  e.  ran  F ,  1o ,  (/) ) )  =  ( x  e.  X  |->  1o ) )
2718ffvelrnda 6035 . . . . . . . . . . . 12  |-  ( ( ( ph  /\  F  e.  ( X E Y ) )  /\  x  e.  X )  ->  ( F `  x )  e.  Y )
2818feqmptd 5932 . . . . . . . . . . . 12  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  F  =  ( x  e.  X  |->  ( F `  x
) ) )
29 eqidd 2424 . . . . . . . . . . . 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 2495 . . . . . . . . . . . . 13  |-  ( a  =  ( F `  x )  ->  (
a  e.  ran  F  <->  ( F `  x )  e.  ran  F ) )
3130ifbid 3932 . . . . . . . . . . . 12  |-  ( a  =  ( F `  x )  ->  if ( a  e.  ran  F ,  1o ,  (/) )  =  if (
( F `  x
)  e.  ran  F ,  1o ,  (/) ) )
3227, 28, 29, 31fmptco 6069 . . . . . . . . . . 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 4895 . . . . . . . . . . . . 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 2424 . . . . . . . . . . . 12  |-  ( a  =  ( F `  x )  ->  1o  =  1o )
3627, 28, 34, 35fmptco 6069 . . . . . . . . . . 11  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  ( ( Y  X.  { 1o }
)  o.  F )  =  ( x  e.  X  |->  1o ) )
3726, 32, 363eqtr4d 2474 . . . . . . . . . 10  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  ( (
a  e.  Y  |->  if ( a  e.  ran  F ,  1o ,  (/) ) )  o.  F
)  =  ( ( Y  X.  { 1o } )  o.  F
) )
385adantr 467 . . . . . . . . . . 11  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  U  e.  V )
399adantr 467 . . . . . . . . . . 11  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  X  e.  U )
4012adantr 467 . . . . . . . . . . 11  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  Y  e.  U )
41 setcepi.2 . . . . . . . . . . . 12  |-  ( ph  ->  2o  e.  U )
4241adantr 467 . . . . . . . . . . 11  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  2o  e.  U )
43 eqid 2423 . . . . . . . . . . . . 13  |-  ( a  e.  Y  |->  if ( a  e.  ran  F ,  1o ,  (/) ) )  =  ( a  e.  Y  |->  if ( a  e.  ran  F ,  1o ,  (/) ) )
44 1onn 7346 . . . . . . . . . . . . . . . . . 18  |-  1o  e.  om
4544elexi 3092 . . . . . . . . . . . . . . . . 17  |-  1o  e.  _V
4645prid2 4107 . . . . . . . . . . . . . . . 16  |-  1o  e.  {
(/) ,  1o }
47 df2o3 7201 . . . . . . . . . . . . . . . 16  |-  2o  =  { (/) ,  1o }
4846, 47eleqtrri 2510 . . . . . . . . . . . . . . 15  |-  1o  e.  2o
49 0ex 4554 . . . . . . . . . . . . . . . . 17  |-  (/)  e.  _V
5049prid1 4106 . . . . . . . . . . . . . . . 16  |-  (/)  e.  { (/)
,  1o }
5150, 47eleqtrri 2510 . . . . . . . . . . . . . . 15  |-  (/)  e.  2o
5248, 51keepel 3977 . . . . . . . . . . . . . 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 6058 . . . . . . . . . . . 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 15971 . . . . . . . . . 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 5787 . . . . . . . . . . . 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 15971 . . . . . . . . . 10  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  ( ( Y  X.  { 1o }
) ( <. X ,  Y >. (comp `  C
) 2o ) F )  =  ( ( Y  X.  { 1o } )  o.  F
) )
6037, 56, 593eqtr4d 2474 . . . . . . . . 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 467 . . . . . . . . . 10  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  C  e.  Cat )
6211adantr 467 . . . . . . . . . 10  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  X  e.  ( Base `  C )
)
6313adantr 467 . . . . . . . . . 10  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  Y  e.  ( Base `  C )
)
6441, 10eleqtrd 2513 . . . . . . . . . . 11  |-  ( ph  ->  2o  e.  ( Base `  C ) )
6564adantr 467 . . . . . . . . . 10  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  2o  e.  ( Base `  C )
)
66 simpr 463 . . . . . . . . . 10  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  F  e.  ( X E Y ) )
676, 38, 2, 40, 42elsetchom 15969 . . . . . . . . . . 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 236 . . . . . . . . . 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 15969 . . . . . . . . . . 11  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  ( ( Y  X.  { 1o }
)  e.  ( Y ( Hom  `  C
) 2o )  <->  ( Y  X.  { 1o } ) : Y --> 2o ) )
7058, 69mpbird 236 . . . . . . . . . 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 15641 . . . . . . . . 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 214 . . . . . . . 8  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  ( a  e.  Y  |->  if ( a  e.  ran  F ,  1o ,  (/) ) )  =  ( Y  X.  { 1o } ) )
7372, 33syl6eq 2480 . . . . . . 7  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  ( a  e.  Y  |->  if ( a  e.  ran  F ,  1o ,  (/) ) )  =  ( a  e.  Y  |->  1o ) )
7452rgenw 2787 . . . . . . . 8  |-  A. a  e.  Y  if (
a  e.  ran  F ,  1o ,  (/) )  e.  2o
75 mpteqb 5978 . . . . . . . 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 200 . . . . . 6  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  A. a  e.  Y  if (
a  e.  ran  F ,  1o ,  (/) )  =  1o )
78 1n0 7203 . . . . . . . . . 10  |-  1o  =/=  (/)
7978nesymi 2698 . . . . . . . . 9  |-  -.  (/)  =  1o
80 iffalse 3919 . . . . . . . . . 10  |-  ( -.  a  e.  ran  F  ->  if ( a  e. 
ran  F ,  1o ,  (/) )  =  (/) )
8180eqeq1d 2425 . . . . . . . . 9  |-  ( -.  a  e.  ran  F  ->  ( if ( a  e.  ran  F ,  1o ,  (/) )  =  1o  <->  (/)  =  1o ) )
8279, 81mtbiri 305 . . . . . . . 8  |-  ( -.  a  e.  ran  F  ->  -.  if ( a  e.  ran  F ,  1o ,  (/) )  =  1o )
8382con4i 134 . . . . . . 7  |-  ( if ( a  e.  ran  F ,  1o ,  (/) )  =  1o  ->  a  e.  ran  F )
8483ralimi 2819 . . . . . 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 3455 . . . . 5  |-  ( Y 
C_  ran  F  <->  A. a  e.  Y  a  e.  ran  F )
8785, 86sylibr 216 . . . 4  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  Y  C_  ran  F )
8820, 87eqssd 3482 . . 3  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  ran  F  =  Y )
89 dffo2 5812 . . 3  |-  ( F : X -onto-> Y  <->  ( F : X --> Y  /\  ran  F  =  Y ) )
9018, 88, 89sylanbrc 669 . 2  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  F : X -onto-> Y )
91 fof 5808 . . . . 5  |-  ( F : X -onto-> Y  ->  F : X --> Y )
9291adantl 468 . . . 4  |-  ( (
ph  /\  F : X -onto-> Y )  ->  F : X --> Y )
9316biimpar 488 . . . 4  |-  ( (
ph  /\  F : X
--> Y )  ->  F  e.  ( X ( Hom  `  C ) Y ) )
9492, 93syldan 473 . . 3  |-  ( (
ph  /\  F : X -onto-> Y )  ->  F  e.  ( X ( Hom  `  C ) Y ) )
9510adantr 467 . . . . . 6  |-  ( (
ph  /\  F : X -onto-> Y )  ->  U  =  ( Base `  C
) )
9695eleq2d 2493 . . . . 5  |-  ( (
ph  /\  F : X -onto-> Y )  ->  (
z  e.  U  <->  z  e.  ( Base `  C )
) )
975ad2antrr 731 . . . . . . . . . . 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 731 . . . . . . . . . . 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 731 . . . . . . . . . . 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 763 . . . . . . . . . . 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 467 . . . . . . . . . . 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 773 . . . . . . . . . . . 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 15969 . . . . . . . . . . . 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 214 . . . . . . . . . . 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 15971 . . . . . . . . . 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 774 . . . . . . . . . . . 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 15969 . . . . . . . . . . . 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 214 . . . . . . . . . . 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 15971 . . . . . . . . . 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 2445 . . . . . . . . 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 761 . . . . . . . . . . 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 5744 . . . . . . . . . . . 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 5744 . . . . . . . . . . . 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 6203 . . . . . . . . . . 11  |-  ( ( F : X -onto-> Y  /\  g  Fn  Y  /\  h  Fn  Y
)  ->  ( (
g  o.  F )  =  ( h  o.  F )  <->  g  =  h ) )
117111, 113, 115, 116syl3anc 1265 . . . . . . . . . 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 211 . . . . . . . . 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 219 . . . . . . . 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 653 . . . . . . 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 2847 . . . . . 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 436 . . . . 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 239 . . . 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 2838 . . 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 15639 . . . 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 467 . . 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 931 . 2  |-  ( (
ph  /\  F : X -onto-> Y )  ->  F  e.  ( X E Y ) )
12890, 127impbida 841 1  |-  ( ph  ->  ( F  e.  ( X E Y )  <-> 
F : X -onto-> Y
) )
Colors of variables: wff setvar class
Syntax hints:   -. wn 3    -> wi 4    <-> wb 188    /\ wa 371    = wceq 1438    e. wcel 1869   A.wral 2776    C_ wss 3437   (/)c0 3762   ifcif 3910   {csn 3997   {cpr 3999   <.cop 4003    |-> cmpt 4480    X. cxp 4849   ran crn 4852    o. ccom 4855    Fn wfn 5594   -->wf 5595   -onto->wfo 5597   ` cfv 5599  (class class class)co 6303   omcom 6704   1oc1o 7181   2oc2o 7182   Basecbs 15114   Hom chom 15194  compcco 15195   Catccat 15563  Epicepi 15627   SetCatcsetc 15963
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1666  ax-4 1679  ax-5 1749  ax-6 1795  ax-7 1840  ax-8 1871  ax-9 1873  ax-10 1888  ax-11 1893  ax-12 1906  ax-13 2054  ax-ext 2401  ax-rep 4534  ax-sep 4544  ax-nul 4553  ax-pow 4600  ax-pr 4658  ax-un 6595  ax-cnex 9597  ax-resscn 9598  ax-1cn 9599  ax-icn 9600  ax-addcl 9601  ax-addrcl 9602  ax-mulcl 9603  ax-mulrcl 9604  ax-mulcom 9605  ax-addass 9606  ax-mulass 9607  ax-distr 9608  ax-i2m1 9609  ax-1ne0 9610  ax-1rid 9611  ax-rnegex 9612  ax-rrecex 9613  ax-cnre 9614  ax-pre-lttri 9615  ax-pre-lttrn 9616  ax-pre-ltadd 9617  ax-pre-mulgt0 9618
This theorem depends on definitions:  df-bi 189  df-or 372  df-an 373  df-3or 984  df-3an 985  df-tru 1441  df-ex 1661  df-nf 1665  df-sb 1788  df-eu 2270  df-mo 2271  df-clab 2409  df-cleq 2415  df-clel 2418  df-nfc 2573  df-ne 2621  df-nel 2622  df-ral 2781  df-rex 2782  df-reu 2783  df-rmo 2784  df-rab 2785  df-v 3084  df-sbc 3301  df-csb 3397  df-dif 3440  df-un 3442  df-in 3444  df-ss 3451  df-pss 3453  df-nul 3763  df-if 3911  df-pw 3982  df-sn 3998  df-pr 4000  df-tp 4002  df-op 4004  df-uni 4218  df-int 4254  df-iun 4299  df-br 4422  df-opab 4481  df-mpt 4482  df-tr 4517  df-eprel 4762  df-id 4766  df-po 4772  df-so 4773  df-fr 4810  df-we 4812  df-xp 4857  df-rel 4858  df-cnv 4859  df-co 4860  df-dm 4861  df-rn 4862  df-res 4863  df-ima 4864  df-pred 5397  df-ord 5443  df-on 5444  df-lim 5445  df-suc 5446  df-iota 5563  df-fun 5601  df-fn 5602  df-f 5603  df-f1 5604  df-fo 5605  df-f1o 5606  df-fv 5607  df-riota 6265  df-ov 6306  df-oprab 6307  df-mpt2 6308  df-om 6705  df-1st 6805  df-2nd 6806  df-tpos 6979  df-wrecs 7034  df-recs 7096  df-rdg 7134  df-1o 7188  df-2o 7189  df-oadd 7192  df-er 7369  df-map 7480  df-en 7576  df-dom 7577  df-sdom 7578  df-fin 7579  df-pnf 9679  df-mnf 9680  df-xr 9681  df-ltxr 9682  df-le 9683  df-sub 9864  df-neg 9865  df-nn 10612  df-2 10670  df-3 10671  df-4 10672  df-5 10673  df-6 10674  df-7 10675  df-8 10676  df-9 10677  df-10 10678  df-n0 10872  df-z 10940  df-dec 11054  df-uz 11162  df-fz 11787  df-struct 15116  df-ndx 15117  df-slot 15118  df-base 15119  df-sets 15120  df-hom 15207  df-cco 15208  df-cat 15567  df-cid 15568  df-oppc 15610  df-mon 15628  df-epi 15629  df-setc 15964
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator