This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
Description: Define the pairing operation for functors (which takes two functors F : C --> D and G : C --> E and produces ( F pairF G ) : C --> ( D Xc. E ) ). (Contributed by Mario Carneiro, 11-Jan-2017)
| Ref | Expression | ||
|---|---|---|---|
| Assertion | df-prf | |- pairF = ( f e. _V , g e. _V |-> [_ dom ( 1st ` f ) / b ]_ <. ( x e. b |-> <. ( ( 1st ` f ) ` x ) , ( ( 1st ` g ) ` x ) >. ) , ( x e. b , y e. b |-> ( h e. dom ( x ( 2nd ` f ) y ) |-> <. ( ( x ( 2nd ` f ) y ) ` h ) , ( ( x ( 2nd ` g ) y ) ` h ) >. ) ) >. ) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 0 | cprf | |- pairF |
|
| 1 | vf | |- f |
|
| 2 | cvv | |- _V |
|
| 3 | vg | |- g |
|
| 4 | c1st | |- 1st |
|
| 5 | 1 | cv | |- f |
| 6 | 5 4 | cfv | |- ( 1st ` f ) |
| 7 | 6 | cdm | |- dom ( 1st ` f ) |
| 8 | vb | |- b |
|
| 9 | vx | |- x |
|
| 10 | 8 | cv | |- b |
| 11 | 9 | cv | |- x |
| 12 | 11 6 | cfv | |- ( ( 1st ` f ) ` x ) |
| 13 | 3 | cv | |- g |
| 14 | 13 4 | cfv | |- ( 1st ` g ) |
| 15 | 11 14 | cfv | |- ( ( 1st ` g ) ` x ) |
| 16 | 12 15 | cop | |- <. ( ( 1st ` f ) ` x ) , ( ( 1st ` g ) ` x ) >. |
| 17 | 9 10 16 | cmpt | |- ( x e. b |-> <. ( ( 1st ` f ) ` x ) , ( ( 1st ` g ) ` x ) >. ) |
| 18 | vy | |- y |
|
| 19 | vh | |- h |
|
| 20 | c2nd | |- 2nd |
|
| 21 | 5 20 | cfv | |- ( 2nd ` f ) |
| 22 | 18 | cv | |- y |
| 23 | 11 22 21 | co | |- ( x ( 2nd ` f ) y ) |
| 24 | 23 | cdm | |- dom ( x ( 2nd ` f ) y ) |
| 25 | 19 | cv | |- h |
| 26 | 25 23 | cfv | |- ( ( x ( 2nd ` f ) y ) ` h ) |
| 27 | 13 20 | cfv | |- ( 2nd ` g ) |
| 28 | 11 22 27 | co | |- ( x ( 2nd ` g ) y ) |
| 29 | 25 28 | cfv | |- ( ( x ( 2nd ` g ) y ) ` h ) |
| 30 | 26 29 | cop | |- <. ( ( x ( 2nd ` f ) y ) ` h ) , ( ( x ( 2nd ` g ) y ) ` h ) >. |
| 31 | 19 24 30 | cmpt | |- ( h e. dom ( x ( 2nd ` f ) y ) |-> <. ( ( x ( 2nd ` f ) y ) ` h ) , ( ( x ( 2nd ` g ) y ) ` h ) >. ) |
| 32 | 9 18 10 10 31 | cmpo | |- ( x e. b , y e. b |-> ( h e. dom ( x ( 2nd ` f ) y ) |-> <. ( ( x ( 2nd ` f ) y ) ` h ) , ( ( x ( 2nd ` g ) y ) ` h ) >. ) ) |
| 33 | 17 32 | cop | |- <. ( x e. b |-> <. ( ( 1st ` f ) ` x ) , ( ( 1st ` g ) ` x ) >. ) , ( x e. b , y e. b |-> ( h e. dom ( x ( 2nd ` f ) y ) |-> <. ( ( x ( 2nd ` f ) y ) ` h ) , ( ( x ( 2nd ` g ) y ) ` h ) >. ) ) >. |
| 34 | 8 7 33 | csb | |- [_ dom ( 1st ` f ) / b ]_ <. ( x e. b |-> <. ( ( 1st ` f ) ` x ) , ( ( 1st ` g ) ` x ) >. ) , ( x e. b , y e. b |-> ( h e. dom ( x ( 2nd ` f ) y ) |-> <. ( ( x ( 2nd ` f ) y ) ` h ) , ( ( x ( 2nd ` g ) y ) ` h ) >. ) ) >. |
| 35 | 1 3 2 2 34 | cmpo | |- ( f e. _V , g e. _V |-> [_ dom ( 1st ` f ) / b ]_ <. ( x e. b |-> <. ( ( 1st ` f ) ` x ) , ( ( 1st ` g ) ` x ) >. ) , ( x e. b , y e. b |-> ( h e. dom ( x ( 2nd ` f ) y ) |-> <. ( ( x ( 2nd ` f ) y ) ` h ) , ( ( x ( 2nd ` g ) y ) ` h ) >. ) ) >. ) |
| 36 | 0 35 | wceq | |- pairF = ( f e. _V , g e. _V |-> [_ dom ( 1st ` f ) / b ]_ <. ( x e. b |-> <. ( ( 1st ` f ) ` x ) , ( ( 1st ` g ) ` x ) >. ) , ( x e. b , y e. b |-> ( h e. dom ( x ( 2nd ` f ) y ) |-> <. ( ( x ( 2nd ` f ) y ) ` h ) , ( ( x ( 2nd ` g ) y ) ` h ) >. ) ) >. ) |