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

Theorem setcepi 15493
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 2457 . . . . . 6  |-  ( Base `  C )  =  (
Base `  C )
2 eqid 2457 . . . . . 6  |-  ( Hom  `  C )  =  ( Hom  `  C )
3 eqid 2457 . . . . . 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 15490 . . . . . . 7  |-  ( U  e.  V  ->  C  e.  Cat )
85, 7syl 16 . . . . . 6  |-  ( ph  ->  C  e.  Cat )
9 setcmon.x . . . . . . 7  |-  ( ph  ->  X  e.  U )
106, 5setcbas 15483 . . . . . . 7  |-  ( ph  ->  U  =  ( Base `  C ) )
119, 10eleqtrd 2547 . . . . . 6  |-  ( ph  ->  X  e.  ( Base `  C ) )
12 setcmon.y . . . . . . 7  |-  ( ph  ->  Y  e.  U )
1312, 10eleqtrd 2547 . . . . . 6  |-  ( ph  ->  Y  e.  ( Base `  C ) )
141, 2, 3, 4, 8, 11, 13epihom 15157 . . . . 5  |-  ( ph  ->  ( X E Y )  C_  ( X
( Hom  `  C ) Y ) )
1514sselda 3499 . . . 4  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  F  e.  ( X ( Hom  `  C
) Y ) )
166, 5, 2, 9, 12elsetchom 15486 . . . . 5  |-  ( ph  ->  ( F  e.  ( X ( Hom  `  C
) Y )  <->  F : X
--> Y ) )
1716biimpa 484 . . . 4  |-  ( (
ph  /\  F  e.  ( X ( Hom  `  C
) Y ) )  ->  F : X --> Y )
1815, 17syldan 470 . . 3  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  F : X
--> Y )
19 frn 5743 . . . . 5  |-  ( F : X --> Y  ->  ran  F  C_  Y )
2018, 19syl 16 . . . 4  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  ran  F  C_  Y )
21 ffn 5737 . . . . . . . . . . . . . . 15  |-  ( F : X --> Y  ->  F  Fn  X )
2218, 21syl 16 . . . . . . . . . . . . . 14  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  F  Fn  X )
23 fnfvelrn 6029 . . . . . . . . . . . . . 14  |-  ( ( F  Fn  X  /\  x  e.  X )  ->  ( F `  x
)  e.  ran  F
)
2422, 23sylan 471 . . . . . . . . . . . . 13  |-  ( ( ( ph  /\  F  e.  ( X E Y ) )  /\  x  e.  X )  ->  ( F `  x )  e.  ran  F )
2524iftrued 3952 . . . . . . . . . . . 12  |-  ( ( ( ph  /\  F  e.  ( X E Y ) )  /\  x  e.  X )  ->  if ( ( F `  x )  e.  ran  F ,  1o ,  (/) )  =  1o )
2625mpteq2dva 4543 . . . . . . . . . . 11  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  ( x  e.  X  |->  if ( ( F `  x
)  e.  ran  F ,  1o ,  (/) ) )  =  ( x  e.  X  |->  1o ) )
2718ffvelrnda 6032 . . . . . . . . . . . 12  |-  ( ( ( ph  /\  F  e.  ( X E Y ) )  /\  x  e.  X )  ->  ( F `  x )  e.  Y )
2818feqmptd 5926 . . . . . . . . . . . 12  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  F  =  ( x  e.  X  |->  ( F `  x
) ) )
29 eqidd 2458 . . . . . . . . . . . 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 2529 . . . . . . . . . . . . 13  |-  ( a  =  ( F `  x )  ->  (
a  e.  ran  F  <->  ( F `  x )  e.  ran  F ) )
3130ifbid 3966 . . . . . . . . . . . 12  |-  ( a  =  ( F `  x )  ->  if ( a  e.  ran  F ,  1o ,  (/) )  =  if (
( F `  x
)  e.  ran  F ,  1o ,  (/) ) )
3227, 28, 29, 31fmptco 6065 . . . . . . . . . . 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 5052 . . . . . . . . . . . . 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 2458 . . . . . . . . . . . 12  |-  ( a  =  ( F `  x )  ->  1o  =  1o )
3627, 28, 34, 35fmptco 6065 . . . . . . . . . . 11  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  ( ( Y  X.  { 1o }
)  o.  F )  =  ( x  e.  X  |->  1o ) )
3726, 32, 363eqtr4d 2508 . . . . . . . . . 10  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  ( (
a  e.  Y  |->  if ( a  e.  ran  F ,  1o ,  (/) ) )  o.  F
)  =  ( ( Y  X.  { 1o } )  o.  F
) )
385adantr 465 . . . . . . . . . . 11  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  U  e.  V )
399adantr 465 . . . . . . . . . . 11  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  X  e.  U )
4012adantr 465 . . . . . . . . . . 11  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  Y  e.  U )
41 setcepi.2 . . . . . . . . . . . 12  |-  ( ph  ->  2o  e.  U )
4241adantr 465 . . . . . . . . . . 11  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  2o  e.  U )
43 eqid 2457 . . . . . . . . . . . . 13  |-  ( a  e.  Y  |->  if ( a  e.  ran  F ,  1o ,  (/) ) )  =  ( a  e.  Y  |->  if ( a  e.  ran  F ,  1o ,  (/) ) )
44 1onn 7306 . . . . . . . . . . . . . . . . . 18  |-  1o  e.  om
4544elexi 3119 . . . . . . . . . . . . . . . . 17  |-  1o  e.  _V
4645prid2 4141 . . . . . . . . . . . . . . . 16  |-  1o  e.  {
(/) ,  1o }
47 df2o3 7161 . . . . . . . . . . . . . . . 16  |-  2o  =  { (/) ,  1o }
4846, 47eleqtrri 2544 . . . . . . . . . . . . . . 15  |-  1o  e.  2o
49 0ex 4587 . . . . . . . . . . . . . . . . 17  |-  (/)  e.  _V
5049prid1 4140 . . . . . . . . . . . . . . . 16  |-  (/)  e.  { (/)
,  1o }
5150, 47eleqtrri 2544 . . . . . . . . . . . . . . 15  |-  (/)  e.  2o
5248, 51keepel 4012 . . . . . . . . . . . . . 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 6055 . . . . . . . . . . . 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 15488 . . . . . . . . . 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 5780 . . . . . . . . . . . 12  |-  ( 1o  e.  2o  ->  ( Y  X.  { 1o }
) : Y --> 2o )
5848, 57mp1i 12 . . . . . . . . . . 11  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  ( Y  X.  { 1o } ) : Y --> 2o )
596, 38, 3, 39, 40, 42, 18, 58setcco 15488 . . . . . . . . . 10  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  ( ( Y  X.  { 1o }
) ( <. X ,  Y >. (comp `  C
) 2o ) F )  =  ( ( Y  X.  { 1o } )  o.  F
) )
6037, 56, 593eqtr4d 2508 . . . . . . . . 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 465 . . . . . . . . . 10  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  C  e.  Cat )
6211adantr 465 . . . . . . . . . 10  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  X  e.  ( Base `  C )
)
6313adantr 465 . . . . . . . . . 10  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  Y  e.  ( Base `  C )
)
6441, 10eleqtrd 2547 . . . . . . . . . . 11  |-  ( ph  ->  2o  e.  ( Base `  C ) )
6564adantr 465 . . . . . . . . . 10  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  2o  e.  ( Base `  C )
)
66 simpr 461 . . . . . . . . . 10  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  F  e.  ( X E Y ) )
676, 38, 2, 40, 42elsetchom 15486 . . . . . . . . . . 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 15486 . . . . . . . . . . 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 15158 . . . . . . . . 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 2514 . . . . . . 7  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  ( a  e.  Y  |->  if ( a  e.  ran  F ,  1o ,  (/) ) )  =  ( a  e.  Y  |->  1o ) )
7452rgenw 2818 . . . . . . . 8  |-  A. a  e.  Y  if (
a  e.  ran  F ,  1o ,  (/) )  e.  2o
75 mpteqb 5971 . . . . . . . 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 7163 . . . . . . . . . 10  |-  1o  =/=  (/)
7978nesymi 2730 . . . . . . . . 9  |-  -.  (/)  =  1o
80 iffalse 3953 . . . . . . . . . 10  |-  ( -.  a  e.  ran  F  ->  if ( a  e. 
ran  F ,  1o ,  (/) )  =  (/) )
8180eqeq1d 2459 . . . . . . . . 9  |-  ( -.  a  e.  ran  F  ->  ( if ( a  e.  ran  F ,  1o ,  (/) )  =  1o  <->  (/)  =  1o ) )
8279, 81mtbiri 303 . . . . . . . 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 2850 . . . . . 6  |-  ( A. a  e.  Y  if ( a  e.  ran  F ,  1o ,  (/) )  =  1o  ->  A. a  e.  Y  a  e.  ran  F )
8577, 84syl 16 . . . . 5  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  A. a  e.  Y  a  e.  ran  F )
86 dfss3 3489 . . . . 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 3516 . . 3  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  ran  F  =  Y )
89 dffo2 5805 . . 3  |-  ( F : X -onto-> Y  <->  ( F : X --> Y  /\  ran  F  =  Y ) )
9018, 88, 89sylanbrc 664 . 2  |-  ( (
ph  /\  F  e.  ( X E Y ) )  ->  F : X -onto-> Y )
91 fof 5801 . . . . 5  |-  ( F : X -onto-> Y  ->  F : X --> Y )
9291adantl 466 . . . 4  |-  ( (
ph  /\  F : X -onto-> Y )  ->  F : X --> Y )
9316biimpar 485 . . . 4  |-  ( (
ph  /\  F : X
--> Y )  ->  F  e.  ( X ( Hom  `  C ) Y ) )
9492, 93syldan 470 . . 3  |-  ( (
ph  /\  F : X -onto-> Y )  ->  F  e.  ( X ( Hom  `  C ) Y ) )
9510adantr 465 . . . . . 6  |-  ( (
ph  /\  F : X -onto-> Y )  ->  U  =  ( Base `  C
) )
9695eleq2d 2527 . . . . 5  |-  ( (
ph  /\  F : X -onto-> Y )  ->  (
z  e.  U  <->  z  e.  ( Base `  C )
) )
975ad2antrr 725 . . . . . . . . . . 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 725 . . . . . . . . . . 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 725 . . . . . . . . . . 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 465 . . . . . . . . . . 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 765 . . . . . . . . . . . 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 15486 . . . . . . . . . . . 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 15488 . . . . . . . . . 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 766 . . . . . . . . . . . 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 15486 . . . . . . . . . . . 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 15488 . . . . . . . . . 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 2479 . . . . . . . . 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 755 . . . . . . . . . . 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 5737 . . . . . . . . . . . 12  |-  ( g : Y --> z  -> 
g  Fn  Y )
113104, 112syl 16 . . . . . . . . . . 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 5737 . . . . . . . . . . . 12  |-  ( h : Y --> z  ->  h  Fn  Y )
115108, 114syl 16 . . . . . . . . . . 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 6196 . . . . . . . . . . 11  |-  ( ( F : X -onto-> Y  /\  g  Fn  Y  /\  h  Fn  Y
)  ->  ( (
g  o.  F )  =  ( h  o.  F )  <->  g  =  h ) )
117111, 113, 115, 116syl3anc 1228 . . . . . . . . . 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 648 . . . . . . 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 2878 . . . . . 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 434 . . . . 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 2869 . . 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 15156 . . . 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 465 . . 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 922 . 2  |-  ( (
ph  /\  F : X -onto-> Y )  ->  F  e.  ( X E Y ) )
12890, 127impbida 832 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 369    = wceq 1395    e. wcel 1819   A.wral 2807    C_ wss 3471   (/)c0 3793   ifcif 3944   {csn 4032   {cpr 4034   <.cop 4038    |-> cmpt 4515    X. cxp 5006   ran crn 5009    o. ccom 5012    Fn wfn 5589   -->wf 5590   -onto->wfo 5592   ` cfv 5594  (class class class)co 6296   omcom 6699   1oc1o 7141   2oc2o 7142   Basecbs 14643   Hom chom 14722  compcco 14723   Catccat 15080  Epicepi 15144   SetCatcsetc 15480
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1619  ax-4 1632  ax-5 1705  ax-6 1748  ax-7 1791  ax-8 1821  ax-9 1823  ax-10 1838  ax-11 1843  ax-12 1855  ax-13 2000  ax-ext 2435  ax-rep 4568  ax-sep 4578  ax-nul 4586  ax-pow 4634  ax-pr 4695  ax-un 6591  ax-cnex 9565  ax-resscn 9566  ax-1cn 9567  ax-icn 9568  ax-addcl 9569  ax-addrcl 9570  ax-mulcl 9571  ax-mulrcl 9572  ax-mulcom 9573  ax-addass 9574  ax-mulass 9575  ax-distr 9576  ax-i2m1 9577  ax-1ne0 9578  ax-1rid 9579  ax-rnegex 9580  ax-rrecex 9581  ax-cnre 9582  ax-pre-lttri 9583  ax-pre-lttrn 9584  ax-pre-ltadd 9585  ax-pre-mulgt0 9586
This theorem depends on definitions:  df-bi 185  df-or 370  df-an 371  df-3or 974  df-3an 975  df-tru 1398  df-ex 1614  df-nf 1618  df-sb 1741  df-eu 2287  df-mo 2288  df-clab 2443  df-cleq 2449  df-clel 2452  df-nfc 2607  df-ne 2654  df-nel 2655  df-ral 2812  df-rex 2813  df-reu 2814  df-rmo 2815  df-rab 2816  df-v 3111  df-sbc 3328  df-csb 3431  df-dif 3474  df-un 3476  df-in 3478  df-ss 3485  df-pss 3487  df-nul 3794  df-if 3945  df-pw 4017  df-sn 4033  df-pr 4035  df-tp 4037  df-op 4039  df-uni 4252  df-int 4289  df-iun 4334  df-br 4457  df-opab 4516  df-mpt 4517  df-tr 4551  df-eprel 4800  df-id 4804  df-po 4809  df-so 4810  df-fr 4847  df-we 4849  df-ord 4890  df-on 4891  df-lim 4892  df-suc 4893  df-xp 5014  df-rel 5015  df-cnv 5016  df-co 5017  df-dm 5018  df-rn 5019  df-res 5020  df-ima 5021  df-iota 5557  df-fun 5596  df-fn 5597  df-f 5598  df-f1 5599  df-fo 5600  df-f1o 5601  df-fv 5602  df-riota 6258  df-ov 6299  df-oprab 6300  df-mpt2 6301  df-om 6700  df-1st 6799  df-2nd 6800  df-tpos 6973  df-recs 7060  df-rdg 7094  df-1o 7148  df-2o 7149  df-oadd 7152  df-er 7329  df-map 7440  df-en 7536  df-dom 7537  df-sdom 7538  df-fin 7539  df-pnf 9647  df-mnf 9648  df-xr 9649  df-ltxr 9650  df-le 9651  df-sub 9826  df-neg 9827  df-nn 10557  df-2 10615  df-3 10616  df-4 10617  df-5 10618  df-6 10619  df-7 10620  df-8 10621  df-9 10622  df-10 10623  df-n0 10817  df-z 10886  df-dec 11001  df-uz 11107  df-fz 11698  df-struct 14645  df-ndx 14646  df-slot 14647  df-base 14648  df-sets 14649  df-hom 14735  df-cco 14736  df-cat 15084  df-cid 15085  df-oppc 15127  df-mon 15145  df-epi 15146  df-setc 15481
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator