Metamath Proof Explorer


Theorem oppcup

Description: The universal pair <. X , M >. from a functor to an object is universal from an object to a functor in the opposite category. (Contributed by Zhi Wang, 24-Sep-2025)

Ref Expression
Hypotheses oppcup.b ⊢ B = Base D
oppcup.c ⊢ C = Base E
oppcup.h ⊢ H = Hom ⁡ D
oppcup.j ⊢ J = Hom ⁡ E
oppcup.xb ⊢ ∙ ˙ = comp ⁡ E
oppcup.w ⊢ φ → W ∈ C
oppcup.f ⊢ φ → F D Func E G
oppcup.x ⊢ φ → X ∈ B
oppcup.m ⊢ φ → M ∈ F ⁡ X J W
oppcup.o ⊢ O = oppCat ⁡ D
oppcup.p ⊢ P = oppCat ⁡ E
Assertion oppcup Could not format assertion : No typesetting found for |- ( ph -> ( X ( <. F , tpos G >. ( O UP P ) W ) M <-> A. y e. B A. g e. ( ( F ` y ) J W ) E! k e. ( y H X ) g = ( M ( <. ( F ` y ) , ( F ` X ) >. .xb W ) ( ( y G X ) ` k ) ) ) ) with typecode |-

Proof

Step Hyp Ref Expression
1 oppcup.b ⊢ B = Base D
2 oppcup.c ⊢ C = Base E
3 oppcup.h ⊢ H = Hom ⁡ D
4 oppcup.j ⊢ J = Hom ⁡ E
5 oppcup.xb ⊢ ∙ ˙ = comp ⁡ E
6 oppcup.w ⊢ φ → W ∈ C
7 oppcup.f ⊢ φ → F D Func E G
8 oppcup.x ⊢ φ → X ∈ B
9 oppcup.m ⊢ φ → M ∈ F ⁡ X J W
10 oppcup.o ⊢ O = oppCat ⁡ D
11 oppcup.p ⊢ P = oppCat ⁡ E
12 10 1 oppcbas ⊢ B = Base O
13 11 2 oppcbas ⊢ C = Base P
14 eqid ⊢ Hom ⁡ O = Hom ⁡ O
15 eqid ⊢ Hom ⁡ P = Hom ⁡ P
16 eqid ⊢ comp ⁡ P = comp ⁡ P
17 10 11 7 funcoppc ⊢ φ → F O Func P tpos G
18 4 11 oppchom ⊢ W Hom ⁡ P F ⁡ X = F ⁡ X J W
19 9 18 eleqtrrdi ⊢ φ → M ∈ W Hom ⁡ P F ⁡ X
20 12 13 14 15 16 6 17 8 19 isup Could not format ( ph -> ( X ( <. F , tpos G >. ( O UP P ) W ) M <-> A. y e. B A. g e. ( W ( Hom ` P ) ( F ` y ) ) E! k e. ( X ( Hom ` O ) y ) g = ( ( ( X tpos G y ) ` k ) ( <. W , ( F ` X ) >. ( comp ` P ) ( F ` y ) ) M ) ) ) : No typesetting found for |- ( ph -> ( X ( <. F , tpos G >. ( O UP P ) W ) M <-> A. y e. B A. g e. ( W ( Hom ` P ) ( F ` y ) ) E! k e. ( X ( Hom ` O ) y ) g = ( ( ( X tpos G y ) ` k ) ( <. W , ( F ` X ) >. ( comp ` P ) ( F ` y ) ) M ) ) ) with typecode |-
21 4 11 oppchom ⊢ W Hom ⁡ P F ⁡ y = F ⁡ y J W
22 21 a1i ⊢ φ ∧ y ∈ B → W Hom ⁡ P F ⁡ y = F ⁡ y J W
23 3 10 oppchom ⊢ X Hom ⁡ O y = y H X
24 23 a1i ⊢ φ ∧ y ∈ B → X Hom ⁡ O y = y H X
25 ovtpos ⊢ X tpos G y = y G X
26 25 fveq1i ⊢ X tpos G y ⁡ k = y G X ⁡ k
27 26 oveq1i ⊢ X tpos G y ⁡ k W F ⁡ X comp ⁡ P F ⁡ y M = y G X ⁡ k W F ⁡ X comp ⁡ P F ⁡ y M
28 6 adantr ⊢ φ ∧ y ∈ B → W ∈ C
29 7 adantr ⊢ φ ∧ y ∈ B → F D Func E G
30 1 2 29 funcf1 ⊢ φ ∧ y ∈ B → F : B ⟶ C
31 8 adantr ⊢ φ ∧ y ∈ B → X ∈ B
32 30 31 ffvelcdmd ⊢ φ ∧ y ∈ B → F ⁡ X ∈ C
33 simpr ⊢ φ ∧ y ∈ B → y ∈ B
34 30 33 ffvelcdmd ⊢ φ ∧ y ∈ B → F ⁡ y ∈ C
35 2 5 11 28 32 34 oppcco ⊢ φ ∧ y ∈ B → y G X ⁡ k W F ⁡ X comp ⁡ P F ⁡ y M = M F ⁡ y F ⁡ X ∙ ˙ W y G X ⁡ k
36 27 35 eqtrid ⊢ φ ∧ y ∈ B → X tpos G y ⁡ k W F ⁡ X comp ⁡ P F ⁡ y M = M F ⁡ y F ⁡ X ∙ ˙ W y G X ⁡ k
37 36 eqeq2d ⊢ φ ∧ y ∈ B → g = X tpos G y ⁡ k W F ⁡ X comp ⁡ P F ⁡ y M ↔ g = M F ⁡ y F ⁡ X ∙ ˙ W y G X ⁡ k
38 24 37 reueqbidv ⊢ φ ∧ y ∈ B → ∃! k ∈ X Hom ⁡ O y g = X tpos G y ⁡ k W F ⁡ X comp ⁡ P F ⁡ y M ↔ ∃! k ∈ y H X g = M F ⁡ y F ⁡ X ∙ ˙ W y G X ⁡ k
39 22 38 raleqbidv ⊢ φ ∧ y ∈ B → ∀ g ∈ W Hom ⁡ P F ⁡ y ∃! k ∈ X Hom ⁡ O y g = X tpos G y ⁡ k W F ⁡ X comp ⁡ P F ⁡ y M ↔ ∀ g ∈ F ⁡ y J W ∃! k ∈ y H X g = M F ⁡ y F ⁡ X ∙ ˙ W y G X ⁡ k
40 39 ralbidva ⊢ φ → ∀ y ∈ B ∀ g ∈ W Hom ⁡ P F ⁡ y ∃! k ∈ X Hom ⁡ O y g = X tpos G y ⁡ k W F ⁡ X comp ⁡ P F ⁡ y M ↔ ∀ y ∈ B ∀ g ∈ F ⁡ y J W ∃! k ∈ y H X g = M F ⁡ y F ⁡ X ∙ ˙ W y G X ⁡ k
41 20 40 bitrd Could not format ( ph -> ( X ( <. F , tpos G >. ( O UP P ) W ) M <-> A. y e. B A. g e. ( ( F ` y ) J W ) E! k e. ( y H X ) g = ( M ( <. ( F ` y ) , ( F ` X ) >. .xb W ) ( ( y G X ) ` k ) ) ) ) : No typesetting found for |- ( ph -> ( X ( <. F , tpos G >. ( O UP P ) W ) M <-> A. y e. B A. g e. ( ( F ` y ) J W ) E! k e. ( y H X ) g = ( M ( <. ( F ` y ) , ( F ` X ) >. .xb W ) ( ( y G X ) ` k ) ) ) ) with typecode |-