Metamath Proof Explorer


Theorem cofuswapf2

Description: The morphism part of a bifunctor pre-composed with a swap functor. (Contributed by Zhi Wang, 9-Oct-2025)

Ref Expression
Hypotheses cofuswapf1.c φ C Cat
cofuswapf1.d φ D Cat
cofuswapf1.f φ F D × c C Func E
cofuswapf1.g No typesetting found for |- ( ph -> G = ( F o.func ( C swapF D ) ) ) with typecode |-
cofuswapf1.a A = Base C
cofuswapf1.b B = Base D
cofuswapf1.x φ X A
cofuswapf1.y φ Y B
cofuswapf2.z φ Z A
cofuswapf2.w φ W B
cofuswapf2.h H = Hom C
cofuswapf2.j J = Hom D
cofuswapf2.m φ M X H Z
cofuswapf2.n φ N Y J W
Assertion cofuswapf2 φ M X Y 2 nd G Z W N = N Y X 2 nd F W Z M

Proof

Step Hyp Ref Expression
1 cofuswapf1.c φ C Cat
2 cofuswapf1.d φ D Cat
3 cofuswapf1.f φ F D × c C Func E
4 cofuswapf1.g Could not format ( ph -> G = ( F o.func ( C swapF D ) ) ) : No typesetting found for |- ( ph -> G = ( F o.func ( C swapF D ) ) ) with typecode |-
5 cofuswapf1.a A = Base C
6 cofuswapf1.b B = Base D
7 cofuswapf1.x φ X A
8 cofuswapf1.y φ Y B
9 cofuswapf2.z φ Z A
10 cofuswapf2.w φ W B
11 cofuswapf2.h H = Hom C
12 cofuswapf2.j J = Hom D
13 cofuswapf2.m φ M X H Z
14 cofuswapf2.n φ N Y J W
15 4 fveq2d Could not format ( ph -> ( 2nd ` G ) = ( 2nd ` ( F o.func ( C swapF D ) ) ) ) : No typesetting found for |- ( ph -> ( 2nd ` G ) = ( 2nd ` ( F o.func ( C swapF D ) ) ) ) with typecode |-
16 15 oveqd Could not format ( ph -> ( <. X , Y >. ( 2nd ` G ) <. Z , W >. ) = ( <. X , Y >. ( 2nd ` ( F o.func ( C swapF D ) ) ) <. Z , W >. ) ) : No typesetting found for |- ( ph -> ( <. X , Y >. ( 2nd ` G ) <. Z , W >. ) = ( <. X , Y >. ( 2nd ` ( F o.func ( C swapF D ) ) ) <. Z , W >. ) ) with typecode |-
17 16 oveqd Could not format ( ph -> ( M ( <. X , Y >. ( 2nd ` G ) <. Z , W >. ) N ) = ( M ( <. X , Y >. ( 2nd ` ( F o.func ( C swapF D ) ) ) <. Z , W >. ) N ) ) : No typesetting found for |- ( ph -> ( M ( <. X , Y >. ( 2nd ` G ) <. Z , W >. ) N ) = ( M ( <. X , Y >. ( 2nd ` ( F o.func ( C swapF D ) ) ) <. Z , W >. ) N ) ) with typecode |-
18 df-ov Could not format ( M ( <. X , Y >. ( 2nd ` ( F o.func ( C swapF D ) ) ) <. Z , W >. ) N ) = ( ( <. X , Y >. ( 2nd ` ( F o.func ( C swapF D ) ) ) <. Z , W >. ) ` <. M , N >. ) : No typesetting found for |- ( M ( <. X , Y >. ( 2nd ` ( F o.func ( C swapF D ) ) ) <. Z , W >. ) N ) = ( ( <. X , Y >. ( 2nd ` ( F o.func ( C swapF D ) ) ) <. Z , W >. ) ` <. M , N >. ) with typecode |-
19 eqid C × c D = C × c D
20 19 5 6 xpcbas A × B = Base C × c D
21 eqid D × c C = D × c C
22 1 2 19 21 swapffunca Could not format ( ph -> ( C swapF D ) e. ( ( C Xc. D ) Func ( D Xc. C ) ) ) : No typesetting found for |- ( ph -> ( C swapF D ) e. ( ( C Xc. D ) Func ( D Xc. C ) ) ) with typecode |-
23 7 8 opelxpd φ X Y A × B
24 9 10 opelxpd φ Z W A × B
25 eqid Hom C × c D = Hom C × c D
26 13 14 opelxpd φ M N X H Z × Y J W
27 19 5 6 11 12 7 8 9 10 25 xpchom2 φ X Y Hom C × c D Z W = X H Z × Y J W
28 26 27 eleqtrrd φ M N X Y Hom C × c D Z W
29 20 22 3 23 24 25 28 cofu2 Could not format ( ph -> ( ( <. X , Y >. ( 2nd ` ( F o.func ( C swapF D ) ) ) <. Z , W >. ) ` <. M , N >. ) = ( ( ( ( 1st ` ( C swapF D ) ) ` <. X , Y >. ) ( 2nd ` F ) ( ( 1st ` ( C swapF D ) ) ` <. Z , W >. ) ) ` ( ( <. X , Y >. ( 2nd ` ( C swapF D ) ) <. Z , W >. ) ` <. M , N >. ) ) ) : No typesetting found for |- ( ph -> ( ( <. X , Y >. ( 2nd ` ( F o.func ( C swapF D ) ) ) <. Z , W >. ) ` <. M , N >. ) = ( ( ( ( 1st ` ( C swapF D ) ) ` <. X , Y >. ) ( 2nd ` F ) ( ( 1st ` ( C swapF D ) ) ` <. Z , W >. ) ) ` ( ( <. X , Y >. ( 2nd ` ( C swapF D ) ) <. Z , W >. ) ` <. M , N >. ) ) ) with typecode |-
30 18 29 eqtrid Could not format ( ph -> ( M ( <. X , Y >. ( 2nd ` ( F o.func ( C swapF D ) ) ) <. Z , W >. ) N ) = ( ( ( ( 1st ` ( C swapF D ) ) ` <. X , Y >. ) ( 2nd ` F ) ( ( 1st ` ( C swapF D ) ) ` <. Z , W >. ) ) ` ( ( <. X , Y >. ( 2nd ` ( C swapF D ) ) <. Z , W >. ) ` <. M , N >. ) ) ) : No typesetting found for |- ( ph -> ( M ( <. X , Y >. ( 2nd ` ( F o.func ( C swapF D ) ) ) <. Z , W >. ) N ) = ( ( ( ( 1st ` ( C swapF D ) ) ` <. X , Y >. ) ( 2nd ` F ) ( ( 1st ` ( C swapF D ) ) ` <. Z , W >. ) ) ` ( ( <. X , Y >. ( 2nd ` ( C swapF D ) ) <. Z , W >. ) ` <. M , N >. ) ) ) with typecode |-
31 df-ov Could not format ( X ( 1st ` ( C swapF D ) ) Y ) = ( ( 1st ` ( C swapF D ) ) ` <. X , Y >. ) : No typesetting found for |- ( X ( 1st ` ( C swapF D ) ) Y ) = ( ( 1st ` ( C swapF D ) ) ` <. X , Y >. ) with typecode |-
32 1 2 swapfelvv Could not format ( ph -> ( C swapF D ) e. ( _V X. _V ) ) : No typesetting found for |- ( ph -> ( C swapF D ) e. ( _V X. _V ) ) with typecode |-
33 1st2nd2 Could not format ( ( C swapF D ) e. ( _V X. _V ) -> ( C swapF D ) = <. ( 1st ` ( C swapF D ) ) , ( 2nd ` ( C swapF D ) ) >. ) : No typesetting found for |- ( ( C swapF D ) e. ( _V X. _V ) -> ( C swapF D ) = <. ( 1st ` ( C swapF D ) ) , ( 2nd ` ( C swapF D ) ) >. ) with typecode |-
34 32 33 syl Could not format ( ph -> ( C swapF D ) = <. ( 1st ` ( C swapF D ) ) , ( 2nd ` ( C swapF D ) ) >. ) : No typesetting found for |- ( ph -> ( C swapF D ) = <. ( 1st ` ( C swapF D ) ) , ( 2nd ` ( C swapF D ) ) >. ) with typecode |-
35 7 5 eleqtrdi φ X Base C
36 8 6 eleqtrdi φ Y Base D
37 34 35 36 swapf1 Could not format ( ph -> ( X ( 1st ` ( C swapF D ) ) Y ) = <. Y , X >. ) : No typesetting found for |- ( ph -> ( X ( 1st ` ( C swapF D ) ) Y ) = <. Y , X >. ) with typecode |-
38 31 37 eqtr3id Could not format ( ph -> ( ( 1st ` ( C swapF D ) ) ` <. X , Y >. ) = <. Y , X >. ) : No typesetting found for |- ( ph -> ( ( 1st ` ( C swapF D ) ) ` <. X , Y >. ) = <. Y , X >. ) with typecode |-
39 df-ov Could not format ( Z ( 1st ` ( C swapF D ) ) W ) = ( ( 1st ` ( C swapF D ) ) ` <. Z , W >. ) : No typesetting found for |- ( Z ( 1st ` ( C swapF D ) ) W ) = ( ( 1st ` ( C swapF D ) ) ` <. Z , W >. ) with typecode |-
40 9 5 eleqtrdi φ Z Base C
41 10 6 eleqtrdi φ W Base D
42 34 40 41 swapf1 Could not format ( ph -> ( Z ( 1st ` ( C swapF D ) ) W ) = <. W , Z >. ) : No typesetting found for |- ( ph -> ( Z ( 1st ` ( C swapF D ) ) W ) = <. W , Z >. ) with typecode |-
43 39 42 eqtr3id Could not format ( ph -> ( ( 1st ` ( C swapF D ) ) ` <. Z , W >. ) = <. W , Z >. ) : No typesetting found for |- ( ph -> ( ( 1st ` ( C swapF D ) ) ` <. Z , W >. ) = <. W , Z >. ) with typecode |-
44 38 43 oveq12d Could not format ( ph -> ( ( ( 1st ` ( C swapF D ) ) ` <. X , Y >. ) ( 2nd ` F ) ( ( 1st ` ( C swapF D ) ) ` <. Z , W >. ) ) = ( <. Y , X >. ( 2nd ` F ) <. W , Z >. ) ) : No typesetting found for |- ( ph -> ( ( ( 1st ` ( C swapF D ) ) ` <. X , Y >. ) ( 2nd ` F ) ( ( 1st ` ( C swapF D ) ) ` <. Z , W >. ) ) = ( <. Y , X >. ( 2nd ` F ) <. W , Z >. ) ) with typecode |-
45 df-ov Could not format ( M ( <. X , Y >. ( 2nd ` ( C swapF D ) ) <. Z , W >. ) N ) = ( ( <. X , Y >. ( 2nd ` ( C swapF D ) ) <. Z , W >. ) ` <. M , N >. ) : No typesetting found for |- ( M ( <. X , Y >. ( 2nd ` ( C swapF D ) ) <. Z , W >. ) N ) = ( ( <. X , Y >. ( 2nd ` ( C swapF D ) ) <. Z , W >. ) ` <. M , N >. ) with typecode |-
46 11 oveqi X H Z = X Hom C Z
47 13 46 eleqtrdi φ M X Hom C Z
48 12 oveqi Y J W = Y Hom D W
49 14 48 eleqtrdi φ N Y Hom D W
50 34 35 36 40 41 47 49 swapf2 Could not format ( ph -> ( M ( <. X , Y >. ( 2nd ` ( C swapF D ) ) <. Z , W >. ) N ) = <. N , M >. ) : No typesetting found for |- ( ph -> ( M ( <. X , Y >. ( 2nd ` ( C swapF D ) ) <. Z , W >. ) N ) = <. N , M >. ) with typecode |-
51 45 50 eqtr3id Could not format ( ph -> ( ( <. X , Y >. ( 2nd ` ( C swapF D ) ) <. Z , W >. ) ` <. M , N >. ) = <. N , M >. ) : No typesetting found for |- ( ph -> ( ( <. X , Y >. ( 2nd ` ( C swapF D ) ) <. Z , W >. ) ` <. M , N >. ) = <. N , M >. ) with typecode |-
52 44 51 fveq12d Could not format ( ph -> ( ( ( ( 1st ` ( C swapF D ) ) ` <. X , Y >. ) ( 2nd ` F ) ( ( 1st ` ( C swapF D ) ) ` <. Z , W >. ) ) ` ( ( <. X , Y >. ( 2nd ` ( C swapF D ) ) <. Z , W >. ) ` <. M , N >. ) ) = ( ( <. Y , X >. ( 2nd ` F ) <. W , Z >. ) ` <. N , M >. ) ) : No typesetting found for |- ( ph -> ( ( ( ( 1st ` ( C swapF D ) ) ` <. X , Y >. ) ( 2nd ` F ) ( ( 1st ` ( C swapF D ) ) ` <. Z , W >. ) ) ` ( ( <. X , Y >. ( 2nd ` ( C swapF D ) ) <. Z , W >. ) ` <. M , N >. ) ) = ( ( <. Y , X >. ( 2nd ` F ) <. W , Z >. ) ` <. N , M >. ) ) with typecode |-
53 17 30 52 3eqtrd φ M X Y 2 nd G Z W N = Y X 2 nd F W Z N M
54 df-ov N Y X 2 nd F W Z M = Y X 2 nd F W Z N M
55 53 54 eqtr4di φ M X Y 2 nd G Z W N = N Y X 2 nd F W Z M