Metamath Proof Explorer


Theorem oppcendc

Description: The opposite category of a category whose morphisms are all endomorphisms has the same base and hom-sets as the original category. (Contributed by Zhi Wang, 16-Oct-2025)

Ref Expression
Hypotheses oppcendc.o 𝑂 = ( oppCat ‘ 𝐶 )
oppcendc.b 𝐵 = ( Base ‘ 𝐶 )
oppcendc.h 𝐻 = ( Hom ‘ 𝐶 )
oppcendc.1 ( ( 𝜑 ∧ ( 𝑥𝐵𝑦𝐵 ) ) → ( 𝑥𝑦 → ( 𝑥 𝐻 𝑦 ) = ∅ ) )
Assertion oppcendc ( 𝜑 → ( Homf𝐶 ) = ( Homf𝑂 ) )

Proof

Step Hyp Ref Expression
1 oppcendc.o 𝑂 = ( oppCat ‘ 𝐶 )
2 oppcendc.b 𝐵 = ( Base ‘ 𝐶 )
3 oppcendc.h 𝐻 = ( Hom ‘ 𝐶 )
4 oppcendc.1 ( ( 𝜑 ∧ ( 𝑥𝐵𝑦𝐵 ) ) → ( 𝑥𝑦 → ( 𝑥 𝐻 𝑦 ) = ∅ ) )
5 4 ralrimivva ( 𝜑 → ∀ 𝑥𝐵𝑦𝐵 ( 𝑥𝑦 → ( 𝑥 𝐻 𝑦 ) = ∅ ) )
6 eqeq12 ( ( 𝑥 = 𝑝𝑦 = 𝑞 ) → ( 𝑥 = 𝑦𝑝 = 𝑞 ) )
7 6 necon3bid ( ( 𝑥 = 𝑝𝑦 = 𝑞 ) → ( 𝑥𝑦𝑝𝑞 ) )
8 oveq12 ( ( 𝑥 = 𝑝𝑦 = 𝑞 ) → ( 𝑥 𝐻 𝑦 ) = ( 𝑝 𝐻 𝑞 ) )
9 8 eqeq1d ( ( 𝑥 = 𝑝𝑦 = 𝑞 ) → ( ( 𝑥 𝐻 𝑦 ) = ∅ ↔ ( 𝑝 𝐻 𝑞 ) = ∅ ) )
10 7 9 imbi12d ( ( 𝑥 = 𝑝𝑦 = 𝑞 ) → ( ( 𝑥𝑦 → ( 𝑥 𝐻 𝑦 ) = ∅ ) ↔ ( 𝑝𝑞 → ( 𝑝 𝐻 𝑞 ) = ∅ ) ) )
11 10 rspc2gv ( ( 𝑝𝐵𝑞𝐵 ) → ( ∀ 𝑥𝐵𝑦𝐵 ( 𝑥𝑦 → ( 𝑥 𝐻 𝑦 ) = ∅ ) → ( 𝑝𝑞 → ( 𝑝 𝐻 𝑞 ) = ∅ ) ) )
12 5 11 mpan9 ( ( 𝜑 ∧ ( 𝑝𝐵𝑞𝐵 ) ) → ( 𝑝𝑞 → ( 𝑝 𝐻 𝑞 ) = ∅ ) )
13 simprr ( ( 𝜑 ∧ ( 𝑝𝐵𝑞𝐵 ) ) → 𝑞𝐵 )
14 simprl ( ( 𝜑 ∧ ( 𝑝𝐵𝑞𝐵 ) ) → 𝑝𝐵 )
15 5 adantr ( ( 𝜑 ∧ ( 𝑝𝐵𝑞𝐵 ) ) → ∀ 𝑥𝐵𝑦𝐵 ( 𝑥𝑦 → ( 𝑥 𝐻 𝑦 ) = ∅ ) )
16 eqeq12 ( ( 𝑥 = 𝑞𝑦 = 𝑝 ) → ( 𝑥 = 𝑦𝑞 = 𝑝 ) )
17 equcom ( 𝑝 = 𝑞𝑞 = 𝑝 )
18 16 17 bitr4di ( ( 𝑥 = 𝑞𝑦 = 𝑝 ) → ( 𝑥 = 𝑦𝑝 = 𝑞 ) )
19 18 necon3bid ( ( 𝑥 = 𝑞𝑦 = 𝑝 ) → ( 𝑥𝑦𝑝𝑞 ) )
20 oveq12 ( ( 𝑥 = 𝑞𝑦 = 𝑝 ) → ( 𝑥 𝐻 𝑦 ) = ( 𝑞 𝐻 𝑝 ) )
21 20 eqeq1d ( ( 𝑥 = 𝑞𝑦 = 𝑝 ) → ( ( 𝑥 𝐻 𝑦 ) = ∅ ↔ ( 𝑞 𝐻 𝑝 ) = ∅ ) )
22 19 21 imbi12d ( ( 𝑥 = 𝑞𝑦 = 𝑝 ) → ( ( 𝑥𝑦 → ( 𝑥 𝐻 𝑦 ) = ∅ ) ↔ ( 𝑝𝑞 → ( 𝑞 𝐻 𝑝 ) = ∅ ) ) )
23 22 rspc2gv ( ( 𝑞𝐵𝑝𝐵 ) → ( ∀ 𝑥𝐵𝑦𝐵 ( 𝑥𝑦 → ( 𝑥 𝐻 𝑦 ) = ∅ ) → ( 𝑝𝑞 → ( 𝑞 𝐻 𝑝 ) = ∅ ) ) )
24 23 imp ( ( ( 𝑞𝐵𝑝𝐵 ) ∧ ∀ 𝑥𝐵𝑦𝐵 ( 𝑥𝑦 → ( 𝑥 𝐻 𝑦 ) = ∅ ) ) → ( 𝑝𝑞 → ( 𝑞 𝐻 𝑝 ) = ∅ ) )
25 13 14 15 24 syl21anc ( ( 𝜑 ∧ ( 𝑝𝐵𝑞𝐵 ) ) → ( 𝑝𝑞 → ( 𝑞 𝐻 𝑝 ) = ∅ ) )
26 12 25 jcad ( ( 𝜑 ∧ ( 𝑝𝐵𝑞𝐵 ) ) → ( 𝑝𝑞 → ( ( 𝑝 𝐻 𝑞 ) = ∅ ∧ ( 𝑞 𝐻 𝑝 ) = ∅ ) ) )
27 nne ( ¬ 𝑝𝑞𝑝 = 𝑞 )
28 id ( 𝑝 = 𝑞𝑝 = 𝑞 )
29 equcomi ( 𝑝 = 𝑞𝑞 = 𝑝 )
30 28 29 oveq12d ( 𝑝 = 𝑞 → ( 𝑝 𝐻 𝑞 ) = ( 𝑞 𝐻 𝑝 ) )
31 27 30 sylbi ( ¬ 𝑝𝑞 → ( 𝑝 𝐻 𝑞 ) = ( 𝑞 𝐻 𝑝 ) )
32 eqtr3 ( ( ( 𝑝 𝐻 𝑞 ) = ∅ ∧ ( 𝑞 𝐻 𝑝 ) = ∅ ) → ( 𝑝 𝐻 𝑞 ) = ( 𝑞 𝐻 𝑝 ) )
33 31 32 ja ( ( 𝑝𝑞 → ( ( 𝑝 𝐻 𝑞 ) = ∅ ∧ ( 𝑞 𝐻 𝑝 ) = ∅ ) ) → ( 𝑝 𝐻 𝑞 ) = ( 𝑞 𝐻 𝑝 ) )
34 26 33 syl ( ( 𝜑 ∧ ( 𝑝𝐵𝑞𝐵 ) ) → ( 𝑝 𝐻 𝑞 ) = ( 𝑞 𝐻 𝑝 ) )
35 eqid ( Homf𝐶 ) = ( Homf𝐶 )
36 35 2 3 14 13 homfval ( ( 𝜑 ∧ ( 𝑝𝐵𝑞𝐵 ) ) → ( 𝑝 ( Homf𝐶 ) 𝑞 ) = ( 𝑝 𝐻 𝑞 ) )
37 35 2 3 13 14 homfval ( ( 𝜑 ∧ ( 𝑝𝐵𝑞𝐵 ) ) → ( 𝑞 ( Homf𝐶 ) 𝑝 ) = ( 𝑞 𝐻 𝑝 ) )
38 34 36 37 3eqtr4d ( ( 𝜑 ∧ ( 𝑝𝐵𝑞𝐵 ) ) → ( 𝑝 ( Homf𝐶 ) 𝑞 ) = ( 𝑞 ( Homf𝐶 ) 𝑝 ) )
39 38 ralrimivva ( 𝜑 → ∀ 𝑝𝐵𝑞𝐵 ( 𝑝 ( Homf𝐶 ) 𝑞 ) = ( 𝑞 ( Homf𝐶 ) 𝑝 ) )
40 35 2 homffn ( Homf𝐶 ) Fn ( 𝐵 × 𝐵 )
41 tpossym ( ( Homf𝐶 ) Fn ( 𝐵 × 𝐵 ) → ( tpos ( Homf𝐶 ) = ( Homf𝐶 ) ↔ ∀ 𝑝𝐵𝑞𝐵 ( 𝑝 ( Homf𝐶 ) 𝑞 ) = ( 𝑞 ( Homf𝐶 ) 𝑝 ) ) )
42 40 41 ax-mp ( tpos ( Homf𝐶 ) = ( Homf𝐶 ) ↔ ∀ 𝑝𝐵𝑞𝐵 ( 𝑝 ( Homf𝐶 ) 𝑞 ) = ( 𝑞 ( Homf𝐶 ) 𝑝 ) )
43 39 42 sylibr ( 𝜑 → tpos ( Homf𝐶 ) = ( Homf𝐶 ) )
44 1 35 oppchomf tpos ( Homf𝐶 ) = ( Homf𝑂 )
45 43 44 eqtr3di ( 𝜑 → ( Homf𝐶 ) = ( Homf𝑂 ) )