This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
Description: The predicate "is an initial object" of a category. (Contributed by AV, 3-Apr-2020)
| Ref | Expression | ||
|---|---|---|---|
| Hypotheses | isinito.b | |- B = ( Base ` C ) |
|
| isinito.h | |- H = ( Hom ` C ) |
||
| isinito.c | |- ( ph -> C e. Cat ) |
||
| isinito.i | |- ( ph -> I e. B ) |
||
| Assertion | isinito | |- ( ph -> ( I e. ( InitO ` C ) <-> A. b e. B E! h h e. ( I H b ) ) ) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | isinito.b | |- B = ( Base ` C ) |
|
| 2 | isinito.h | |- H = ( Hom ` C ) |
|
| 3 | isinito.c | |- ( ph -> C e. Cat ) |
|
| 4 | isinito.i | |- ( ph -> I e. B ) |
|
| 5 | 3 1 2 | initoval | |- ( ph -> ( InitO ` C ) = { i e. B | A. b e. B E! h h e. ( i H b ) } ) |
| 6 | 5 | eleq2d | |- ( ph -> ( I e. ( InitO ` C ) <-> I e. { i e. B | A. b e. B E! h h e. ( i H b ) } ) ) |
| 7 | oveq1 | |- ( i = I -> ( i H b ) = ( I H b ) ) |
|
| 8 | 7 | eleq2d | |- ( i = I -> ( h e. ( i H b ) <-> h e. ( I H b ) ) ) |
| 9 | 8 | eubidv | |- ( i = I -> ( E! h h e. ( i H b ) <-> E! h h e. ( I H b ) ) ) |
| 10 | 9 | ralbidv | |- ( i = I -> ( A. b e. B E! h h e. ( i H b ) <-> A. b e. B E! h h e. ( I H b ) ) ) |
| 11 | 10 | elrab3 | |- ( I e. B -> ( I e. { i e. B | A. b e. B E! h h e. ( i H b ) } <-> A. b e. B E! h h e. ( I H b ) ) ) |
| 12 | 4 11 | syl | |- ( ph -> ( I e. { i e. B | A. b e. B E! h h e. ( i H b ) } <-> A. b e. B E! h h e. ( I H b ) ) ) |
| 13 | 6 12 | bitrd | |- ( ph -> ( I e. ( InitO ` C ) <-> A. b e. B E! h h e. ( I H b ) ) ) |