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 |-