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

Theorem setcepi 15691
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 2402 . . . . . 6  |-  ( Base `  C )  =  (
Base `  C )
2 eqid 2402 . . . . . 6  |-  ( Hom  `  C )  =  ( Hom  `  C )
3 eqid 2402 . . . . . 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 15688 . . . . . . 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 15681 . . . . . . 7  |-  ( ph  ->  U  =  ( Base `  C ) )
119, 10eleqtrd 2492 . . . . . 6  |-  ( ph  ->  X  e.  ( Base `  C ) )
12 setcmon.y . . . . . . 7  |-  ( ph  ->  Y  e.  U )
1312, 10eleqtrd 2492 . . . . . 6  |-  ( ph  ->  Y  e.  ( Base `  C ) )
141, 2, 3, 4, 8, 11, 13epihom 15355 . . . . 5  |-  ( ph  ->  ( X E Y )  C_  ( X
( Hom  `  C ) Y ) )
1514sselda 3442 . . . 4  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  F  e.  ( X ( Hom  `  C
) Y ) )
166, 5, 2, 9, 12elsetchom 15684 . . . . 5  |-  ( ph  ->  ( F  e.  ( X ( Hom  `  C
) Y )  <->  F : X
--> Y ) )
1716biimpa 482 . . . 4  |-  ( (
ph  /\  F  e.  ( X ( Hom  `  C
) Y ) )  ->  F : X --> Y )
1815, 17syldan 468 . . 3  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  F : X
--> Y )
19 frn 5720 . . . . 5  |-  ( F : X --> Y  ->  ran  F  C_  Y )
2018, 19syl 17 . . . 4  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  ran  F  C_  Y )
21 ffn 5714 . . . . . . . . . . . . . . 15  |-  ( F : X --> Y  ->  F  Fn  X )
2218, 21syl 17 . . . . . . . . . . . . . 14  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  F  Fn  X )
23 fnfvelrn 6006 . . . . . . . . . . . . . 14  |-  ( ( F  Fn  X  /\  x  e.  X )  ->  ( F `  x
)  e.  ran  F
)
2422, 23sylan 469 . . . . . . . . . . . . 13  |-  ( ( ( ph  /\  F  e.  ( X E Y ) )  /\  x  e.  X )  ->  ( F `  x )  e.  ran  F )
2524iftrued 3893 . . . . . . . . . . . 12  |-  ( ( ( ph  /\  F  e.  ( X E Y ) )  /\  x  e.  X )  ->  if ( ( F `  x )  e.  ran  F ,  1o ,  (/) )  =  1o )
2625mpteq2dva 4481 . . . . . . . . . . 11  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  ( x  e.  X  |->  if ( ( F `  x
)  e.  ran  F ,  1o ,  (/) ) )  =  ( x  e.  X  |->  1o ) )
2718ffvelrnda 6009 . . . . . . . . . . . 12  |-  ( ( ( ph  /\  F  e.  ( X E Y ) )  /\  x  e.  X )  ->  ( F `  x )  e.  Y )
2818feqmptd 5902 . . . . . . . . . . . 12  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  F  =  ( x  e.  X  |->  ( F `  x
) ) )
29 eqidd 2403 . . . . . . . . . . . 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 2474 . . . . . . . . . . . . 13  |-  ( a  =  ( F `  x )  ->  (
a  e.  ran  F  <->  ( F `  x )  e.  ran  F ) )
3130ifbid 3907 . . . . . . . . . . . 12  |-  ( a  =  ( F `  x )  ->  if ( a  e.  ran  F ,  1o ,  (/) )  =  if (
( F `  x
)  e.  ran  F ,  1o ,  (/) ) )
3227, 28, 29, 31fmptco 6043 . . . . . . . . . . 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 4867 . . . . . . . . . . . . 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 2403 . . . . . . . . . . . 12  |-  ( a  =  ( F `  x )  ->  1o  =  1o )
3627, 28, 34, 35fmptco 6043 . . . . . . . . . . 11  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  ( ( Y  X.  { 1o }
)  o.  F )  =  ( x  e.  X  |->  1o ) )
3726, 32, 363eqtr4d 2453 . . . . . . . . . 10  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  ( (
a  e.  Y  |->  if ( a  e.  ran  F ,  1o ,  (/) ) )  o.  F
)  =  ( ( Y  X.  { 1o } )  o.  F
) )
385adantr 463 . . . . . . . . . . 11  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  U  e.  V )
399adantr 463 . . . . . . . . . . 11  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  X  e.  U )
4012adantr 463 . . . . . . . . . . 11  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  Y  e.  U )
41 setcepi.2 . . . . . . . . . . . 12  |-  ( ph  ->  2o  e.  U )
4241adantr 463 . . . . . . . . . . 11  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  2o  e.  U )
43 eqid 2402 . . . . . . . . . . . . 13  |-  ( a  e.  Y  |->  if ( a  e.  ran  F ,  1o ,  (/) ) )  =  ( a  e.  Y  |->  if ( a  e.  ran  F ,  1o ,  (/) ) )
44 1onn 7325 . . . . . . . . . . . . . . . . . 18  |-  1o  e.  om
4544elexi 3069 . . . . . . . . . . . . . . . . 17  |-  1o  e.  _V
4645prid2 4081 . . . . . . . . . . . . . . . 16  |-  1o  e.  {
(/) ,  1o }
47 df2o3 7180 . . . . . . . . . . . . . . . 16  |-  2o  =  { (/) ,  1o }
4846, 47eleqtrri 2489 . . . . . . . . . . . . . . 15  |-  1o  e.  2o
49 0ex 4526 . . . . . . . . . . . . . . . . 17  |-  (/)  e.  _V
5049prid1 4080 . . . . . . . . . . . . . . . 16  |-  (/)  e.  { (/)
,  1o }
5150, 47eleqtrri 2489 . . . . . . . . . . . . . . 15  |-  (/)  e.  2o
5248, 51keepel 3952 . . . . . . . . . . . . . 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 6032 . . . . . . . . . . . 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 15686 . . . . . . . . . 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 5757 . . . . . . . . . . . 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 15686 . . . . . . . . . 10  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  ( ( Y  X.  { 1o }
) ( <. X ,  Y >. (comp `  C
) 2o ) F )  =  ( ( Y  X.  { 1o } )  o.  F
) )
6037, 56, 593eqtr4d 2453 . . . . . . . . 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 463 . . . . . . . . . 10  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  C  e.  Cat )
6211adantr 463 . . . . . . . . . 10  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  X  e.  ( Base `  C )
)
6313adantr 463 . . . . . . . . . 10  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  Y  e.  ( Base `  C )
)
6441, 10eleqtrd 2492 . . . . . . . . . . 11  |-  ( ph  ->  2o  e.  ( Base `  C ) )
6564adantr 463 . . . . . . . . . 10  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  2o  e.  ( Base `  C )
)
66 simpr 459 . . . . . . . . . 10  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  F  e.  ( X E Y ) )
676, 38, 2, 40, 42elsetchom 15684 . . . . . . . . . . 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 232 . . . . . . . . . 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 15684 . . . . . . . . . . 11  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  ( ( Y  X.  { 1o }
)  e.  ( Y ( Hom  `  C
) 2o )  <->  ( Y  X.  { 1o } ) : Y --> 2o ) )
7058, 69mpbird 232 . . . . . . . . . 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 15356 . . . . . . . . 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 210 . . . . . . . 8  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  ( a  e.  Y  |->  if ( a  e.  ran  F ,  1o ,  (/) ) )  =  ( Y  X.  { 1o } ) )
7372, 33syl6eq 2459 . . . . . . 7  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  ( a  e.  Y  |->  if ( a  e.  ran  F ,  1o ,  (/) ) )  =  ( a  e.  Y  |->  1o ) )
7452rgenw 2765 . . . . . . . 8  |-  A. a  e.  Y  if (
a  e.  ran  F ,  1o ,  (/) )  e.  2o
75 mpteqb 5948 . . . . . . . 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 196 . . . . . 6  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  A. a  e.  Y  if (
a  e.  ran  F ,  1o ,  (/) )  =  1o )
78 1n0 7182 . . . . . . . . . 10  |-  1o  =/=  (/)
7978nesymi 2676 . . . . . . . . 9  |-  -.  (/)  =  1o
80 iffalse 3894 . . . . . . . . . 10  |-  ( -.  a  e.  ran  F  ->  if ( a  e. 
ran  F ,  1o ,  (/) )  =  (/) )
8180eqeq1d 2404 . . . . . . . . 9  |-  ( -.  a  e.  ran  F  ->  ( if ( a  e.  ran  F ,  1o ,  (/) )  =  1o  <->  (/)  =  1o ) )
8279, 81mtbiri 301 . . . . . . . 8  |-  ( -.  a  e.  ran  F  ->  -.  if ( a  e.  ran  F ,  1o ,  (/) )  =  1o )
8382con4i 130 . . . . . . 7  |-  ( if ( a  e.  ran  F ,  1o ,  (/) )  =  1o  ->  a  e.  ran  F )
8483ralimi 2797 . . . . . 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 3432 . . . . 5  |-  ( Y 
C_  ran  F  <->  A. a  e.  Y  a  e.  ran  F )
8785, 86sylibr 212 . . . 4  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  Y  C_  ran  F )
8820, 87eqssd 3459 . . 3  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  ran  F  =  Y )
89 dffo2 5782 . . 3  |-  ( F : X -onto-> Y  <->  ( F : X --> Y  /\  ran  F  =  Y ) )
9018, 88, 89sylanbrc 662 . 2  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  F : X -onto-> Y )
91 fof 5778 . . . . 5  |-  ( F : X -onto-> Y  ->  F : X --> Y )
9291adantl 464 . . . 4  |-  ( (
ph  /\  F : X -onto-> Y )  ->  F : X --> Y )
9316biimpar 483 . . . 4  |-  ( (
ph  /\  F : X
--> Y )  ->  F  e.  ( X ( Hom  `  C ) Y ) )
9492, 93syldan 468 . . 3  |-  ( (
ph  /\  F : X -onto-> Y )  ->  F  e.  ( X ( Hom  `  C ) Y ) )
9510adantr 463 . . . . . 6  |-  ( (
ph  /\  F : X -onto-> Y )  ->  U  =  ( Base `  C
) )
9695eleq2d 2472 . . . . 5  |-  ( (
ph  /\  F : X -onto-> Y )  ->  (
z  e.  U  <->  z  e.  ( Base `  C )
) )
975ad2antrr 724 . . . . . . . . . . 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 724 . . . . . . . . . . 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 724 . . . . . . . . . . 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 756 . . . . . . . . . . 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 463 . . . . . . . . . . 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 766 . . . . . . . . . . . 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 15684 . . . . . . . . . . . 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 210 . . . . . . . . . . 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 15686 . . . . . . . . . 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 767 . . . . . . . . . . . 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 15684 . . . . . . . . . . . 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 210 . . . . . . . . . . 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 15686 . . . . . . . . . 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 2424 . . . . . . . . 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 754 . . . . . . . . . . 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 5714 . . . . . . . . . . . 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 5714 . . . . . . . . . . . 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 6178 . . . . . . . . . . 11  |-  ( ( F : X -onto-> Y  /\  g  Fn  Y  /\  h  Fn  Y
)  ->  ( (
g  o.  F )  =  ( h  o.  F )  <->  g  =  h ) )
117111, 113, 115, 116syl3anc 1230 . . . . . . . . . 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 207 . . . . . . . . 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 215 . . . . . . . 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 646 . . . . . . 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 2825 . . . . . 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 432 . . . . 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 235 . . . 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 2816 . . 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 15354 . . . 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 463 . . 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 923 . 2  |-  ( (
ph  /\  F : X -onto-> Y )  ->  F  e.  ( X E Y ) )
12890, 127impbida 833 1  |-  ( ph  ->  ( F  e.  ( X E Y )  <-> 
F : X -onto-> Y
) )
Colors of variables: wff setvar class
Syntax hints:   -. wn 3    -> wi 4    <-> wb 184    /\ wa 367    = wceq 1405    e. wcel 1842   A.wral 2754    C_ wss 3414   (/)c0 3738   ifcif 3885   {csn 3972   {cpr 3974   <.cop 3978    |-> cmpt 4453    X. cxp 4821   ran crn 4824    o. ccom 4827    Fn wfn 5564   -->wf 5565   -onto->wfo 5567   ` cfv 5569  (class class class)co 6278   omcom 6683   1oc1o 7160   2oc2o 7161   Basecbs 14841   Hom chom 14920  compcco 14921   Catccat 15278  Epicepi 15342   SetCatcsetc 15678
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1639  ax-4 1652  ax-5 1725  ax-6 1771  ax-7 1814  ax-8 1844  ax-9 1846  ax-10 1861  ax-11 1866  ax-12 1878  ax-13 2026  ax-ext 2380  ax-rep 4507  ax-sep 4517  ax-nul 4525  ax-pow 4572  ax-pr 4630  ax-un 6574  ax-cnex 9578  ax-resscn 9579  ax-1cn 9580  ax-icn 9581  ax-addcl 9582  ax-addrcl 9583  ax-mulcl 9584  ax-mulrcl 9585  ax-mulcom 9586  ax-addass 9587  ax-mulass 9588  ax-distr 9589  ax-i2m1 9590  ax-1ne0 9591  ax-1rid 9592  ax-rnegex 9593  ax-rrecex 9594  ax-cnre 9595  ax-pre-lttri 9596  ax-pre-lttrn 9597  ax-pre-ltadd 9598  ax-pre-mulgt0 9599
This theorem depends on definitions:  df-bi 185  df-or 368  df-an 369  df-3or 975  df-3an 976  df-tru 1408  df-ex 1634  df-nf 1638  df-sb 1764  df-eu 2242  df-mo 2243  df-clab 2388  df-cleq 2394  df-clel 2397  df-nfc 2552  df-ne 2600  df-nel 2601  df-ral 2759  df-rex 2760  df-reu 2761  df-rmo 2762  df-rab 2763  df-v 3061  df-sbc 3278  df-csb 3374  df-dif 3417  df-un 3419  df-in 3421  df-ss 3428  df-pss 3430  df-nul 3739  df-if 3886  df-pw 3957  df-sn 3973  df-pr 3975  df-tp 3977  df-op 3979  df-uni 4192  df-int 4228  df-iun 4273  df-br 4396  df-opab 4454  df-mpt 4455  df-tr 4490  df-eprel 4734  df-id 4738  df-po 4744  df-so 4745  df-fr 4782  df-we 4784  df-xp 4829  df-rel 4830  df-cnv 4831  df-co 4832  df-dm 4833  df-rn 4834  df-res 4835  df-ima 4836  df-pred 5367  df-ord 5413  df-on 5414  df-lim 5415  df-suc 5416  df-iota 5533  df-fun 5571  df-fn 5572  df-f 5573  df-f1 5574  df-fo 5575  df-f1o 5576  df-fv 5577  df-riota 6240  df-ov 6281  df-oprab 6282  df-mpt2 6283  df-om 6684  df-1st 6784  df-2nd 6785  df-tpos 6958  df-wrecs 7013  df-recs 7075  df-rdg 7113  df-1o 7167  df-2o 7168  df-oadd 7171  df-er 7348  df-map 7459  df-en 7555  df-dom 7556  df-sdom 7557  df-fin 7558  df-pnf 9660  df-mnf 9661  df-xr 9662  df-ltxr 9663  df-le 9664  df-sub 9843  df-neg 9844  df-nn 10577  df-2 10635  df-3 10636  df-4 10637  df-5 10638  df-6 10639  df-7 10640  df-8 10641  df-9 10642  df-10 10643  df-n0 10837  df-z 10906  df-dec 11020  df-uz 11128  df-fz 11727  df-struct 14843  df-ndx 14844  df-slot 14845  df-base 14846  df-sets 14847  df-hom 14933  df-cco 14934  df-cat 15282  df-cid 15283  df-oppc 15325  df-mon 15343  df-epi 15344  df-setc 15679
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator