Metamath Proof Explorer


Theorem oppc2ndf

Description: The opposite functor of the second projection functor is the second projection functor of opposite categories. (Contributed by Zhi Wang, 19-Nov-2025)

Ref Expression
Hypotheses oppc1stf.o O = oppCat C
oppc1stf.p P = oppCat D
oppc1stf.c φ C V
oppc1stf.d φ D W
Assertion oppc2ndf Could not format assertion : No typesetting found for |- ( ph -> ( oppFunc ` ( C 2ndF D ) ) = ( O 2ndF P ) ) with typecode |-

Proof

Step Hyp Ref Expression
1 oppc1stf.o O = oppCat C
2 oppc1stf.p P = oppCat D
3 oppc1stf.c φ C V
4 oppc1stf.d φ D W
5 eqid x Base C × Base D , y Base C × Base D 2 nd x Hom C × c D y = x Base C × Base D , y Base C × Base D 2 nd x Hom C × c D y
6 5 tposmpo tpos x Base C × Base D , y Base C × Base D 2 nd x Hom C × c D y = y Base C × Base D , x Base C × Base D 2 nd x Hom C × c D y
7 eqid Hom C = Hom C
8 7 1 oppchom 1 st y Hom O 1 st x = 1 st x Hom C 1 st y
9 eqid Hom D = Hom D
10 9 2 oppchom 2 nd y Hom P 2 nd x = 2 nd x Hom D 2 nd y
11 8 10 xpeq12i 1 st y Hom O 1 st x × 2 nd y Hom P 2 nd x = 1 st x Hom C 1 st y × 2 nd x Hom D 2 nd y
12 eqid O × c P = O × c P
13 eqid Base C = Base C
14 1 13 oppcbas Base C = Base O
15 eqid Base D = Base D
16 2 15 oppcbas Base D = Base P
17 12 14 16 xpcbas Base C × Base D = Base O × c P
18 eqid Hom O = Hom O
19 eqid Hom P = Hom P
20 eqid Hom O × c P = Hom O × c P
21 simp2 φ C Cat D Cat y Base C × Base D x Base C × Base D y Base C × Base D
22 simp3 φ C Cat D Cat y Base C × Base D x Base C × Base D x Base C × Base D
23 12 17 18 19 20 21 22 xpchom φ C Cat D Cat y Base C × Base D x Base C × Base D y Hom O × c P x = 1 st y Hom O 1 st x × 2 nd y Hom P 2 nd x
24 eqid C × c D = C × c D
25 24 13 15 xpcbas Base C × Base D = Base C × c D
26 eqid Hom C × c D = Hom C × c D
27 24 25 7 9 26 22 21 xpchom φ C Cat D Cat y Base C × Base D x Base C × Base D x Hom C × c D y = 1 st x Hom C 1 st y × 2 nd x Hom D 2 nd y
28 11 23 27 3eqtr4a φ C Cat D Cat y Base C × Base D x Base C × Base D y Hom O × c P x = x Hom C × c D y
29 28 reseq2d φ C Cat D Cat y Base C × Base D x Base C × Base D 2 nd y Hom O × c P x = 2 nd x Hom C × c D y
30 29 mpoeq3dva φ C Cat D Cat y Base C × Base D , x Base C × Base D 2 nd y Hom O × c P x = y Base C × Base D , x Base C × Base D 2 nd x Hom C × c D y
31 6 30 eqtr4id φ C Cat D Cat tpos x Base C × Base D , y Base C × Base D 2 nd x Hom C × c D y = y Base C × Base D , x Base C × Base D 2 nd y Hom O × c P x
32 31 opeq2d φ C Cat D Cat 2 nd Base C × Base D tpos x Base C × Base D , y Base C × Base D 2 nd x Hom C × c D y = 2 nd Base C × Base D y Base C × Base D , x Base C × Base D 2 nd y Hom O × c P x
33 simprl φ C Cat D Cat C Cat
34 simprr φ C Cat D Cat D Cat
35 eqid C 2 nd F D = C 2 nd F D
36 24 25 26 33 34 35 2ndfval φ C Cat D Cat C 2 nd F D = 2 nd Base C × Base D x Base C × Base D , y Base C × Base D 2 nd x Hom C × c D y
37 24 33 34 35 2ndfcl φ C Cat D Cat C 2 nd F D C × c D Func D
38 36 37 oppfval3 Could not format ( ( ph /\ ( C e. Cat /\ D e. Cat ) ) -> ( oppFunc ` ( C 2ndF D ) ) = <. ( 2nd |` ( ( Base ` C ) X. ( Base ` D ) ) ) , tpos ( x e. ( ( Base ` C ) X. ( Base ` D ) ) , y e. ( ( Base ` C ) X. ( Base ` D ) ) |-> ( 2nd |` ( x ( Hom ` ( C Xc. D ) ) y ) ) ) >. ) : No typesetting found for |- ( ( ph /\ ( C e. Cat /\ D e. Cat ) ) -> ( oppFunc ` ( C 2ndF D ) ) = <. ( 2nd |` ( ( Base ` C ) X. ( Base ` D ) ) ) , tpos ( x e. ( ( Base ` C ) X. ( Base ` D ) ) , y e. ( ( Base ` C ) X. ( Base ` D ) ) |-> ( 2nd |` ( x ( Hom ` ( C Xc. D ) ) y ) ) ) >. ) with typecode |-
39 1 oppccat C Cat O Cat
40 33 39 syl φ C Cat D Cat O Cat
41 2 oppccat D Cat P Cat
42 34 41 syl φ C Cat D Cat P Cat
43 eqid O 2 nd F P = O 2 nd F P
44 12 17 20 40 42 43 2ndfval φ C Cat D Cat O 2 nd F P = 2 nd Base C × Base D y Base C × Base D , x Base C × Base D 2 nd y Hom O × c P x
45 32 38 44 3eqtr4d Could not format ( ( ph /\ ( C e. Cat /\ D e. Cat ) ) -> ( oppFunc ` ( C 2ndF D ) ) = ( O 2ndF P ) ) : No typesetting found for |- ( ( ph /\ ( C e. Cat /\ D e. Cat ) ) -> ( oppFunc ` ( C 2ndF D ) ) = ( O 2ndF P ) ) with typecode |-
46 df-2ndf 2 nd F = c Cat , d Cat Base c × Base d / b 2 nd b x b , y b 2 nd x Hom c × c d y
47 1 2 3 4 45 46 oppc1stflem Could not format ( ph -> ( oppFunc ` ( C 2ndF D ) ) = ( O 2ndF P ) ) : No typesetting found for |- ( ph -> ( oppFunc ` ( C 2ndF D ) ) = ( O 2ndF P ) ) with typecode |-