This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
Description: The morphisms in the functor category are natural transformations. (Contributed by Mario Carneiro, 6-Jan-2017) (Proof shortened by AV, 14-Oct-2024)
| Ref | Expression | ||
|---|---|---|---|
| Hypotheses | fucbas.q | |- Q = ( C FuncCat D ) |
|
| fuchom.n | |- N = ( C Nat D ) |
||
| Assertion | fuchom | |- N = ( Hom ` Q ) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | fucbas.q | |- Q = ( C FuncCat D ) |
|
| 2 | fuchom.n | |- N = ( C Nat D ) |
|
| 3 | eqid | |- ( C Func D ) = ( C Func D ) |
|
| 4 | eqid | |- ( Base ` C ) = ( Base ` C ) |
|
| 5 | eqid | |- ( comp ` D ) = ( comp ` D ) |
|
| 6 | simpl | |- ( ( C e. Cat /\ D e. Cat ) -> C e. Cat ) |
|
| 7 | simpr | |- ( ( C e. Cat /\ D e. Cat ) -> D e. Cat ) |
|
| 8 | eqid | |- ( comp ` Q ) = ( comp ` Q ) |
|
| 9 | 1 3 2 4 5 6 7 8 | fuccofval | |- ( ( C e. Cat /\ D e. Cat ) -> ( comp ` Q ) = ( v e. ( ( C Func D ) X. ( C Func D ) ) , h e. ( C Func D ) |-> [_ ( 1st ` v ) / f ]_ [_ ( 2nd ` v ) / g ]_ ( b e. ( g N h ) , a e. ( f N g ) |-> ( x e. ( Base ` C ) |-> ( ( b ` x ) ( <. ( ( 1st ` f ) ` x ) , ( ( 1st ` g ) ` x ) >. ( comp ` D ) ( ( 1st ` h ) ` x ) ) ( a ` x ) ) ) ) ) ) |
| 10 | 1 3 2 4 5 6 7 9 | fucval | |- ( ( C e. Cat /\ D e. Cat ) -> Q = { <. ( Base ` ndx ) , ( C Func D ) >. , <. ( Hom ` ndx ) , N >. , <. ( comp ` ndx ) , ( comp ` Q ) >. } ) |
| 11 | catstr | |- { <. ( Base ` ndx ) , ( C Func D ) >. , <. ( Hom ` ndx ) , N >. , <. ( comp ` ndx ) , ( comp ` Q ) >. } Struct <. 1 , ; 1 5 >. |
|
| 12 | homid | |- Hom = Slot ( Hom ` ndx ) |
|
| 13 | snsstp2 | |- { <. ( Hom ` ndx ) , N >. } C_ { <. ( Base ` ndx ) , ( C Func D ) >. , <. ( Hom ` ndx ) , N >. , <. ( comp ` ndx ) , ( comp ` Q ) >. } |
|
| 14 | 2 | ovexi | |- N e. _V |
| 15 | 14 | a1i | |- ( ( C e. Cat /\ D e. Cat ) -> N e. _V ) |
| 16 | eqid | |- ( Hom ` Q ) = ( Hom ` Q ) |
|
| 17 | 10 11 12 13 15 16 | strfv3 | |- ( ( C e. Cat /\ D e. Cat ) -> ( Hom ` Q ) = N ) |
| 18 | 17 | eqcomd | |- ( ( C e. Cat /\ D e. Cat ) -> N = ( Hom ` Q ) ) |
| 19 | 12 | str0 | |- (/) = ( Hom ` (/) ) |
| 20 | 2 | natffn | |- N Fn ( ( C Func D ) X. ( C Func D ) ) |
| 21 | funcrcl | |- ( f e. ( C Func D ) -> ( C e. Cat /\ D e. Cat ) ) |
|
| 22 | 21 | con3i | |- ( -. ( C e. Cat /\ D e. Cat ) -> -. f e. ( C Func D ) ) |
| 23 | 22 | eq0rdv | |- ( -. ( C e. Cat /\ D e. Cat ) -> ( C Func D ) = (/) ) |
| 24 | 23 | xpeq2d | |- ( -. ( C e. Cat /\ D e. Cat ) -> ( ( C Func D ) X. ( C Func D ) ) = ( ( C Func D ) X. (/) ) ) |
| 25 | xp0 | |- ( ( C Func D ) X. (/) ) = (/) |
|
| 26 | 24 25 | eqtrdi | |- ( -. ( C e. Cat /\ D e. Cat ) -> ( ( C Func D ) X. ( C Func D ) ) = (/) ) |
| 27 | 26 | fneq2d | |- ( -. ( C e. Cat /\ D e. Cat ) -> ( N Fn ( ( C Func D ) X. ( C Func D ) ) <-> N Fn (/) ) ) |
| 28 | 20 27 | mpbii | |- ( -. ( C e. Cat /\ D e. Cat ) -> N Fn (/) ) |
| 29 | fn0 | |- ( N Fn (/) <-> N = (/) ) |
|
| 30 | 28 29 | sylib | |- ( -. ( C e. Cat /\ D e. Cat ) -> N = (/) ) |
| 31 | fnfuc | |- FuncCat Fn ( Cat X. Cat ) |
|
| 32 | 31 | fndmi | |- dom FuncCat = ( Cat X. Cat ) |
| 33 | 32 | ndmov | |- ( -. ( C e. Cat /\ D e. Cat ) -> ( C FuncCat D ) = (/) ) |
| 34 | 1 33 | eqtrid | |- ( -. ( C e. Cat /\ D e. Cat ) -> Q = (/) ) |
| 35 | 34 | fveq2d | |- ( -. ( C e. Cat /\ D e. Cat ) -> ( Hom ` Q ) = ( Hom ` (/) ) ) |
| 36 | 19 30 35 | 3eqtr4a | |- ( -. ( C e. Cat /\ D e. Cat ) -> N = ( Hom ` Q ) ) |
| 37 | 18 36 | pm2.61i | |- N = ( Hom ` Q ) |