Metamath Proof Explorer


Theorem oppc1stf

Description: The opposite functor of the first projection functor is the first 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 oppc1stf Could not format assertion : No typesetting found for |- ( ph -> ( oppFunc ` ( C 1stF D ) ) = ( O 1stF 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 ⟼ 1 st ↾ x Hom ⁡ C × c D y = x ∈ Base C × Base D , y ∈ Base C × Base D ⟼ 1 st ↾ x Hom ⁡ C × c D y
6 5 tposmpo ⊢ tpos x ∈ Base C × Base D , y ∈ Base C × Base D ⟼ 1 st ↾ x Hom ⁡ C × c D y = y ∈ Base C × Base D , x ∈ Base C × Base D ⟼ 1 st ↾ 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 → 1 st ↾ y Hom ⁡ O × c P x = 1 st ↾ x Hom ⁡ C × c D y
30 29 mpoeq3dva ⊢ φ ∧ C ∈ Cat ∧ D ∈ Cat → y ∈ Base C × Base D , x ∈ Base C × Base D ⟼ 1 st ↾ y Hom ⁡ O × c P x = y ∈ Base C × Base D , x ∈ Base C × Base D ⟼ 1 st ↾ 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 ⟼ 1 st ↾ x Hom ⁡ C × c D y = y ∈ Base C × Base D , x ∈ Base C × Base D ⟼ 1 st ↾ y Hom ⁡ O × c P x
32 31 opeq2d ⊢ φ ∧ C ∈ Cat ∧ D ∈ Cat → 1 st ↾ Base C × Base D tpos x ∈ Base C × Base D , y ∈ Base C × Base D ⟼ 1 st ↾ x Hom ⁡ C × c D y = 1 st ↾ Base C × Base D y ∈ Base C × Base D , x ∈ Base C × Base D ⟼ 1 st ↾ 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 1 st F D = C 1 st F D
36 24 25 26 33 34 35 1stfval ⊢ φ ∧ C ∈ Cat ∧ D ∈ Cat → C 1 st F D = 1 st ↾ Base C × Base D x ∈ Base C × Base D , y ∈ Base C × Base D ⟼ 1 st ↾ x Hom ⁡ C × c D y
37 24 33 34 35 1stfcl ⊢ φ ∧ C ∈ Cat ∧ D ∈ Cat → C 1 st F D ∈ C × c D Func C
38 36 37 oppfval3 Could not format ( ( ph /\ ( C e. Cat /\ D e. Cat ) ) -> ( oppFunc ` ( C 1stF D ) ) = <. ( 1st |` ( ( Base ` C ) X. ( Base ` D ) ) ) , tpos ( x e. ( ( Base ` C ) X. ( Base ` D ) ) , y e. ( ( Base ` C ) X. ( Base ` D ) ) |-> ( 1st |` ( x ( Hom ` ( C Xc. D ) ) y ) ) ) >. ) : No typesetting found for |- ( ( ph /\ ( C e. Cat /\ D e. Cat ) ) -> ( oppFunc ` ( C 1stF D ) ) = <. ( 1st |` ( ( Base ` C ) X. ( Base ` D ) ) ) , tpos ( x e. ( ( Base ` C ) X. ( Base ` D ) ) , y e. ( ( Base ` C ) X. ( Base ` D ) ) |-> ( 1st |` ( 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 1 st F P = O 1 st F P
44 12 17 20 40 42 43 1stfval ⊢ φ ∧ C ∈ Cat ∧ D ∈ Cat → O 1 st F P = 1 st ↾ Base C × Base D y ∈ Base C × Base D , x ∈ Base C × Base D ⟼ 1 st ↾ y Hom ⁡ O × c P x
45 32 38 44 3eqtr4d Could not format ( ( ph /\ ( C e. Cat /\ D e. Cat ) ) -> ( oppFunc ` ( C 1stF D ) ) = ( O 1stF P ) ) : No typesetting found for |- ( ( ph /\ ( C e. Cat /\ D e. Cat ) ) -> ( oppFunc ` ( C 1stF D ) ) = ( O 1stF P ) ) with typecode |-
46 df-1stf ⊢ 1 st F = c ∈ Cat , d ∈ Cat ⟼ ⦋ Base c × Base d / b⦌ 1 st ↾ b x ∈ b , y ∈ b ⟼ 1 st ↾ x Hom ⁡ c × c d y
47 1 2 3 4 45 46 oppc1stflem Could not format ( ph -> ( oppFunc ` ( C 1stF D ) ) = ( O 1stF P ) ) : No typesetting found for |- ( ph -> ( oppFunc ` ( C 1stF D ) ) = ( O 1stF P ) ) with typecode |-