This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
Description: Value of composition in the binary product of categories. (Contributed by Mario Carneiro, 11-Jan-2017) (Proof shortened by AV, 2-Mar-2024)
| Ref | Expression | ||
|---|---|---|---|
| Hypotheses | xpccofval.t | |- T = ( C Xc. D ) |
|
| xpccofval.b | |- B = ( Base ` T ) |
||
| xpccofval.k | |- K = ( Hom ` T ) |
||
| xpccofval.o1 | |- .x. = ( comp ` C ) |
||
| xpccofval.o2 | |- .xb = ( comp ` D ) |
||
| xpccofval.o | |- O = ( comp ` T ) |
||
| Assertion | xpccofval | |- O = ( x e. ( B X. B ) , y e. B |-> ( g e. ( ( 2nd ` x ) K y ) , f e. ( K ` x ) |-> <. ( ( 1st ` g ) ( <. ( 1st ` ( 1st ` x ) ) , ( 1st ` ( 2nd ` x ) ) >. .x. ( 1st ` y ) ) ( 1st ` f ) ) , ( ( 2nd ` g ) ( <. ( 2nd ` ( 1st ` x ) ) , ( 2nd ` ( 2nd ` x ) ) >. .xb ( 2nd ` y ) ) ( 2nd ` f ) ) >. ) ) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | xpccofval.t | |- T = ( C Xc. D ) |
|
| 2 | xpccofval.b | |- B = ( Base ` T ) |
|
| 3 | xpccofval.k | |- K = ( Hom ` T ) |
|
| 4 | xpccofval.o1 | |- .x. = ( comp ` C ) |
|
| 5 | xpccofval.o2 | |- .xb = ( comp ` D ) |
|
| 6 | xpccofval.o | |- O = ( comp ` T ) |
|
| 7 | eqid | |- ( Base ` C ) = ( Base ` C ) |
|
| 8 | eqid | |- ( Base ` D ) = ( Base ` D ) |
|
| 9 | eqid | |- ( Hom ` C ) = ( Hom ` C ) |
|
| 10 | eqid | |- ( Hom ` D ) = ( Hom ` D ) |
|
| 11 | simpl | |- ( ( C e. _V /\ D e. _V ) -> C e. _V ) |
|
| 12 | simpr | |- ( ( C e. _V /\ D e. _V ) -> D e. _V ) |
|
| 13 | 1 7 8 | xpcbas | |- ( ( Base ` C ) X. ( Base ` D ) ) = ( Base ` T ) |
| 14 | 2 13 | eqtr4i | |- B = ( ( Base ` C ) X. ( Base ` D ) ) |
| 15 | 14 | a1i | |- ( ( C e. _V /\ D e. _V ) -> B = ( ( Base ` C ) X. ( Base ` D ) ) ) |
| 16 | 1 2 9 10 3 | xpchomfval | |- K = ( u e. B , v e. B |-> ( ( ( 1st ` u ) ( Hom ` C ) ( 1st ` v ) ) X. ( ( 2nd ` u ) ( Hom ` D ) ( 2nd ` v ) ) ) ) |
| 17 | 16 | a1i | |- ( ( C e. _V /\ D e. _V ) -> K = ( u e. B , v e. B |-> ( ( ( 1st ` u ) ( Hom ` C ) ( 1st ` v ) ) X. ( ( 2nd ` u ) ( Hom ` D ) ( 2nd ` v ) ) ) ) ) |
| 18 | eqidd | |- ( ( C e. _V /\ D e. _V ) -> ( x e. ( B X. B ) , y e. B |-> ( g e. ( ( 2nd ` x ) K y ) , f e. ( K ` x ) |-> <. ( ( 1st ` g ) ( <. ( 1st ` ( 1st ` x ) ) , ( 1st ` ( 2nd ` x ) ) >. .x. ( 1st ` y ) ) ( 1st ` f ) ) , ( ( 2nd ` g ) ( <. ( 2nd ` ( 1st ` x ) ) , ( 2nd ` ( 2nd ` x ) ) >. .xb ( 2nd ` y ) ) ( 2nd ` f ) ) >. ) ) = ( x e. ( B X. B ) , y e. B |-> ( g e. ( ( 2nd ` x ) K y ) , f e. ( K ` x ) |-> <. ( ( 1st ` g ) ( <. ( 1st ` ( 1st ` x ) ) , ( 1st ` ( 2nd ` x ) ) >. .x. ( 1st ` y ) ) ( 1st ` f ) ) , ( ( 2nd ` g ) ( <. ( 2nd ` ( 1st ` x ) ) , ( 2nd ` ( 2nd ` x ) ) >. .xb ( 2nd ` y ) ) ( 2nd ` f ) ) >. ) ) ) |
|
| 19 | 1 7 8 9 10 4 5 11 12 15 17 18 | xpcval | |- ( ( C e. _V /\ D e. _V ) -> T = { <. ( Base ` ndx ) , B >. , <. ( Hom ` ndx ) , K >. , <. ( comp ` ndx ) , ( x e. ( B X. B ) , y e. B |-> ( g e. ( ( 2nd ` x ) K y ) , f e. ( K ` x ) |-> <. ( ( 1st ` g ) ( <. ( 1st ` ( 1st ` x ) ) , ( 1st ` ( 2nd ` x ) ) >. .x. ( 1st ` y ) ) ( 1st ` f ) ) , ( ( 2nd ` g ) ( <. ( 2nd ` ( 1st ` x ) ) , ( 2nd ` ( 2nd ` x ) ) >. .xb ( 2nd ` y ) ) ( 2nd ` f ) ) >. ) ) >. } ) |
| 20 | catstr | |- { <. ( Base ` ndx ) , B >. , <. ( Hom ` ndx ) , K >. , <. ( comp ` ndx ) , ( x e. ( B X. B ) , y e. B |-> ( g e. ( ( 2nd ` x ) K y ) , f e. ( K ` x ) |-> <. ( ( 1st ` g ) ( <. ( 1st ` ( 1st ` x ) ) , ( 1st ` ( 2nd ` x ) ) >. .x. ( 1st ` y ) ) ( 1st ` f ) ) , ( ( 2nd ` g ) ( <. ( 2nd ` ( 1st ` x ) ) , ( 2nd ` ( 2nd ` x ) ) >. .xb ( 2nd ` y ) ) ( 2nd ` f ) ) >. ) ) >. } Struct <. 1 , ; 1 5 >. |
|
| 21 | ccoid | |- comp = Slot ( comp ` ndx ) |
|
| 22 | snsstp3 | |- { <. ( comp ` ndx ) , ( x e. ( B X. B ) , y e. B |-> ( g e. ( ( 2nd ` x ) K y ) , f e. ( K ` x ) |-> <. ( ( 1st ` g ) ( <. ( 1st ` ( 1st ` x ) ) , ( 1st ` ( 2nd ` x ) ) >. .x. ( 1st ` y ) ) ( 1st ` f ) ) , ( ( 2nd ` g ) ( <. ( 2nd ` ( 1st ` x ) ) , ( 2nd ` ( 2nd ` x ) ) >. .xb ( 2nd ` y ) ) ( 2nd ` f ) ) >. ) ) >. } C_ { <. ( Base ` ndx ) , B >. , <. ( Hom ` ndx ) , K >. , <. ( comp ` ndx ) , ( x e. ( B X. B ) , y e. B |-> ( g e. ( ( 2nd ` x ) K y ) , f e. ( K ` x ) |-> <. ( ( 1st ` g ) ( <. ( 1st ` ( 1st ` x ) ) , ( 1st ` ( 2nd ` x ) ) >. .x. ( 1st ` y ) ) ( 1st ` f ) ) , ( ( 2nd ` g ) ( <. ( 2nd ` ( 1st ` x ) ) , ( 2nd ` ( 2nd ` x ) ) >. .xb ( 2nd ` y ) ) ( 2nd ` f ) ) >. ) ) >. } |
|
| 23 | 2 | fvexi | |- B e. _V |
| 24 | 23 23 | xpex | |- ( B X. B ) e. _V |
| 25 | 24 23 | mpoex | |- ( x e. ( B X. B ) , y e. B |-> ( g e. ( ( 2nd ` x ) K y ) , f e. ( K ` x ) |-> <. ( ( 1st ` g ) ( <. ( 1st ` ( 1st ` x ) ) , ( 1st ` ( 2nd ` x ) ) >. .x. ( 1st ` y ) ) ( 1st ` f ) ) , ( ( 2nd ` g ) ( <. ( 2nd ` ( 1st ` x ) ) , ( 2nd ` ( 2nd ` x ) ) >. .xb ( 2nd ` y ) ) ( 2nd ` f ) ) >. ) ) e. _V |
| 26 | 25 | a1i | |- ( ( C e. _V /\ D e. _V ) -> ( x e. ( B X. B ) , y e. B |-> ( g e. ( ( 2nd ` x ) K y ) , f e. ( K ` x ) |-> <. ( ( 1st ` g ) ( <. ( 1st ` ( 1st ` x ) ) , ( 1st ` ( 2nd ` x ) ) >. .x. ( 1st ` y ) ) ( 1st ` f ) ) , ( ( 2nd ` g ) ( <. ( 2nd ` ( 1st ` x ) ) , ( 2nd ` ( 2nd ` x ) ) >. .xb ( 2nd ` y ) ) ( 2nd ` f ) ) >. ) ) e. _V ) |
| 27 | 19 20 21 22 26 6 | strfv3 | |- ( ( C e. _V /\ D e. _V ) -> O = ( x e. ( B X. B ) , y e. B |-> ( g e. ( ( 2nd ` x ) K y ) , f e. ( K ` x ) |-> <. ( ( 1st ` g ) ( <. ( 1st ` ( 1st ` x ) ) , ( 1st ` ( 2nd ` x ) ) >. .x. ( 1st ` y ) ) ( 1st ` f ) ) , ( ( 2nd ` g ) ( <. ( 2nd ` ( 1st ` x ) ) , ( 2nd ` ( 2nd ` x ) ) >. .xb ( 2nd ` y ) ) ( 2nd ` f ) ) >. ) ) ) |
| 28 | fnxpc | |- Xc. Fn ( _V X. _V ) |
|
| 29 | 28 | fndmi | |- dom Xc. = ( _V X. _V ) |
| 30 | 29 | ndmov | |- ( -. ( C e. _V /\ D e. _V ) -> ( C Xc. D ) = (/) ) |
| 31 | 1 30 | eqtrid | |- ( -. ( C e. _V /\ D e. _V ) -> T = (/) ) |
| 32 | 31 | fveq2d | |- ( -. ( C e. _V /\ D e. _V ) -> ( comp ` T ) = ( comp ` (/) ) ) |
| 33 | 21 | str0 | |- (/) = ( comp ` (/) ) |
| 34 | 32 6 33 | 3eqtr4g | |- ( -. ( C e. _V /\ D e. _V ) -> O = (/) ) |
| 35 | 31 | fveq2d | |- ( -. ( C e. _V /\ D e. _V ) -> ( Base ` T ) = ( Base ` (/) ) ) |
| 36 | base0 | |- (/) = ( Base ` (/) ) |
|
| 37 | 35 2 36 | 3eqtr4g | |- ( -. ( C e. _V /\ D e. _V ) -> B = (/) ) |
| 38 | 37 | olcd | |- ( -. ( C e. _V /\ D e. _V ) -> ( ( B X. B ) = (/) \/ B = (/) ) ) |
| 39 | 0mpo0 | |- ( ( ( B X. B ) = (/) \/ B = (/) ) -> ( x e. ( B X. B ) , y e. B |-> ( g e. ( ( 2nd ` x ) K y ) , f e. ( K ` x ) |-> <. ( ( 1st ` g ) ( <. ( 1st ` ( 1st ` x ) ) , ( 1st ` ( 2nd ` x ) ) >. .x. ( 1st ` y ) ) ( 1st ` f ) ) , ( ( 2nd ` g ) ( <. ( 2nd ` ( 1st ` x ) ) , ( 2nd ` ( 2nd ` x ) ) >. .xb ( 2nd ` y ) ) ( 2nd ` f ) ) >. ) ) = (/) ) |
|
| 40 | 38 39 | syl | |- ( -. ( C e. _V /\ D e. _V ) -> ( x e. ( B X. B ) , y e. B |-> ( g e. ( ( 2nd ` x ) K y ) , f e. ( K ` x ) |-> <. ( ( 1st ` g ) ( <. ( 1st ` ( 1st ` x ) ) , ( 1st ` ( 2nd ` x ) ) >. .x. ( 1st ` y ) ) ( 1st ` f ) ) , ( ( 2nd ` g ) ( <. ( 2nd ` ( 1st ` x ) ) , ( 2nd ` ( 2nd ` x ) ) >. .xb ( 2nd ` y ) ) ( 2nd ` f ) ) >. ) ) = (/) ) |
| 41 | 34 40 | eqtr4d | |- ( -. ( C e. _V /\ D e. _V ) -> O = ( x e. ( B X. B ) , y e. B |-> ( g e. ( ( 2nd ` x ) K y ) , f e. ( K ` x ) |-> <. ( ( 1st ` g ) ( <. ( 1st ` ( 1st ` x ) ) , ( 1st ` ( 2nd ` x ) ) >. .x. ( 1st ` y ) ) ( 1st ` f ) ) , ( ( 2nd ` g ) ( <. ( 2nd ` ( 1st ` x ) ) , ( 2nd ` ( 2nd ` x ) ) >. .xb ( 2nd ` y ) ) ( 2nd ` f ) ) >. ) ) ) |
| 42 | 27 41 | pm2.61i | |- O = ( x e. ( B X. B ) , y e. B |-> ( g e. ( ( 2nd ` x ) K y ) , f e. ( K ` x ) |-> <. ( ( 1st ` g ) ( <. ( 1st ` ( 1st ` x ) ) , ( 1st ` ( 2nd ` x ) ) >. .x. ( 1st ` y ) ) ( 1st ` f ) ) , ( ( 2nd ` g ) ( <. ( 2nd ` ( 1st ` x ) ) , ( 2nd ` ( 2nd ` x ) ) >. .xb ( 2nd ` y ) ) ( 2nd ` f ) ) >. ) ) |