This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
Description: Each object in a category has an associated identity arrow. (Contributed by Mario Carneiro, 3-Jan-2017)
| Ref | Expression | ||
|---|---|---|---|
| Hypotheses | cidfval.b | |- B = ( Base ` C ) |
|
| cidfval.h | |- H = ( Hom ` C ) |
||
| cidfval.o | |- .x. = ( comp ` C ) |
||
| cidfval.c | |- ( ph -> C e. Cat ) |
||
| cidfval.i | |- .1. = ( Id ` C ) |
||
| Assertion | cidfval | |- ( ph -> .1. = ( x e. B |-> ( iota_ 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 ) ) ) ) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | cidfval.b | |- B = ( Base ` C ) |
|
| 2 | cidfval.h | |- H = ( Hom ` C ) |
|
| 3 | cidfval.o | |- .x. = ( comp ` C ) |
|
| 4 | cidfval.c | |- ( ph -> C e. Cat ) |
|
| 5 | cidfval.i | |- .1. = ( Id ` C ) |
|
| 6 | fvexd | |- ( c = C -> ( Base ` c ) e. _V ) |
|
| 7 | fveq2 | |- ( c = C -> ( Base ` c ) = ( Base ` C ) ) |
|
| 8 | 7 1 | eqtr4di | |- ( c = C -> ( Base ` c ) = B ) |
| 9 | fvexd | |- ( ( c = C /\ b = B ) -> ( Hom ` c ) e. _V ) |
|
| 10 | simpl | |- ( ( c = C /\ b = B ) -> c = C ) |
|
| 11 | 10 | fveq2d | |- ( ( c = C /\ b = B ) -> ( Hom ` c ) = ( Hom ` C ) ) |
| 12 | 11 2 | eqtr4di | |- ( ( c = C /\ b = B ) -> ( Hom ` c ) = H ) |
| 13 | fvexd | |- ( ( ( c = C /\ b = B ) /\ h = H ) -> ( comp ` c ) e. _V ) |
|
| 14 | simpll | |- ( ( ( c = C /\ b = B ) /\ h = H ) -> c = C ) |
|
| 15 | 14 | fveq2d | |- ( ( ( c = C /\ b = B ) /\ h = H ) -> ( comp ` c ) = ( comp ` C ) ) |
| 16 | 15 3 | eqtr4di | |- ( ( ( c = C /\ b = B ) /\ h = H ) -> ( comp ` c ) = .x. ) |
| 17 | simpllr | |- ( ( ( ( c = C /\ b = B ) /\ h = H ) /\ o = .x. ) -> b = B ) |
|
| 18 | simplr | |- ( ( ( ( c = C /\ b = B ) /\ h = H ) /\ o = .x. ) -> h = H ) |
|
| 19 | 18 | oveqd | |- ( ( ( ( c = C /\ b = B ) /\ h = H ) /\ o = .x. ) -> ( x h x ) = ( x H x ) ) |
| 20 | 18 | oveqd | |- ( ( ( ( c = C /\ b = B ) /\ h = H ) /\ o = .x. ) -> ( y h x ) = ( y H x ) ) |
| 21 | simpr | |- ( ( ( ( c = C /\ b = B ) /\ h = H ) /\ o = .x. ) -> o = .x. ) |
|
| 22 | 21 | oveqd | |- ( ( ( ( c = C /\ b = B ) /\ h = H ) /\ o = .x. ) -> ( <. y , x >. o x ) = ( <. y , x >. .x. x ) ) |
| 23 | 22 | oveqd | |- ( ( ( ( c = C /\ b = B ) /\ h = H ) /\ o = .x. ) -> ( g ( <. y , x >. o x ) f ) = ( g ( <. y , x >. .x. x ) f ) ) |
| 24 | 23 | eqeq1d | |- ( ( ( ( c = C /\ b = B ) /\ h = H ) /\ o = .x. ) -> ( ( g ( <. y , x >. o x ) f ) = f <-> ( g ( <. y , x >. .x. x ) f ) = f ) ) |
| 25 | 20 24 | raleqbidv | |- ( ( ( ( c = C /\ b = B ) /\ h = H ) /\ o = .x. ) -> ( A. f e. ( y h x ) ( g ( <. y , x >. o x ) f ) = f <-> A. f e. ( y H x ) ( g ( <. y , x >. .x. x ) f ) = f ) ) |
| 26 | 18 | oveqd | |- ( ( ( ( c = C /\ b = B ) /\ h = H ) /\ o = .x. ) -> ( x h y ) = ( x H y ) ) |
| 27 | 21 | oveqd | |- ( ( ( ( c = C /\ b = B ) /\ h = H ) /\ o = .x. ) -> ( <. x , x >. o y ) = ( <. x , x >. .x. y ) ) |
| 28 | 27 | oveqd | |- ( ( ( ( c = C /\ b = B ) /\ h = H ) /\ o = .x. ) -> ( f ( <. x , x >. o y ) g ) = ( f ( <. x , x >. .x. y ) g ) ) |
| 29 | 28 | eqeq1d | |- ( ( ( ( c = C /\ b = B ) /\ h = H ) /\ o = .x. ) -> ( ( f ( <. x , x >. o y ) g ) = f <-> ( f ( <. x , x >. .x. y ) g ) = f ) ) |
| 30 | 26 29 | raleqbidv | |- ( ( ( ( c = C /\ b = B ) /\ h = H ) /\ o = .x. ) -> ( A. f e. ( x h y ) ( f ( <. x , x >. o y ) g ) = f <-> A. f e. ( x H y ) ( f ( <. x , x >. .x. y ) g ) = f ) ) |
| 31 | 25 30 | anbi12d | |- ( ( ( ( c = C /\ b = B ) /\ h = H ) /\ o = .x. ) -> ( ( A. f e. ( y h x ) ( g ( <. y , x >. o x ) f ) = f /\ A. f e. ( x h y ) ( f ( <. x , x >. o y ) g ) = f ) <-> ( 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 ) ) ) |
| 32 | 17 31 | raleqbidv | |- ( ( ( ( c = C /\ b = B ) /\ h = H ) /\ o = .x. ) -> ( A. y e. b ( A. f e. ( y h x ) ( g ( <. y , x >. o x ) f ) = f /\ A. f e. ( x h y ) ( f ( <. x , x >. o y ) g ) = f ) <-> 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 ) ) ) |
| 33 | 19 32 | riotaeqbidv | |- ( ( ( ( c = C /\ b = B ) /\ h = H ) /\ o = .x. ) -> ( iota_ g e. ( x h x ) A. y e. b ( A. f e. ( y h x ) ( g ( <. y , x >. o x ) f ) = f /\ A. f e. ( x h y ) ( f ( <. x , x >. o y ) g ) = f ) ) = ( iota_ 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 ) ) ) |
| 34 | 17 33 | mpteq12dv | |- ( ( ( ( c = C /\ b = B ) /\ h = H ) /\ o = .x. ) -> ( x e. b |-> ( iota_ g e. ( x h x ) A. y e. b ( A. f e. ( y h x ) ( g ( <. y , x >. o x ) f ) = f /\ A. f e. ( x h y ) ( f ( <. x , x >. o y ) g ) = f ) ) ) = ( x e. B |-> ( iota_ 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 ) ) ) ) |
| 35 | 13 16 34 | csbied2 | |- ( ( ( c = C /\ b = B ) /\ h = H ) -> [_ ( comp ` c ) / o ]_ ( x e. b |-> ( iota_ g e. ( x h x ) A. y e. b ( A. f e. ( y h x ) ( g ( <. y , x >. o x ) f ) = f /\ A. f e. ( x h y ) ( f ( <. x , x >. o y ) g ) = f ) ) ) = ( x e. B |-> ( iota_ 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 ) ) ) ) |
| 36 | 9 12 35 | csbied2 | |- ( ( c = C /\ b = B ) -> [_ ( Hom ` c ) / h ]_ [_ ( comp ` c ) / o ]_ ( x e. b |-> ( iota_ g e. ( x h x ) A. y e. b ( A. f e. ( y h x ) ( g ( <. y , x >. o x ) f ) = f /\ A. f e. ( x h y ) ( f ( <. x , x >. o y ) g ) = f ) ) ) = ( x e. B |-> ( iota_ 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 ) ) ) ) |
| 37 | 6 8 36 | csbied2 | |- ( c = C -> [_ ( Base ` c ) / b ]_ [_ ( Hom ` c ) / h ]_ [_ ( comp ` c ) / o ]_ ( x e. b |-> ( iota_ g e. ( x h x ) A. y e. b ( A. f e. ( y h x ) ( g ( <. y , x >. o x ) f ) = f /\ A. f e. ( x h y ) ( f ( <. x , x >. o y ) g ) = f ) ) ) = ( x e. B |-> ( iota_ 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 ) ) ) ) |
| 38 | df-cid | |- Id = ( c e. Cat |-> [_ ( Base ` c ) / b ]_ [_ ( Hom ` c ) / h ]_ [_ ( comp ` c ) / o ]_ ( x e. b |-> ( iota_ g e. ( x h x ) A. y e. b ( A. f e. ( y h x ) ( g ( <. y , x >. o x ) f ) = f /\ A. f e. ( x h y ) ( f ( <. x , x >. o y ) g ) = f ) ) ) ) |
|
| 39 | 37 38 1 | mptfvmpt | |- ( C e. Cat -> ( Id ` C ) = ( x e. B |-> ( iota_ 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 ) ) ) ) |
| 40 | 4 39 | syl | |- ( ph -> ( Id ` C ) = ( x e. B |-> ( iota_ 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 ) ) ) ) |
| 41 | 5 40 | eqtrid | |- ( ph -> .1. = ( x e. B |-> ( iota_ 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 ) ) ) ) |