Metamath Proof Explorer


Theorem catlid

Description: Left identity property of an identity arrow. (Contributed by Mario Carneiro, 2-Jan-2017)

Ref Expression
Hypotheses catidcl.b
|- B = ( Base ` C )
catidcl.h
|- H = ( Hom ` C )
catidcl.i
|- .1. = ( Id ` C )
catidcl.c
|- ( ph -> C e. Cat )
catidcl.x
|- ( ph -> X e. B )
catlid.o
|- .x. = ( comp ` C )
catlid.y
|- ( ph -> Y e. B )
catlid.f
|- ( ph -> F e. ( X H Y ) )
Assertion catlid
|- ( ph -> ( ( .1. ` Y ) ( <. X , Y >. .x. Y ) F ) = F )

Proof

Step Hyp Ref Expression
1 catidcl.b
 |-  B = ( Base ` C )
2 catidcl.h
 |-  H = ( Hom ` C )
3 catidcl.i
 |-  .1. = ( Id ` C )
4 catidcl.c
 |-  ( ph -> C e. Cat )
5 catidcl.x
 |-  ( ph -> X e. B )
6 catlid.o
 |-  .x. = ( comp ` C )
7 catlid.y
 |-  ( ph -> Y e. B )
8 catlid.f
 |-  ( ph -> F e. ( X H Y ) )
9 oveq2
 |-  ( f = F -> ( ( .1. ` Y ) ( <. X , Y >. .x. Y ) f ) = ( ( .1. ` Y ) ( <. X , Y >. .x. Y ) F ) )
10 id
 |-  ( f = F -> f = F )
11 9 10 eqeq12d
 |-  ( f = F -> ( ( ( .1. ` Y ) ( <. X , Y >. .x. Y ) f ) = f <-> ( ( .1. ` Y ) ( <. X , Y >. .x. Y ) F ) = F ) )
12 oveq1
 |-  ( x = X -> ( x H Y ) = ( X H Y ) )
13 opeq1
 |-  ( x = X -> <. x , Y >. = <. X , Y >. )
14 13 oveq1d
 |-  ( x = X -> ( <. x , Y >. .x. Y ) = ( <. X , Y >. .x. Y ) )
15 14 oveqd
 |-  ( x = X -> ( ( .1. ` Y ) ( <. x , Y >. .x. Y ) f ) = ( ( .1. ` Y ) ( <. X , Y >. .x. Y ) f ) )
16 15 eqeq1d
 |-  ( x = X -> ( ( ( .1. ` Y ) ( <. x , Y >. .x. Y ) f ) = f <-> ( ( .1. ` Y ) ( <. X , Y >. .x. Y ) f ) = f ) )
17 12 16 raleqbidv
 |-  ( x = X -> ( A. f e. ( x H Y ) ( ( .1. ` Y ) ( <. x , Y >. .x. Y ) f ) = f <-> A. f e. ( X H Y ) ( ( .1. ` Y ) ( <. X , Y >. .x. Y ) f ) = f ) )
18 simpl
 |-  ( ( A. f e. ( x H Y ) ( g ( <. x , Y >. .x. Y ) f ) = f /\ A. f e. ( Y H x ) ( f ( <. Y , Y >. .x. x ) g ) = f ) -> A. f e. ( x H Y ) ( g ( <. x , Y >. .x. Y ) f ) = f )
19 18 ralimi
 |-  ( A. x e. B ( A. f e. ( x H Y ) ( g ( <. x , Y >. .x. Y ) f ) = f /\ A. f e. ( Y H x ) ( f ( <. Y , Y >. .x. x ) g ) = f ) -> A. x e. B A. f e. ( x H Y ) ( g ( <. x , Y >. .x. Y ) f ) = f )
20 19 a1i
 |-  ( g e. ( Y H Y ) -> ( A. x e. B ( A. f e. ( x H Y ) ( g ( <. x , Y >. .x. Y ) f ) = f /\ A. f e. ( Y H x ) ( f ( <. Y , Y >. .x. x ) g ) = f ) -> A. x e. B A. f e. ( x H Y ) ( g ( <. x , Y >. .x. Y ) f ) = f ) )
21 20 ss2rabi
 |-  { g e. ( Y H Y ) | A. x e. B ( A. f e. ( x H Y ) ( g ( <. x , Y >. .x. Y ) f ) = f /\ A. f e. ( Y H x ) ( f ( <. Y , Y >. .x. x ) g ) = f ) } C_ { g e. ( Y H Y ) | A. x e. B A. f e. ( x H Y ) ( g ( <. x , Y >. .x. Y ) f ) = f }
22 1 2 6 4 3 7 cidval
 |-  ( ph -> ( .1. ` Y ) = ( iota_ g e. ( Y H Y ) A. x e. B ( A. f e. ( x H Y ) ( g ( <. x , Y >. .x. Y ) f ) = f /\ A. f e. ( Y H x ) ( f ( <. Y , Y >. .x. x ) g ) = f ) ) )
23 1 2 6 4 7 catideu
 |-  ( ph -> E! g e. ( Y H Y ) A. x e. B ( A. f e. ( x H Y ) ( g ( <. x , Y >. .x. Y ) f ) = f /\ A. f e. ( Y H x ) ( f ( <. Y , Y >. .x. x ) g ) = f ) )
24 riotacl2
 |-  ( E! g e. ( Y H Y ) A. x e. B ( A. f e. ( x H Y ) ( g ( <. x , Y >. .x. Y ) f ) = f /\ A. f e. ( Y H x ) ( f ( <. Y , Y >. .x. x ) g ) = f ) -> ( iota_ g e. ( Y H Y ) A. x e. B ( A. f e. ( x H Y ) ( g ( <. x , Y >. .x. Y ) f ) = f /\ A. f e. ( Y H x ) ( f ( <. Y , Y >. .x. x ) g ) = f ) ) e. { g e. ( Y H Y ) | A. x e. B ( A. f e. ( x H Y ) ( g ( <. x , Y >. .x. Y ) f ) = f /\ A. f e. ( Y H x ) ( f ( <. Y , Y >. .x. x ) g ) = f ) } )
25 23 24 syl
 |-  ( ph -> ( iota_ g e. ( Y H Y ) A. x e. B ( A. f e. ( x H Y ) ( g ( <. x , Y >. .x. Y ) f ) = f /\ A. f e. ( Y H x ) ( f ( <. Y , Y >. .x. x ) g ) = f ) ) e. { g e. ( Y H Y ) | A. x e. B ( A. f e. ( x H Y ) ( g ( <. x , Y >. .x. Y ) f ) = f /\ A. f e. ( Y H x ) ( f ( <. Y , Y >. .x. x ) g ) = f ) } )
26 22 25 eqeltrd
 |-  ( ph -> ( .1. ` Y ) e. { g e. ( Y H Y ) | A. x e. B ( A. f e. ( x H Y ) ( g ( <. x , Y >. .x. Y ) f ) = f /\ A. f e. ( Y H x ) ( f ( <. Y , Y >. .x. x ) g ) = f ) } )
27 21 26 sselid
 |-  ( ph -> ( .1. ` Y ) e. { g e. ( Y H Y ) | A. x e. B A. f e. ( x H Y ) ( g ( <. x , Y >. .x. Y ) f ) = f } )
28 oveq1
 |-  ( g = ( .1. ` Y ) -> ( g ( <. x , Y >. .x. Y ) f ) = ( ( .1. ` Y ) ( <. x , Y >. .x. Y ) f ) )
29 28 eqeq1d
 |-  ( g = ( .1. ` Y ) -> ( ( g ( <. x , Y >. .x. Y ) f ) = f <-> ( ( .1. ` Y ) ( <. x , Y >. .x. Y ) f ) = f ) )
30 29 2ralbidv
 |-  ( g = ( .1. ` Y ) -> ( A. x e. B A. f e. ( x H Y ) ( g ( <. x , Y >. .x. Y ) f ) = f <-> A. x e. B A. f e. ( x H Y ) ( ( .1. ` Y ) ( <. x , Y >. .x. Y ) f ) = f ) )
31 30 elrab
 |-  ( ( .1. ` Y ) e. { g e. ( Y H Y ) | A. x e. B A. f e. ( x H Y ) ( g ( <. x , Y >. .x. Y ) f ) = f } <-> ( ( .1. ` Y ) e. ( Y H Y ) /\ A. x e. B A. f e. ( x H Y ) ( ( .1. ` Y ) ( <. x , Y >. .x. Y ) f ) = f ) )
32 31 simprbi
 |-  ( ( .1. ` Y ) e. { g e. ( Y H Y ) | A. x e. B A. f e. ( x H Y ) ( g ( <. x , Y >. .x. Y ) f ) = f } -> A. x e. B A. f e. ( x H Y ) ( ( .1. ` Y ) ( <. x , Y >. .x. Y ) f ) = f )
33 27 32 syl
 |-  ( ph -> A. x e. B A. f e. ( x H Y ) ( ( .1. ` Y ) ( <. x , Y >. .x. Y ) f ) = f )
34 17 33 5 rspcdva
 |-  ( ph -> A. f e. ( X H Y ) ( ( .1. ` Y ) ( <. X , Y >. .x. Y ) f ) = f )
35 11 34 8 rspcdva
 |-  ( ph -> ( ( .1. ` Y ) ( <. X , Y >. .x. Y ) F ) = F )