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, using universal property. (Contributed by Zhi Wang, 23-Oct-2025)
| Ref | Expression | ||
|---|---|---|---|
| Hypotheses | isinito2.1 | |- .1. = ( SetCat ` 1o ) |
|
| isinito2.f | |- F = ( ( 1st ` ( .1. DiagFunc C ) ) ` (/) ) |
||
| isinito2lem.c | |- ( ph -> C e. Cat ) |
||
| isinito2lem.i | |- ( ph -> I e. ( Base ` C ) ) |
||
| Assertion | isinito2lem | |- ( ph -> ( I e. ( InitO ` C ) <-> I ( F ( C UP .1. ) (/) ) (/) ) ) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | isinito2.1 | |- .1. = ( SetCat ` 1o ) |
|
| 2 | isinito2.f | |- F = ( ( 1st ` ( .1. DiagFunc C ) ) ` (/) ) |
|
| 3 | isinito2lem.c | |- ( ph -> C e. Cat ) |
|
| 4 | isinito2lem.i | |- ( ph -> I e. ( Base ` C ) ) |
|
| 5 | reutru | |- ( E! f f e. ( I ( Hom ` C ) x ) <-> E! f e. ( I ( Hom ` C ) x ) T. ) |
|
| 6 | 0ex | |- (/) e. _V |
|
| 7 | eqeq1 | |- ( y = (/) -> ( y = ( ( ( I ( 2nd ` F ) x ) ` f ) ( <. (/) , ( ( 1st ` F ) ` I ) >. { <. <. (/) , (/) >. , (/) , { <. (/) , (/) , (/) >. } >. } ( ( 1st ` F ) ` x ) ) (/) ) <-> (/) = ( ( ( I ( 2nd ` F ) x ) ` f ) ( <. (/) , ( ( 1st ` F ) ` I ) >. { <. <. (/) , (/) >. , (/) , { <. (/) , (/) , (/) >. } >. } ( ( 1st ` F ) ` x ) ) (/) ) ) ) |
|
| 8 | 7 | reubidv | |- ( y = (/) -> ( E! f e. ( I ( Hom ` C ) x ) y = ( ( ( I ( 2nd ` F ) x ) ` f ) ( <. (/) , ( ( 1st ` F ) ` I ) >. { <. <. (/) , (/) >. , (/) , { <. (/) , (/) , (/) >. } >. } ( ( 1st ` F ) ` x ) ) (/) ) <-> E! f e. ( I ( Hom ` C ) x ) (/) = ( ( ( I ( 2nd ` F ) x ) ` f ) ( <. (/) , ( ( 1st ` F ) ` I ) >. { <. <. (/) , (/) >. , (/) , { <. (/) , (/) , (/) >. } >. } ( ( 1st ` F ) ` x ) ) (/) ) ) ) |
| 9 | 6 8 | ralsn | |- ( A. y e. { (/) } E! f e. ( I ( Hom ` C ) x ) y = ( ( ( I ( 2nd ` F ) x ) ` f ) ( <. (/) , ( ( 1st ` F ) ` I ) >. { <. <. (/) , (/) >. , (/) , { <. (/) , (/) , (/) >. } >. } ( ( 1st ` F ) ` x ) ) (/) ) <-> E! f e. ( I ( Hom ` C ) x ) (/) = ( ( ( I ( 2nd ` F ) x ) ` f ) ( <. (/) , ( ( 1st ` F ) ` I ) >. { <. <. (/) , (/) >. , (/) , { <. (/) , (/) , (/) >. } >. } ( ( 1st ` F ) ` x ) ) (/) ) ) |
| 10 | eqid | |- ( .1. DiagFunc C ) = ( .1. DiagFunc C ) |
|
| 11 | setc1oterm | |- ( SetCat ` 1o ) e. TermCat |
|
| 12 | 1 11 | eqeltri | |- .1. e. TermCat |
| 13 | 12 | a1i | |- ( ph -> .1. e. TermCat ) |
| 14 | 13 | termccd | |- ( ph -> .1. e. Cat ) |
| 15 | 1 | setc1obas | |- 1o = ( Base ` .1. ) |
| 16 | 0lt1o | |- (/) e. 1o |
|
| 17 | 16 | a1i | |- ( ph -> (/) e. 1o ) |
| 18 | eqid | |- ( Base ` C ) = ( Base ` C ) |
|
| 19 | 10 14 3 15 17 2 18 4 | diag11 | |- ( ph -> ( ( 1st ` F ) ` I ) = (/) ) |
| 20 | 19 | adantr | |- ( ( ph /\ x e. ( Base ` C ) ) -> ( ( 1st ` F ) ` I ) = (/) ) |
| 21 | 20 | opeq2d | |- ( ( ph /\ x e. ( Base ` C ) ) -> <. (/) , ( ( 1st ` F ) ` I ) >. = <. (/) , (/) >. ) |
| 22 | 14 | adantr | |- ( ( ph /\ x e. ( Base ` C ) ) -> .1. e. Cat ) |
| 23 | 3 | adantr | |- ( ( ph /\ x e. ( Base ` C ) ) -> C e. Cat ) |
| 24 | 16 | a1i | |- ( ( ph /\ x e. ( Base ` C ) ) -> (/) e. 1o ) |
| 25 | simpr | |- ( ( ph /\ x e. ( Base ` C ) ) -> x e. ( Base ` C ) ) |
|
| 26 | 10 22 23 15 24 2 18 25 | diag11 | |- ( ( ph /\ x e. ( Base ` C ) ) -> ( ( 1st ` F ) ` x ) = (/) ) |
| 27 | 21 26 | oveq12d | |- ( ( ph /\ x e. ( Base ` C ) ) -> ( <. (/) , ( ( 1st ` F ) ` I ) >. { <. <. (/) , (/) >. , (/) , { <. (/) , (/) , (/) >. } >. } ( ( 1st ` F ) ` x ) ) = ( <. (/) , (/) >. { <. <. (/) , (/) >. , (/) , { <. (/) , (/) , (/) >. } >. } (/) ) ) |
| 28 | snex | |- { <. (/) , (/) , (/) >. } e. _V |
|
| 29 | 28 | ovsn2 | |- ( <. (/) , (/) >. { <. <. (/) , (/) >. , (/) , { <. (/) , (/) , (/) >. } >. } (/) ) = { <. (/) , (/) , (/) >. } |
| 30 | 27 29 | eqtrdi | |- ( ( ph /\ x e. ( Base ` C ) ) -> ( <. (/) , ( ( 1st ` F ) ` I ) >. { <. <. (/) , (/) >. , (/) , { <. (/) , (/) , (/) >. } >. } ( ( 1st ` F ) ` x ) ) = { <. (/) , (/) , (/) >. } ) |
| 31 | 30 | adantr | |- ( ( ( ph /\ x e. ( Base ` C ) ) /\ f e. ( I ( Hom ` C ) x ) ) -> ( <. (/) , ( ( 1st ` F ) ` I ) >. { <. <. (/) , (/) >. , (/) , { <. (/) , (/) , (/) >. } >. } ( ( 1st ` F ) ` x ) ) = { <. (/) , (/) , (/) >. } ) |
| 32 | 12 | a1i | |- ( ( ( ph /\ x e. ( Base ` C ) ) /\ f e. ( I ( Hom ` C ) x ) ) -> .1. e. TermCat ) |
| 33 | 32 | termccd | |- ( ( ( ph /\ x e. ( Base ` C ) ) /\ f e. ( I ( Hom ` C ) x ) ) -> .1. e. Cat ) |
| 34 | 3 | ad2antrr | |- ( ( ( ph /\ x e. ( Base ` C ) ) /\ f e. ( I ( Hom ` C ) x ) ) -> C e. Cat ) |
| 35 | 16 | a1i | |- ( ( ( ph /\ x e. ( Base ` C ) ) /\ f e. ( I ( Hom ` C ) x ) ) -> (/) e. 1o ) |
| 36 | 4 | ad2antrr | |- ( ( ( ph /\ x e. ( Base ` C ) ) /\ f e. ( I ( Hom ` C ) x ) ) -> I e. ( Base ` C ) ) |
| 37 | eqid | |- ( Hom ` C ) = ( Hom ` C ) |
|
| 38 | eqid | |- ( Id ` .1. ) = ( Id ` .1. ) |
|
| 39 | simplr | |- ( ( ( ph /\ x e. ( Base ` C ) ) /\ f e. ( I ( Hom ` C ) x ) ) -> x e. ( Base ` C ) ) |
|
| 40 | simpr | |- ( ( ( ph /\ x e. ( Base ` C ) ) /\ f e. ( I ( Hom ` C ) x ) ) -> f e. ( I ( Hom ` C ) x ) ) |
|
| 41 | 10 33 34 15 35 2 18 36 37 38 39 40 | diag12 | |- ( ( ( ph /\ x e. ( Base ` C ) ) /\ f e. ( I ( Hom ` C ) x ) ) -> ( ( I ( 2nd ` F ) x ) ` f ) = ( ( Id ` .1. ) ` (/) ) ) |
| 42 | 1 38 | setc1oid | |- ( ( Id ` .1. ) ` (/) ) = (/) |
| 43 | 41 42 | eqtrdi | |- ( ( ( ph /\ x e. ( Base ` C ) ) /\ f e. ( I ( Hom ` C ) x ) ) -> ( ( I ( 2nd ` F ) x ) ` f ) = (/) ) |
| 44 | eqidd | |- ( ( ( ph /\ x e. ( Base ` C ) ) /\ f e. ( I ( Hom ` C ) x ) ) -> (/) = (/) ) |
|
| 45 | 31 43 44 | oveq123d | |- ( ( ( ph /\ x e. ( Base ` C ) ) /\ f e. ( I ( Hom ` C ) x ) ) -> ( ( ( I ( 2nd ` F ) x ) ` f ) ( <. (/) , ( ( 1st ` F ) ` I ) >. { <. <. (/) , (/) >. , (/) , { <. (/) , (/) , (/) >. } >. } ( ( 1st ` F ) ` x ) ) (/) ) = ( (/) { <. (/) , (/) , (/) >. } (/) ) ) |
| 46 | 6 | ovsn2 | |- ( (/) { <. (/) , (/) , (/) >. } (/) ) = (/) |
| 47 | 45 46 | eqtr2di | |- ( ( ( ph /\ x e. ( Base ` C ) ) /\ f e. ( I ( Hom ` C ) x ) ) -> (/) = ( ( ( I ( 2nd ` F ) x ) ` f ) ( <. (/) , ( ( 1st ` F ) ` I ) >. { <. <. (/) , (/) >. , (/) , { <. (/) , (/) , (/) >. } >. } ( ( 1st ` F ) ` x ) ) (/) ) ) |
| 48 | tbtru | |- ( (/) = ( ( ( I ( 2nd ` F ) x ) ` f ) ( <. (/) , ( ( 1st ` F ) ` I ) >. { <. <. (/) , (/) >. , (/) , { <. (/) , (/) , (/) >. } >. } ( ( 1st ` F ) ` x ) ) (/) ) <-> ( (/) = ( ( ( I ( 2nd ` F ) x ) ` f ) ( <. (/) , ( ( 1st ` F ) ` I ) >. { <. <. (/) , (/) >. , (/) , { <. (/) , (/) , (/) >. } >. } ( ( 1st ` F ) ` x ) ) (/) ) <-> T. ) ) |
|
| 49 | 47 48 | sylib | |- ( ( ( ph /\ x e. ( Base ` C ) ) /\ f e. ( I ( Hom ` C ) x ) ) -> ( (/) = ( ( ( I ( 2nd ` F ) x ) ` f ) ( <. (/) , ( ( 1st ` F ) ` I ) >. { <. <. (/) , (/) >. , (/) , { <. (/) , (/) , (/) >. } >. } ( ( 1st ` F ) ` x ) ) (/) ) <-> T. ) ) |
| 50 | 49 | reubidva | |- ( ( ph /\ x e. ( Base ` C ) ) -> ( E! f e. ( I ( Hom ` C ) x ) (/) = ( ( ( I ( 2nd ` F ) x ) ` f ) ( <. (/) , ( ( 1st ` F ) ` I ) >. { <. <. (/) , (/) >. , (/) , { <. (/) , (/) , (/) >. } >. } ( ( 1st ` F ) ` x ) ) (/) ) <-> E! f e. ( I ( Hom ` C ) x ) T. ) ) |
| 51 | 9 50 | bitr2id | |- ( ( ph /\ x e. ( Base ` C ) ) -> ( E! f e. ( I ( Hom ` C ) x ) T. <-> A. y e. { (/) } E! f e. ( I ( Hom ` C ) x ) y = ( ( ( I ( 2nd ` F ) x ) ` f ) ( <. (/) , ( ( 1st ` F ) ` I ) >. { <. <. (/) , (/) >. , (/) , { <. (/) , (/) , (/) >. } >. } ( ( 1st ` F ) ` x ) ) (/) ) ) ) |
| 52 | 26 | oveq2d | |- ( ( ph /\ x e. ( Base ` C ) ) -> ( (/) { <. (/) , (/) , 1o >. } ( ( 1st ` F ) ` x ) ) = ( (/) { <. (/) , (/) , 1o >. } (/) ) ) |
| 53 | 1oex | |- 1o e. _V |
|
| 54 | 53 | ovsn2 | |- ( (/) { <. (/) , (/) , 1o >. } (/) ) = 1o |
| 55 | df1o2 | |- 1o = { (/) } |
|
| 56 | 54 55 | eqtri | |- ( (/) { <. (/) , (/) , 1o >. } (/) ) = { (/) } |
| 57 | 52 56 | eqtrdi | |- ( ( ph /\ x e. ( Base ` C ) ) -> ( (/) { <. (/) , (/) , 1o >. } ( ( 1st ` F ) ` x ) ) = { (/) } ) |
| 58 | 57 | raleqdv | |- ( ( ph /\ x e. ( Base ` C ) ) -> ( A. y e. ( (/) { <. (/) , (/) , 1o >. } ( ( 1st ` F ) ` x ) ) E! f e. ( I ( Hom ` C ) x ) y = ( ( ( I ( 2nd ` F ) x ) ` f ) ( <. (/) , ( ( 1st ` F ) ` I ) >. { <. <. (/) , (/) >. , (/) , { <. (/) , (/) , (/) >. } >. } ( ( 1st ` F ) ` x ) ) (/) ) <-> A. y e. { (/) } E! f e. ( I ( Hom ` C ) x ) y = ( ( ( I ( 2nd ` F ) x ) ` f ) ( <. (/) , ( ( 1st ` F ) ` I ) >. { <. <. (/) , (/) >. , (/) , { <. (/) , (/) , (/) >. } >. } ( ( 1st ` F ) ` x ) ) (/) ) ) ) |
| 59 | 51 58 | bitr4d | |- ( ( ph /\ x e. ( Base ` C ) ) -> ( E! f e. ( I ( Hom ` C ) x ) T. <-> A. y e. ( (/) { <. (/) , (/) , 1o >. } ( ( 1st ` F ) ` x ) ) E! f e. ( I ( Hom ` C ) x ) y = ( ( ( I ( 2nd ` F ) x ) ` f ) ( <. (/) , ( ( 1st ` F ) ` I ) >. { <. <. (/) , (/) >. , (/) , { <. (/) , (/) , (/) >. } >. } ( ( 1st ` F ) ` x ) ) (/) ) ) ) |
| 60 | 5 59 | bitrid | |- ( ( ph /\ x e. ( Base ` C ) ) -> ( E! f f e. ( I ( Hom ` C ) x ) <-> A. y e. ( (/) { <. (/) , (/) , 1o >. } ( ( 1st ` F ) ` x ) ) E! f e. ( I ( Hom ` C ) x ) y = ( ( ( I ( 2nd ` F ) x ) ` f ) ( <. (/) , ( ( 1st ` F ) ` I ) >. { <. <. (/) , (/) >. , (/) , { <. (/) , (/) , (/) >. } >. } ( ( 1st ` F ) ` x ) ) (/) ) ) ) |
| 61 | 60 | ralbidva | |- ( ph -> ( A. x e. ( Base ` C ) E! f f e. ( I ( Hom ` C ) x ) <-> A. x e. ( Base ` C ) A. y e. ( (/) { <. (/) , (/) , 1o >. } ( ( 1st ` F ) ` x ) ) E! f e. ( I ( Hom ` C ) x ) y = ( ( ( I ( 2nd ` F ) x ) ` f ) ( <. (/) , ( ( 1st ` F ) ` I ) >. { <. <. (/) , (/) >. , (/) , { <. (/) , (/) , (/) >. } >. } ( ( 1st ` F ) ` x ) ) (/) ) ) ) |
| 62 | 18 37 3 4 | isinito | |- ( ph -> ( I e. ( InitO ` C ) <-> A. x e. ( Base ` C ) E! f f e. ( I ( Hom ` C ) x ) ) ) |
| 63 | 1 | setc1ohomfval | |- { <. (/) , (/) , 1o >. } = ( Hom ` .1. ) |
| 64 | 1 | setc1ocofval | |- { <. <. (/) , (/) >. , (/) , { <. (/) , (/) , (/) >. } >. } = ( comp ` .1. ) |
| 65 | 1 2 3 | funcsetc1ocl | |- ( ph -> F e. ( C Func .1. ) ) |
| 66 | 65 | func1st2nd | |- ( ph -> ( 1st ` F ) ( C Func .1. ) ( 2nd ` F ) ) |
| 67 | 19 | oveq2d | |- ( ph -> ( (/) { <. (/) , (/) , 1o >. } ( ( 1st ` F ) ` I ) ) = ( (/) { <. (/) , (/) , 1o >. } (/) ) ) |
| 68 | 67 54 | eqtrdi | |- ( ph -> ( (/) { <. (/) , (/) , 1o >. } ( ( 1st ` F ) ` I ) ) = 1o ) |
| 69 | 16 68 | eleqtrrid | |- ( ph -> (/) e. ( (/) { <. (/) , (/) , 1o >. } ( ( 1st ` F ) ` I ) ) ) |
| 70 | 18 15 37 63 64 17 66 4 69 | isup | |- ( ph -> ( I ( <. ( 1st ` F ) , ( 2nd ` F ) >. ( C UP .1. ) (/) ) (/) <-> A. x e. ( Base ` C ) A. y e. ( (/) { <. (/) , (/) , 1o >. } ( ( 1st ` F ) ` x ) ) E! f e. ( I ( Hom ` C ) x ) y = ( ( ( I ( 2nd ` F ) x ) ` f ) ( <. (/) , ( ( 1st ` F ) ` I ) >. { <. <. (/) , (/) >. , (/) , { <. (/) , (/) , (/) >. } >. } ( ( 1st ` F ) ` x ) ) (/) ) ) ) |
| 71 | 61 62 70 | 3bitr4d | |- ( ph -> ( I e. ( InitO ` C ) <-> I ( <. ( 1st ` F ) , ( 2nd ` F ) >. ( C UP .1. ) (/) ) (/) ) ) |
| 72 | 65 | up1st2ndb | |- ( ph -> ( I ( F ( C UP .1. ) (/) ) (/) <-> I ( <. ( 1st ` F ) , ( 2nd ` F ) >. ( C UP .1. ) (/) ) (/) ) ) |
| 73 | 71 72 | bitr4d | |- ( ph -> ( I e. ( InitO ` C ) <-> I ( F ( C UP .1. ) (/) ) (/) ) ) |