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 𝐵 = ( Base ‘ 𝐷 )
oppcup.c 𝐶 = ( Base ‘ 𝐸 )
oppcup.h 𝐻 = ( Hom ‘ 𝐷 )
oppcup.j 𝐽 = ( Hom ‘ 𝐸 )
oppcup.xb = ( comp ‘ 𝐸 )
oppcup.w ( 𝜑𝑊𝐶 )
oppcup.f ( 𝜑𝐹 ( 𝐷 Func 𝐸 ) 𝐺 )
oppcup.x ( 𝜑𝑋𝐵 )
oppcup.m ( 𝜑𝑀 ∈ ( ( 𝐹𝑋 ) 𝐽 𝑊 ) )
oppcup.o 𝑂 = ( oppCat ‘ 𝐷 )
oppcup.p 𝑃 = ( oppCat ‘ 𝐸 )
Assertion oppcup ( 𝜑 → ( 𝑋 ( ⟨ 𝐹 , tpos 𝐺 ⟩ ( 𝑂 UP 𝑃 ) 𝑊 ) 𝑀 ↔ ∀ 𝑦𝐵𝑔 ∈ ( ( 𝐹𝑦 ) 𝐽 𝑊 ) ∃! 𝑘 ∈ ( 𝑦 𝐻 𝑋 ) 𝑔 = ( 𝑀 ( ⟨ ( 𝐹𝑦 ) , ( 𝐹𝑋 ) ⟩ 𝑊 ) ( ( 𝑦 𝐺 𝑋 ) ‘ 𝑘 ) ) ) )

Proof

Step Hyp Ref Expression
1 oppcup.b 𝐵 = ( Base ‘ 𝐷 )
2 oppcup.c 𝐶 = ( Base ‘ 𝐸 )
3 oppcup.h 𝐻 = ( Hom ‘ 𝐷 )
4 oppcup.j 𝐽 = ( Hom ‘ 𝐸 )
5 oppcup.xb = ( comp ‘ 𝐸 )
6 oppcup.w ( 𝜑𝑊𝐶 )
7 oppcup.f ( 𝜑𝐹 ( 𝐷 Func 𝐸 ) 𝐺 )
8 oppcup.x ( 𝜑𝑋𝐵 )
9 oppcup.m ( 𝜑𝑀 ∈ ( ( 𝐹𝑋 ) 𝐽 𝑊 ) )
10 oppcup.o 𝑂 = ( oppCat ‘ 𝐷 )
11 oppcup.p 𝑃 = ( oppCat ‘ 𝐸 )
12 10 1 oppcbas 𝐵 = ( Base ‘ 𝑂 )
13 11 2 oppcbas 𝐶 = ( Base ‘ 𝑃 )
14 eqid ( Hom ‘ 𝑂 ) = ( Hom ‘ 𝑂 )
15 eqid ( Hom ‘ 𝑃 ) = ( Hom ‘ 𝑃 )
16 eqid ( comp ‘ 𝑃 ) = ( comp ‘ 𝑃 )
17 10 11 7 funcoppc ( 𝜑𝐹 ( 𝑂 Func 𝑃 ) tpos 𝐺 )
18 4 11 oppchom ( 𝑊 ( Hom ‘ 𝑃 ) ( 𝐹𝑋 ) ) = ( ( 𝐹𝑋 ) 𝐽 𝑊 )
19 9 18 eleqtrrdi ( 𝜑𝑀 ∈ ( 𝑊 ( Hom ‘ 𝑃 ) ( 𝐹𝑋 ) ) )
20 12 13 14 15 16 6 17 8 19 isup ( 𝜑 → ( 𝑋 ( ⟨ 𝐹 , tpos 𝐺 ⟩ ( 𝑂 UP 𝑃 ) 𝑊 ) 𝑀 ↔ ∀ 𝑦𝐵𝑔 ∈ ( 𝑊 ( Hom ‘ 𝑃 ) ( 𝐹𝑦 ) ) ∃! 𝑘 ∈ ( 𝑋 ( Hom ‘ 𝑂 ) 𝑦 ) 𝑔 = ( ( ( 𝑋 tpos 𝐺 𝑦 ) ‘ 𝑘 ) ( ⟨ 𝑊 , ( 𝐹𝑋 ) ⟩ ( comp ‘ 𝑃 ) ( 𝐹𝑦 ) ) 𝑀 ) ) )
21 4 11 oppchom ( 𝑊 ( Hom ‘ 𝑃 ) ( 𝐹𝑦 ) ) = ( ( 𝐹𝑦 ) 𝐽 𝑊 )
22 21 a1i ( ( 𝜑𝑦𝐵 ) → ( 𝑊 ( Hom ‘ 𝑃 ) ( 𝐹𝑦 ) ) = ( ( 𝐹𝑦 ) 𝐽 𝑊 ) )
23 3 10 oppchom ( 𝑋 ( Hom ‘ 𝑂 ) 𝑦 ) = ( 𝑦 𝐻 𝑋 )
24 23 a1i ( ( 𝜑𝑦𝐵 ) → ( 𝑋 ( Hom ‘ 𝑂 ) 𝑦 ) = ( 𝑦 𝐻 𝑋 ) )
25 ovtpos ( 𝑋 tpos 𝐺 𝑦 ) = ( 𝑦 𝐺 𝑋 )
26 25 fveq1i ( ( 𝑋 tpos 𝐺 𝑦 ) ‘ 𝑘 ) = ( ( 𝑦 𝐺 𝑋 ) ‘ 𝑘 )
27 26 oveq1i ( ( ( 𝑋 tpos 𝐺 𝑦 ) ‘ 𝑘 ) ( ⟨ 𝑊 , ( 𝐹𝑋 ) ⟩ ( comp ‘ 𝑃 ) ( 𝐹𝑦 ) ) 𝑀 ) = ( ( ( 𝑦 𝐺 𝑋 ) ‘ 𝑘 ) ( ⟨ 𝑊 , ( 𝐹𝑋 ) ⟩ ( comp ‘ 𝑃 ) ( 𝐹𝑦 ) ) 𝑀 )
28 6 adantr ( ( 𝜑𝑦𝐵 ) → 𝑊𝐶 )
29 7 adantr ( ( 𝜑𝑦𝐵 ) → 𝐹 ( 𝐷 Func 𝐸 ) 𝐺 )
30 1 2 29 funcf1 ( ( 𝜑𝑦𝐵 ) → 𝐹 : 𝐵𝐶 )
31 8 adantr ( ( 𝜑𝑦𝐵 ) → 𝑋𝐵 )
32 30 31 ffvelcdmd ( ( 𝜑𝑦𝐵 ) → ( 𝐹𝑋 ) ∈ 𝐶 )
33 simpr ( ( 𝜑𝑦𝐵 ) → 𝑦𝐵 )
34 30 33 ffvelcdmd ( ( 𝜑𝑦𝐵 ) → ( 𝐹𝑦 ) ∈ 𝐶 )
35 2 5 11 28 32 34 oppcco ( ( 𝜑𝑦𝐵 ) → ( ( ( 𝑦 𝐺 𝑋 ) ‘ 𝑘 ) ( ⟨ 𝑊 , ( 𝐹𝑋 ) ⟩ ( comp ‘ 𝑃 ) ( 𝐹𝑦 ) ) 𝑀 ) = ( 𝑀 ( ⟨ ( 𝐹𝑦 ) , ( 𝐹𝑋 ) ⟩ 𝑊 ) ( ( 𝑦 𝐺 𝑋 ) ‘ 𝑘 ) ) )
36 27 35 eqtrid ( ( 𝜑𝑦𝐵 ) → ( ( ( 𝑋 tpos 𝐺 𝑦 ) ‘ 𝑘 ) ( ⟨ 𝑊 , ( 𝐹𝑋 ) ⟩ ( comp ‘ 𝑃 ) ( 𝐹𝑦 ) ) 𝑀 ) = ( 𝑀 ( ⟨ ( 𝐹𝑦 ) , ( 𝐹𝑋 ) ⟩ 𝑊 ) ( ( 𝑦 𝐺 𝑋 ) ‘ 𝑘 ) ) )
37 36 eqeq2d ( ( 𝜑𝑦𝐵 ) → ( 𝑔 = ( ( ( 𝑋 tpos 𝐺 𝑦 ) ‘ 𝑘 ) ( ⟨ 𝑊 , ( 𝐹𝑋 ) ⟩ ( comp ‘ 𝑃 ) ( 𝐹𝑦 ) ) 𝑀 ) ↔ 𝑔 = ( 𝑀 ( ⟨ ( 𝐹𝑦 ) , ( 𝐹𝑋 ) ⟩ 𝑊 ) ( ( 𝑦 𝐺 𝑋 ) ‘ 𝑘 ) ) ) )
38 24 37 reueqbidv ( ( 𝜑𝑦𝐵 ) → ( ∃! 𝑘 ∈ ( 𝑋 ( Hom ‘ 𝑂 ) 𝑦 ) 𝑔 = ( ( ( 𝑋 tpos 𝐺 𝑦 ) ‘ 𝑘 ) ( ⟨ 𝑊 , ( 𝐹𝑋 ) ⟩ ( comp ‘ 𝑃 ) ( 𝐹𝑦 ) ) 𝑀 ) ↔ ∃! 𝑘 ∈ ( 𝑦 𝐻 𝑋 ) 𝑔 = ( 𝑀 ( ⟨ ( 𝐹𝑦 ) , ( 𝐹𝑋 ) ⟩ 𝑊 ) ( ( 𝑦 𝐺 𝑋 ) ‘ 𝑘 ) ) ) )
39 22 38 raleqbidv ( ( 𝜑𝑦𝐵 ) → ( ∀ 𝑔 ∈ ( 𝑊 ( Hom ‘ 𝑃 ) ( 𝐹𝑦 ) ) ∃! 𝑘 ∈ ( 𝑋 ( Hom ‘ 𝑂 ) 𝑦 ) 𝑔 = ( ( ( 𝑋 tpos 𝐺 𝑦 ) ‘ 𝑘 ) ( ⟨ 𝑊 , ( 𝐹𝑋 ) ⟩ ( comp ‘ 𝑃 ) ( 𝐹𝑦 ) ) 𝑀 ) ↔ ∀ 𝑔 ∈ ( ( 𝐹𝑦 ) 𝐽 𝑊 ) ∃! 𝑘 ∈ ( 𝑦 𝐻 𝑋 ) 𝑔 = ( 𝑀 ( ⟨ ( 𝐹𝑦 ) , ( 𝐹𝑋 ) ⟩ 𝑊 ) ( ( 𝑦 𝐺 𝑋 ) ‘ 𝑘 ) ) ) )
40 39 ralbidva ( 𝜑 → ( ∀ 𝑦𝐵𝑔 ∈ ( 𝑊 ( Hom ‘ 𝑃 ) ( 𝐹𝑦 ) ) ∃! 𝑘 ∈ ( 𝑋 ( Hom ‘ 𝑂 ) 𝑦 ) 𝑔 = ( ( ( 𝑋 tpos 𝐺 𝑦 ) ‘ 𝑘 ) ( ⟨ 𝑊 , ( 𝐹𝑋 ) ⟩ ( comp ‘ 𝑃 ) ( 𝐹𝑦 ) ) 𝑀 ) ↔ ∀ 𝑦𝐵𝑔 ∈ ( ( 𝐹𝑦 ) 𝐽 𝑊 ) ∃! 𝑘 ∈ ( 𝑦 𝐻 𝑋 ) 𝑔 = ( 𝑀 ( ⟨ ( 𝐹𝑦 ) , ( 𝐹𝑋 ) ⟩ 𝑊 ) ( ( 𝑦 𝐺 𝑋 ) ‘ 𝑘 ) ) ) )
41 20 40 bitrd ( 𝜑 → ( 𝑋 ( ⟨ 𝐹 , tpos 𝐺 ⟩ ( 𝑂 UP 𝑃 ) 𝑊 ) 𝑀 ↔ ∀ 𝑦𝐵𝑔 ∈ ( ( 𝐹𝑦 ) 𝐽 𝑊 ) ∃! 𝑘 ∈ ( 𝑦 𝐻 𝑋 ) 𝑔 = ( 𝑀 ( ⟨ ( 𝐹𝑦 ) , ( 𝐹𝑋 ) ⟩ 𝑊 ) ( ( 𝑦 𝐺 𝑋 ) ‘ 𝑘 ) ) ) )