This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
Description: The value of a functor from a terminal category. (Contributed by Zhi Wang, 20-Oct-2025)
| Ref | Expression | ||
|---|---|---|---|
| Hypotheses | diag1f1o.a | |- A = ( Base ` C ) |
|
| diag1f1o.d | |- ( ph -> D e. TermCat ) |
||
| termcfuncval.k | |- ( ph -> K e. ( D Func C ) ) |
||
| termcfuncval.b | |- B = ( Base ` D ) |
||
| termcfuncval.y | |- ( ph -> Y e. B ) |
||
| termcfuncval.x | |- X = ( ( 1st ` K ) ` Y ) |
||
| termcfuncval.1 | |- .1. = ( Id ` C ) |
||
| termcfuncval.i | |- I = ( Id ` D ) |
||
| Assertion | termcfuncval | |- ( ph -> ( X e. A /\ K = <. { <. Y , X >. } , { <. <. Y , Y >. , { <. ( I ` Y ) , ( .1. ` X ) >. } >. } >. ) ) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | diag1f1o.a | |- A = ( Base ` C ) |
|
| 2 | diag1f1o.d | |- ( ph -> D e. TermCat ) |
|
| 3 | termcfuncval.k | |- ( ph -> K e. ( D Func C ) ) |
|
| 4 | termcfuncval.b | |- B = ( Base ` D ) |
|
| 5 | termcfuncval.y | |- ( ph -> Y e. B ) |
|
| 6 | termcfuncval.x | |- X = ( ( 1st ` K ) ` Y ) |
|
| 7 | termcfuncval.1 | |- .1. = ( Id ` C ) |
|
| 8 | termcfuncval.i | |- I = ( Id ` D ) |
|
| 9 | 3 | func1st2nd | |- ( ph -> ( 1st ` K ) ( D Func C ) ( 2nd ` K ) ) |
| 10 | 4 1 9 | funcf1 | |- ( ph -> ( 1st ` K ) : B --> A ) |
| 11 | 10 5 | ffvelcdmd | |- ( ph -> ( ( 1st ` K ) ` Y ) e. A ) |
| 12 | 6 11 | eqeltrid | |- ( ph -> X e. A ) |
| 13 | relfunc | |- Rel ( D Func C ) |
|
| 14 | 1st2nd | |- ( ( Rel ( D Func C ) /\ K e. ( D Func C ) ) -> K = <. ( 1st ` K ) , ( 2nd ` K ) >. ) |
|
| 15 | 13 3 14 | sylancr | |- ( ph -> K = <. ( 1st ` K ) , ( 2nd ` K ) >. ) |
| 16 | 2 4 5 | termcbas2 | |- ( ph -> B = { Y } ) |
| 17 | 16 | feq2d | |- ( ph -> ( ( 1st ` K ) : B --> A <-> ( 1st ` K ) : { Y } --> A ) ) |
| 18 | 10 17 | mpbid | |- ( ph -> ( 1st ` K ) : { Y } --> A ) |
| 19 | fsn2g | |- ( Y e. B -> ( ( 1st ` K ) : { Y } --> A <-> ( ( ( 1st ` K ) ` Y ) e. A /\ ( 1st ` K ) = { <. Y , ( ( 1st ` K ) ` Y ) >. } ) ) ) |
|
| 20 | 5 19 | syl | |- ( ph -> ( ( 1st ` K ) : { Y } --> A <-> ( ( ( 1st ` K ) ` Y ) e. A /\ ( 1st ` K ) = { <. Y , ( ( 1st ` K ) ` Y ) >. } ) ) ) |
| 21 | 18 20 | mpbid | |- ( ph -> ( ( ( 1st ` K ) ` Y ) e. A /\ ( 1st ` K ) = { <. Y , ( ( 1st ` K ) ` Y ) >. } ) ) |
| 22 | 21 | simprd | |- ( ph -> ( 1st ` K ) = { <. Y , ( ( 1st ` K ) ` Y ) >. } ) |
| 23 | 6 | opeq2i | |- <. Y , X >. = <. Y , ( ( 1st ` K ) ` Y ) >. |
| 24 | 23 | sneqi | |- { <. Y , X >. } = { <. Y , ( ( 1st ` K ) ` Y ) >. } |
| 25 | 22 24 | eqtr4di | |- ( ph -> ( 1st ` K ) = { <. Y , X >. } ) |
| 26 | 4 9 | funcfn2 | |- ( ph -> ( 2nd ` K ) Fn ( B X. B ) ) |
| 27 | 16 | sqxpeqd | |- ( ph -> ( B X. B ) = ( { Y } X. { Y } ) ) |
| 28 | xpsng | |- ( ( Y e. B /\ Y e. B ) -> ( { Y } X. { Y } ) = { <. Y , Y >. } ) |
|
| 29 | 5 5 28 | syl2anc | |- ( ph -> ( { Y } X. { Y } ) = { <. Y , Y >. } ) |
| 30 | 27 29 | eqtrd | |- ( ph -> ( B X. B ) = { <. Y , Y >. } ) |
| 31 | 30 | fneq2d | |- ( ph -> ( ( 2nd ` K ) Fn ( B X. B ) <-> ( 2nd ` K ) Fn { <. Y , Y >. } ) ) |
| 32 | 26 31 | mpbid | |- ( ph -> ( 2nd ` K ) Fn { <. Y , Y >. } ) |
| 33 | opex | |- <. Y , Y >. e. _V |
|
| 34 | 33 | fnsnb | |- ( ( 2nd ` K ) Fn { <. Y , Y >. } <-> ( 2nd ` K ) = { <. <. Y , Y >. , ( ( 2nd ` K ) ` <. Y , Y >. ) >. } ) |
| 35 | 32 34 | sylib | |- ( ph -> ( 2nd ` K ) = { <. <. Y , Y >. , ( ( 2nd ` K ) ` <. Y , Y >. ) >. } ) |
| 36 | df-ov | |- ( Y ( 2nd ` K ) Y ) = ( ( 2nd ` K ) ` <. Y , Y >. ) |
|
| 37 | eqid | |- ( Hom ` D ) = ( Hom ` D ) |
|
| 38 | eqid | |- ( Hom ` C ) = ( Hom ` C ) |
|
| 39 | 4 37 38 9 5 5 | funcf2 | |- ( ph -> ( Y ( 2nd ` K ) Y ) : ( Y ( Hom ` D ) Y ) --> ( ( ( 1st ` K ) ` Y ) ( Hom ` C ) ( ( 1st ` K ) ` Y ) ) ) |
| 40 | 2 4 5 5 37 8 | termchom | |- ( ph -> ( Y ( Hom ` D ) Y ) = { ( I ` Y ) } ) |
| 41 | 40 | eqcomd | |- ( ph -> { ( I ` Y ) } = ( Y ( Hom ` D ) Y ) ) |
| 42 | 6 6 | oveq12i | |- ( X ( Hom ` C ) X ) = ( ( ( 1st ` K ) ` Y ) ( Hom ` C ) ( ( 1st ` K ) ` Y ) ) |
| 43 | 42 | a1i | |- ( ph -> ( X ( Hom ` C ) X ) = ( ( ( 1st ` K ) ` Y ) ( Hom ` C ) ( ( 1st ` K ) ` Y ) ) ) |
| 44 | 41 43 | feq23d | |- ( ph -> ( ( Y ( 2nd ` K ) Y ) : { ( I ` Y ) } --> ( X ( Hom ` C ) X ) <-> ( Y ( 2nd ` K ) Y ) : ( Y ( Hom ` D ) Y ) --> ( ( ( 1st ` K ) ` Y ) ( Hom ` C ) ( ( 1st ` K ) ` Y ) ) ) ) |
| 45 | 39 44 | mpbird | |- ( ph -> ( Y ( 2nd ` K ) Y ) : { ( I ` Y ) } --> ( X ( Hom ` C ) X ) ) |
| 46 | fvex | |- ( I ` Y ) e. _V |
|
| 47 | 46 | fsn2 | |- ( ( Y ( 2nd ` K ) Y ) : { ( I ` Y ) } --> ( X ( Hom ` C ) X ) <-> ( ( ( Y ( 2nd ` K ) Y ) ` ( I ` Y ) ) e. ( X ( Hom ` C ) X ) /\ ( Y ( 2nd ` K ) Y ) = { <. ( I ` Y ) , ( ( Y ( 2nd ` K ) Y ) ` ( I ` Y ) ) >. } ) ) |
| 48 | 45 47 | sylib | |- ( ph -> ( ( ( Y ( 2nd ` K ) Y ) ` ( I ` Y ) ) e. ( X ( Hom ` C ) X ) /\ ( Y ( 2nd ` K ) Y ) = { <. ( I ` Y ) , ( ( Y ( 2nd ` K ) Y ) ` ( I ` Y ) ) >. } ) ) |
| 49 | 48 | simprd | |- ( ph -> ( Y ( 2nd ` K ) Y ) = { <. ( I ` Y ) , ( ( Y ( 2nd ` K ) Y ) ` ( I ` Y ) ) >. } ) |
| 50 | 4 8 7 9 5 | funcid | |- ( ph -> ( ( Y ( 2nd ` K ) Y ) ` ( I ` Y ) ) = ( .1. ` ( ( 1st ` K ) ` Y ) ) ) |
| 51 | 6 | fveq2i | |- ( .1. ` X ) = ( .1. ` ( ( 1st ` K ) ` Y ) ) |
| 52 | 50 51 | eqtr4di | |- ( ph -> ( ( Y ( 2nd ` K ) Y ) ` ( I ` Y ) ) = ( .1. ` X ) ) |
| 53 | 52 | opeq2d | |- ( ph -> <. ( I ` Y ) , ( ( Y ( 2nd ` K ) Y ) ` ( I ` Y ) ) >. = <. ( I ` Y ) , ( .1. ` X ) >. ) |
| 54 | 53 | sneqd | |- ( ph -> { <. ( I ` Y ) , ( ( Y ( 2nd ` K ) Y ) ` ( I ` Y ) ) >. } = { <. ( I ` Y ) , ( .1. ` X ) >. } ) |
| 55 | 49 54 | eqtrd | |- ( ph -> ( Y ( 2nd ` K ) Y ) = { <. ( I ` Y ) , ( .1. ` X ) >. } ) |
| 56 | 36 55 | eqtr3id | |- ( ph -> ( ( 2nd ` K ) ` <. Y , Y >. ) = { <. ( I ` Y ) , ( .1. ` X ) >. } ) |
| 57 | 56 | opeq2d | |- ( ph -> <. <. Y , Y >. , ( ( 2nd ` K ) ` <. Y , Y >. ) >. = <. <. Y , Y >. , { <. ( I ` Y ) , ( .1. ` X ) >. } >. ) |
| 58 | 57 | sneqd | |- ( ph -> { <. <. Y , Y >. , ( ( 2nd ` K ) ` <. Y , Y >. ) >. } = { <. <. Y , Y >. , { <. ( I ` Y ) , ( .1. ` X ) >. } >. } ) |
| 59 | 35 58 | eqtrd | |- ( ph -> ( 2nd ` K ) = { <. <. Y , Y >. , { <. ( I ` Y ) , ( .1. ` X ) >. } >. } ) |
| 60 | 25 59 | opeq12d | |- ( ph -> <. ( 1st ` K ) , ( 2nd ` K ) >. = <. { <. Y , X >. } , { <. <. Y , Y >. , { <. ( I ` Y ) , ( .1. ` X ) >. } >. } >. ) |
| 61 | 15 60 | eqtrd | |- ( ph -> K = <. { <. Y , X >. } , { <. <. Y , Y >. , { <. ( I ` Y ) , ( .1. ` X ) >. } >. } >. ) |
| 62 | 12 61 | jca | |- ( ph -> ( X e. A /\ K = <. { <. Y , X >. } , { <. <. Y , Y >. , { <. ( I ` Y ) , ( .1. ` X ) >. } >. } >. ) ) |