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

Theorem catideu 16336
Description: Each object in a category has a unique identity arrow. (Contributed by Mario Carneiro, 2-Jan-2017.)
Hypotheses
Ref Expression
catidex.b  |-  B  =  ( Base `  C
)
catidex.h  |-  H  =  ( Hom  `  C
)
catidex.o  |-  .x.  =  (comp `  C )
catidex.c  |-  ( ph  ->  C  e.  Cat )
catidex.x  |-  ( ph  ->  X  e.  B )
Assertion
Ref Expression
catideu  |-  ( ph  ->  E! g  e.  ( X H X ) A. y  e.  B  ( A. f  e.  ( y H X ) ( g ( <.
y ,  X >.  .x. 
X ) f )  =  f  /\  A. f  e.  ( X H y ) ( f ( <. X ,  X >.  .x.  y )
g )  =  f ) )
Distinct variable groups:    f, g,
y, B    C, f,
g, y    ph, g    f, X, g, y    f, H, g, y    .x. , f,
g, y
Allowed substitution hints:    ph( y, f)

Proof of Theorem catideu
Dummy variable  h is distinct from all other variables.
StepHypRef Expression
1 catidex.b . . 3  |-  B  =  ( Base `  C
)
2 catidex.h . . 3  |-  H  =  ( Hom  `  C
)
3 catidex.o . . 3  |-  .x.  =  (comp `  C )
4 catidex.c . . 3  |-  ( ph  ->  C  e.  Cat )
5 catidex.x . . 3  |-  ( ph  ->  X  e.  B )
61, 2, 3, 4, 5catidex 16335 . 2  |-  ( ph  ->  E. g  e.  ( X H X ) A. y  e.  B  ( A. f  e.  ( y H X ) ( g ( <.
y ,  X >.  .x. 
X ) f )  =  f  /\  A. f  e.  ( X H y ) ( f ( <. X ,  X >.  .x.  y )
g )  =  f ) )
7 oveq1 6657 . . . . . . . 8  |-  ( y  =  X  ->  (
y H X )  =  ( X H X ) )
8 opeq1 4402 . . . . . . . . . . 11  |-  ( y  =  X  ->  <. y ,  X >.  =  <. X ,  X >. )
98oveq1d 6665 . . . . . . . . . 10  |-  ( y  =  X  ->  ( <. y ,  X >.  .x. 
X )  =  (
<. X ,  X >.  .x. 
X ) )
109oveqd 6667 . . . . . . . . 9  |-  ( y  =  X  ->  (
g ( <. y ,  X >.  .x.  X ) f )  =  ( g ( <. X ,  X >.  .x.  X )
f ) )
1110eqeq1d 2624 . . . . . . . 8  |-  ( y  =  X  ->  (
( g ( <.
y ,  X >.  .x. 
X ) f )  =  f  <->  ( g
( <. X ,  X >.  .x.  X ) f )  =  f ) )
127, 11raleqbidv 3152 . . . . . . 7  |-  ( y  =  X  ->  ( A. f  e.  (
y H X ) ( g ( <.
y ,  X >.  .x. 
X ) f )  =  f  <->  A. f  e.  ( X H X ) ( g (
<. X ,  X >.  .x. 
X ) f )  =  f ) )
13 oveq2 6658 . . . . . . . 8  |-  ( y  =  X  ->  ( X H y )  =  ( X H X ) )
14 oveq2 6658 . . . . . . . . . 10  |-  ( y  =  X  ->  ( <. X ,  X >.  .x.  y )  =  (
<. X ,  X >.  .x. 
X ) )
1514oveqd 6667 . . . . . . . . 9  |-  ( y  =  X  ->  (
f ( <. X ,  X >.  .x.  y )
g )  =  ( f ( <. X ,  X >.  .x.  X )
g ) )
1615eqeq1d 2624 . . . . . . . 8  |-  ( y  =  X  ->  (
( f ( <. X ,  X >.  .x.  y ) g )  =  f  <->  ( f
( <. X ,  X >.  .x.  X ) g )  =  f ) )
1713, 16raleqbidv 3152 . . . . . . 7  |-  ( y  =  X  ->  ( A. f  e.  ( X H y ) ( f ( <. X ,  X >.  .x.  y )
g )  =  f  <->  A. f  e.  ( X H X ) ( f ( <. X ,  X >.  .x.  X )
g )  =  f ) )
1812, 17anbi12d 747 . . . . . 6  |-  ( y  =  X  ->  (
( A. f  e.  ( y H X ) ( g (
<. y ,  X >.  .x. 
X ) f )  =  f  /\  A. f  e.  ( X H y ) ( f ( <. X ,  X >.  .x.  y )
g )  =  f )  <->  ( A. f  e.  ( X H X ) ( g (
<. X ,  X >.  .x. 
X ) f )  =  f  /\  A. f  e.  ( X H X ) ( f ( <. X ,  X >.  .x.  X ) g )  =  f ) ) )
1918rspcv 3305 . . . . 5  |-  ( X  e.  B  ->  ( A. y  e.  B  ( A. f  e.  ( y H X ) ( g ( <.
y ,  X >.  .x. 
X ) f )  =  f  /\  A. f  e.  ( X H y ) ( f ( <. X ,  X >.  .x.  y )
g )  =  f )  ->  ( A. f  e.  ( X H X ) ( g ( <. X ,  X >.  .x.  X ) f )  =  f  /\  A. f  e.  ( X H X ) ( f ( <. X ,  X >.  .x.  X )
g )  =  f ) ) )
205, 19syl 17 . . . 4  |-  ( ph  ->  ( A. y  e.  B  ( A. f  e.  ( y H X ) ( g (
<. y ,  X >.  .x. 
X ) f )  =  f  /\  A. f  e.  ( X H y ) ( f ( <. X ,  X >.  .x.  y )
g )  =  f )  ->  ( A. f  e.  ( X H X ) ( g ( <. X ,  X >.  .x.  X ) f )  =  f  /\  A. f  e.  ( X H X ) ( f ( <. X ,  X >.  .x.  X )
g )  =  f ) ) )
2120ralrimivw 2967 . . 3  |-  ( ph  ->  A. g  e.  ( X H X ) ( A. y  e.  B  ( A. f  e.  ( y H X ) ( g (
<. y ,  X >.  .x. 
X ) f )  =  f  /\  A. f  e.  ( X H y ) ( f ( <. X ,  X >.  .x.  y )
g )  =  f )  ->  ( A. f  e.  ( X H X ) ( g ( <. X ,  X >.  .x.  X ) f )  =  f  /\  A. f  e.  ( X H X ) ( f ( <. X ,  X >.  .x.  X )
g )  =  f ) ) )
22 an3 868 . . . . . . 7  |-  ( ( ( A. f  e.  ( X H X ) ( g (
<. X ,  X >.  .x. 
X ) f )  =  f  /\  A. f  e.  ( X H X ) ( f ( <. X ,  X >.  .x.  X ) g )  =  f )  /\  ( A. f  e.  ( X H X ) ( h (
<. X ,  X >.  .x. 
X ) f )  =  f  /\  A. f  e.  ( X H X ) ( f ( <. X ,  X >.  .x.  X ) h )  =  f ) )  ->  ( A. f  e.  ( X H X ) ( g ( <. X ,  X >.  .x.  X ) f )  =  f  /\  A. f  e.  ( X H X ) ( f ( <. X ,  X >.  .x.  X )
h )  =  f ) )
23 oveq2 6658 . . . . . . . . . 10  |-  ( f  =  h  ->  (
g ( <. X ,  X >.  .x.  X )
f )  =  ( g ( <. X ,  X >.  .x.  X )
h ) )
24 id 22 . . . . . . . . . 10  |-  ( f  =  h  ->  f  =  h )
2523, 24eqeq12d 2637 . . . . . . . . 9  |-  ( f  =  h  ->  (
( g ( <. X ,  X >.  .x. 
X ) f )  =  f  <->  ( g
( <. X ,  X >.  .x.  X ) h )  =  h ) )
2625rspcv 3305 . . . . . . . 8  |-  ( h  e.  ( X H X )  ->  ( A. f  e.  ( X H X ) ( g ( <. X ,  X >.  .x.  X )
f )  =  f  ->  ( g (
<. X ,  X >.  .x. 
X ) h )  =  h ) )
27 oveq1 6657 . . . . . . . . . 10  |-  ( f  =  g  ->  (
f ( <. X ,  X >.  .x.  X )
h )  =  ( g ( <. X ,  X >.  .x.  X )
h ) )
28 id 22 . . . . . . . . . 10  |-  ( f  =  g  ->  f  =  g )
2927, 28eqeq12d 2637 . . . . . . . . 9  |-  ( f  =  g  ->  (
( f ( <. X ,  X >.  .x. 
X ) h )  =  f  <->  ( g
( <. X ,  X >.  .x.  X ) h )  =  g ) )
3029rspcv 3305 . . . . . . . 8  |-  ( g  e.  ( X H X )  ->  ( A. f  e.  ( X H X ) ( f ( <. X ,  X >.  .x.  X )
h )  =  f  ->  ( g (
<. X ,  X >.  .x. 
X ) h )  =  g ) )
3126, 30im2anan9r 881 . . . . . . 7  |-  ( ( g  e.  ( X H X )  /\  h  e.  ( X H X ) )  -> 
( ( A. f  e.  ( X H X ) ( g (
<. X ,  X >.  .x. 
X ) f )  =  f  /\  A. f  e.  ( X H X ) ( f ( <. X ,  X >.  .x.  X ) h )  =  f )  ->  ( ( g ( <. X ,  X >.  .x.  X ) h )  =  h  /\  ( g ( <. X ,  X >.  .x. 
X ) h )  =  g ) ) )
32 eqtr2 2642 . . . . . . . 8  |-  ( ( ( g ( <. X ,  X >.  .x. 
X ) h )  =  h  /\  (
g ( <. X ,  X >.  .x.  X )
h )  =  g )  ->  h  =  g )
3332equcomd 1946 . . . . . . 7  |-  ( ( ( g ( <. X ,  X >.  .x. 
X ) h )  =  h  /\  (
g ( <. X ,  X >.  .x.  X )
h )  =  g )  ->  g  =  h )
3422, 31, 33syl56 36 . . . . . 6  |-  ( ( g  e.  ( X H X )  /\  h  e.  ( X H X ) )  -> 
( ( ( A. f  e.  ( X H X ) ( g ( <. X ,  X >.  .x.  X ) f )  =  f  /\  A. f  e.  ( X H X ) ( f ( <. X ,  X >.  .x.  X )
g )  =  f )  /\  ( A. f  e.  ( X H X ) ( h ( <. X ,  X >.  .x.  X ) f )  =  f  /\  A. f  e.  ( X H X ) ( f ( <. X ,  X >.  .x.  X )
h )  =  f ) )  ->  g  =  h ) )
3534rgen2a 2977 . . . . 5  |-  A. g  e.  ( X H X ) A. h  e.  ( X H X ) ( ( ( A. f  e.  ( X H X ) ( g ( <. X ,  X >.  .x. 
X ) f )  =  f  /\  A. f  e.  ( X H X ) ( f ( <. X ,  X >.  .x.  X ) g )  =  f )  /\  ( A. f  e.  ( X H X ) ( h (
<. X ,  X >.  .x. 
X ) f )  =  f  /\  A. f  e.  ( X H X ) ( f ( <. X ,  X >.  .x.  X ) h )  =  f ) )  ->  g  =  h )
3635a1i 11 . . . 4  |-  ( ph  ->  A. g  e.  ( X H X ) A. h  e.  ( X H X ) ( ( ( A. f  e.  ( X H X ) ( g ( <. X ,  X >.  .x.  X ) f )  =  f  /\  A. f  e.  ( X H X ) ( f ( <. X ,  X >.  .x.  X )
g )  =  f )  /\  ( A. f  e.  ( X H X ) ( h ( <. X ,  X >.  .x.  X ) f )  =  f  /\  A. f  e.  ( X H X ) ( f ( <. X ,  X >.  .x.  X )
h )  =  f ) )  ->  g  =  h ) )
37 oveq1 6657 . . . . . . . 8  |-  ( g  =  h  ->  (
g ( <. X ,  X >.  .x.  X )
f )  =  ( h ( <. X ,  X >.  .x.  X )
f ) )
3837eqeq1d 2624 . . . . . . 7  |-  ( g  =  h  ->  (
( g ( <. X ,  X >.  .x. 
X ) f )  =  f  <->  ( h
( <. X ,  X >.  .x.  X ) f )  =  f ) )
3938ralbidv 2986 . . . . . 6  |-  ( g  =  h  ->  ( A. f  e.  ( X H X ) ( g ( <. X ,  X >.  .x.  X )
f )  =  f  <->  A. f  e.  ( X H X ) ( h ( <. X ,  X >.  .x.  X )
f )  =  f ) )
40 oveq2 6658 . . . . . . . 8  |-  ( g  =  h  ->  (
f ( <. X ,  X >.  .x.  X )
g )  =  ( f ( <. X ,  X >.  .x.  X )
h ) )
4140eqeq1d 2624 . . . . . . 7  |-  ( g  =  h  ->  (
( f ( <. X ,  X >.  .x. 
X ) g )  =  f  <->  ( f
( <. X ,  X >.  .x.  X ) h )  =  f ) )
4241ralbidv 2986 . . . . . 6  |-  ( g  =  h  ->  ( A. f  e.  ( X H X ) ( f ( <. X ,  X >.  .x.  X )
g )  =  f  <->  A. f  e.  ( X H X ) ( f ( <. X ,  X >.  .x.  X )
h )  =  f ) )
4339, 42anbi12d 747 . . . . 5  |-  ( g  =  h  ->  (
( A. f  e.  ( X H X ) ( g (
<. X ,  X >.  .x. 
X ) f )  =  f  /\  A. f  e.  ( X H X ) ( f ( <. X ,  X >.  .x.  X ) g )  =  f )  <-> 
( A. f  e.  ( X H X ) ( h (
<. X ,  X >.  .x. 
X ) f )  =  f  /\  A. f  e.  ( X H X ) ( f ( <. X ,  X >.  .x.  X ) h )  =  f ) ) )
4443rmo4 3399 . . . 4  |-  ( E* g  e.  ( X H X ) ( A. f  e.  ( X H X ) ( g ( <. X ,  X >.  .x. 
X ) f )  =  f  /\  A. f  e.  ( X H X ) ( f ( <. X ,  X >.  .x.  X ) g )  =  f )  <->  A. g  e.  ( X H X ) A. h  e.  ( X H X ) ( ( ( A. f  e.  ( X H X ) ( g (
<. X ,  X >.  .x. 
X ) f )  =  f  /\  A. f  e.  ( X H X ) ( f ( <. X ,  X >.  .x.  X ) g )  =  f )  /\  ( A. f  e.  ( X H X ) ( h (
<. X ,  X >.  .x. 
X ) f )  =  f  /\  A. f  e.  ( X H X ) ( f ( <. X ,  X >.  .x.  X ) h )  =  f ) )  ->  g  =  h ) )
4536, 44sylibr 224 . . 3  |-  ( ph  ->  E* g  e.  ( X H X ) ( A. f  e.  ( X H X ) ( g (
<. X ,  X >.  .x. 
X ) f )  =  f  /\  A. f  e.  ( X H X ) ( f ( <. X ,  X >.  .x.  X ) g )  =  f ) )
46 rmoim 3407 . . 3  |-  ( A. g  e.  ( X H X ) ( A. y  e.  B  ( A. f  e.  (
y H X ) ( g ( <.
y ,  X >.  .x. 
X ) f )  =  f  /\  A. f  e.  ( X H y ) ( f ( <. X ,  X >.  .x.  y )
g )  =  f )  ->  ( A. f  e.  ( X H X ) ( g ( <. X ,  X >.  .x.  X ) f )  =  f  /\  A. f  e.  ( X H X ) ( f ( <. X ,  X >.  .x.  X )
g )  =  f ) )  ->  ( E* g  e.  ( X H X ) ( A. f  e.  ( X H X ) ( g ( <. X ,  X >.  .x. 
X ) f )  =  f  /\  A. f  e.  ( X H X ) ( f ( <. X ,  X >.  .x.  X ) g )  =  f )  ->  E* g  e.  ( X H X ) A. y  e.  B  ( A. f  e.  ( y H X ) ( g (
<. y ,  X >.  .x. 
X ) f )  =  f  /\  A. f  e.  ( X H y ) ( f ( <. X ,  X >.  .x.  y )
g )  =  f ) ) )
4721, 45, 46sylc 65 . 2  |-  ( ph  ->  E* g  e.  ( X H X ) A. y  e.  B  ( A. f  e.  ( y H X ) ( g ( <.
y ,  X >.  .x. 
X ) f )  =  f  /\  A. f  e.  ( X H y ) ( f ( <. X ,  X >.  .x.  y )
g )  =  f ) )
48 reu5 3159 . 2  |-  ( E! g  e.  ( X H X ) A. y  e.  B  ( A. f  e.  (
y H X ) ( g ( <.
y ,  X >.  .x. 
X ) f )  =  f  /\  A. f  e.  ( X H y ) ( f ( <. X ,  X >.  .x.  y )
g )  =  f )  <->  ( E. g  e.  ( X H X ) A. y  e.  B  ( A. f  e.  ( y H X ) ( g (
<. y ,  X >.  .x. 
X ) f )  =  f  /\  A. f  e.  ( X H y ) ( f ( <. X ,  X >.  .x.  y )
g )  =  f )  /\  E* g  e.  ( X H X ) A. y  e.  B  ( A. f  e.  ( y H X ) ( g (
<. y ,  X >.  .x. 
X ) f )  =  f  /\  A. f  e.  ( X H y ) ( f ( <. X ,  X >.  .x.  y )
g )  =  f ) ) )
496, 47, 48sylanbrc 698 1  |-  ( ph  ->  E! g  e.  ( X H X ) A. y  e.  B  ( A. f  e.  ( y H X ) ( g ( <.
y ,  X >.  .x. 
X ) f )  =  f  /\  A. f  e.  ( X H y ) ( f ( <. X ,  X >.  .x.  y )
g )  =  f ) )
Colors of variables: wff setvar class
Syntax hints:    -> wi 4    /\ wa 384    = wceq 1483    e. wcel 1990   A.wral 2912   E.wrex 2913   E!wreu 2914   E*wrmo 2915   <.cop 4183   ` cfv 5888  (class class class)co 6650   Basecbs 15857   Hom chom 15952  compcco 15953   Catccat 16325
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-9 1999  ax-10 2019  ax-11 2034  ax-12 2047  ax-13 2246  ax-ext 2602  ax-nul 4789
This theorem depends on definitions:  df-bi 197  df-or 385  df-an 386  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-ral 2917  df-rex 2918  df-reu 2919  df-rmo 2920  df-rab 2921  df-v 3202  df-sbc 3436  df-dif 3577  df-un 3579  df-in 3581  df-ss 3588  df-nul 3916  df-if 4087  df-sn 4178  df-pr 4180  df-op 4184  df-uni 4437  df-br 4654  df-iota 5851  df-fv 5896  df-ov 6653  df-cat 16329
This theorem is referenced by:  catidd  16341  catidcl  16343  catlid  16344  catrid  16345
  Copyright terms: Public domain W3C validator