MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  catcoppccl Structured version   Visualization version   GIF version

Theorem catcoppccl 18170
Description: The category of categories for a weak universe is closed under taking opposites. (Contributed by Mario Carneiro, 12-Jan-2017.) (Proof shortened by AV, 13-Oct-2024.)
Hypotheses
Ref Expression
catcoppccl.c 𝐶 = (CatCat‘𝑈)
catcoppccl.b 𝐵 = (Base‘𝐶)
catcoppccl.o 𝑂 = (oppCat‘𝑋)
catcoppccl.1 (𝜑𝑈 ∈ WUni)
catcoppccl.2 (𝜑 → ω ∈ 𝑈)
catcoppccl.3 (𝜑𝑋𝐵)
Assertion
Ref Expression
catcoppccl (𝜑𝑂𝐵)

Proof of Theorem catcoppccl
Dummy variables 𝑥 𝑦 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 catcoppccl.3 . . . . 5 (𝜑𝑋𝐵)
2 eqid 2734 . . . . . 6 (Base‘𝑋) = (Base‘𝑋)
3 eqid 2734 . . . . . 6 (Hom ‘𝑋) = (Hom ‘𝑋)
4 eqid 2734 . . . . . 6 (comp‘𝑋) = (comp‘𝑋)
5 catcoppccl.o . . . . . 6 𝑂 = (oppCat‘𝑋)
62, 3, 4, 5oppcval 17757 . . . . 5 (𝑋𝐵𝑂 = ((𝑋 sSet ⟨(Hom ‘ndx), tpos (Hom ‘𝑋)⟩) sSet ⟨(comp‘ndx), (𝑥 ∈ ((Base‘𝑋) × (Base‘𝑋)), 𝑦 ∈ (Base‘𝑋) ↦ tpos (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥)))⟩))
71, 6syl 17 . . . 4 (𝜑𝑂 = ((𝑋 sSet ⟨(Hom ‘ndx), tpos (Hom ‘𝑋)⟩) sSet ⟨(comp‘ndx), (𝑥 ∈ ((Base‘𝑋) × (Base‘𝑋)), 𝑦 ∈ (Base‘𝑋) ↦ tpos (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥)))⟩))
8 catcoppccl.1 . . . . 5 (𝜑𝑈 ∈ WUni)
9 catcoppccl.c . . . . . . 7 𝐶 = (CatCat‘𝑈)
10 catcoppccl.b . . . . . . 7 𝐵 = (Base‘𝐶)
119, 10, 8, 1catcbascl 18165 . . . . . 6 (𝜑𝑋𝑈)
12 homid 17457 . . . . . . . 8 Hom = Slot (Hom ‘ndx)
13 catcoppccl.2 . . . . . . . . 9 (𝜑 → ω ∈ 𝑈)
148, 13wunndx 17228 . . . . . . . 8 (𝜑 → ndx ∈ 𝑈)
1512, 8, 14wunstr 17221 . . . . . . 7 (𝜑 → (Hom ‘ndx) ∈ 𝑈)
169, 10, 8, 1catchomcl 18168 . . . . . . . 8 (𝜑 → (Hom ‘𝑋) ∈ 𝑈)
178, 16wuntpos 10771 . . . . . . 7 (𝜑 → tpos (Hom ‘𝑋) ∈ 𝑈)
188, 15, 17wunop 10759 . . . . . 6 (𝜑 → ⟨(Hom ‘ndx), tpos (Hom ‘𝑋)⟩ ∈ 𝑈)
198, 11, 18wunsets 17210 . . . . 5 (𝜑 → (𝑋 sSet ⟨(Hom ‘ndx), tpos (Hom ‘𝑋)⟩) ∈ 𝑈)
20 ccoid 17459 . . . . . . 7 comp = Slot (comp‘ndx)
2120, 8, 14wunstr 17221 . . . . . 6 (𝜑 → (comp‘ndx) ∈ 𝑈)
229, 10, 8, 1catcbaselcl 18167 . . . . . . . . 9 (𝜑 → (Base‘𝑋) ∈ 𝑈)
238, 22, 22wunxp 10761 . . . . . . . 8 (𝜑 → ((Base‘𝑋) × (Base‘𝑋)) ∈ 𝑈)
248, 23, 22wunxp 10761 . . . . . . 7 (𝜑 → (((Base‘𝑋) × (Base‘𝑋)) × (Base‘𝑋)) ∈ 𝑈)
259, 10, 8, 1catcccocl 18169 . . . . . . . . . . . . . 14 (𝜑 → (comp‘𝑋) ∈ 𝑈)
268, 25wunrn 10766 . . . . . . . . . . . . 13 (𝜑 → ran (comp‘𝑋) ∈ 𝑈)
278, 26wununi 10743 . . . . . . . . . . . 12 (𝜑 ran (comp‘𝑋) ∈ 𝑈)
288, 27wundm 10765 . . . . . . . . . . 11 (𝜑 → dom ran (comp‘𝑋) ∈ 𝑈)
298, 28wuncnv 10767 . . . . . . . . . 10 (𝜑dom ran (comp‘𝑋) ∈ 𝑈)
308wun0 10755 . . . . . . . . . . 11 (𝜑 → ∅ ∈ 𝑈)
318, 30wunsn 10753 . . . . . . . . . 10 (𝜑 → {∅} ∈ 𝑈)
328, 29, 31wunun 10747 . . . . . . . . 9 (𝜑 → (dom ran (comp‘𝑋) ∪ {∅}) ∈ 𝑈)
338, 27wunrn 10766 . . . . . . . . 9 (𝜑 → ran ran (comp‘𝑋) ∈ 𝑈)
348, 32, 33wunxp 10761 . . . . . . . 8 (𝜑 → ((dom ran (comp‘𝑋) ∪ {∅}) × ran ran (comp‘𝑋)) ∈ 𝑈)
358, 34wunpw 10744 . . . . . . 7 (𝜑 → 𝒫 ((dom ran (comp‘𝑋) ∪ {∅}) × ran ran (comp‘𝑋)) ∈ 𝑈)
36 tposssxp 8253 . . . . . . . . . . . 12 tpos (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥)) ⊆ ((dom (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥)) ∪ {∅}) × ran (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥)))
37 ovssunirn 7466 . . . . . . . . . . . . . . 15 (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥)) ⊆ ran (comp‘𝑋)
38 dmss 5915 . . . . . . . . . . . . . . 15 ((⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥)) ⊆ ran (comp‘𝑋) → dom (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥)) ⊆ dom ran (comp‘𝑋))
3937, 38ax-mp 5 . . . . . . . . . . . . . 14 dom (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥)) ⊆ dom ran (comp‘𝑋)
40 cnvss 5885 . . . . . . . . . . . . . 14 (dom (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥)) ⊆ dom ran (comp‘𝑋) → dom (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥)) ⊆ dom ran (comp‘𝑋))
41 unss1 4194 . . . . . . . . . . . . . 14 (dom (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥)) ⊆ dom ran (comp‘𝑋) → (dom (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥)) ∪ {∅}) ⊆ (dom ran (comp‘𝑋) ∪ {∅}))
4239, 40, 41mp2b 10 . . . . . . . . . . . . 13 (dom (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥)) ∪ {∅}) ⊆ (dom ran (comp‘𝑋) ∪ {∅})
4337rnssi 5953 . . . . . . . . . . . . 13 ran (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥)) ⊆ ran ran (comp‘𝑋)
44 xpss12 5703 . . . . . . . . . . . . 13 (((dom (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥)) ∪ {∅}) ⊆ (dom ran (comp‘𝑋) ∪ {∅}) ∧ ran (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥)) ⊆ ran ran (comp‘𝑋)) → ((dom (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥)) ∪ {∅}) × ran (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥))) ⊆ ((dom ran (comp‘𝑋) ∪ {∅}) × ran ran (comp‘𝑋)))
4542, 43, 44mp2an 692 . . . . . . . . . . . 12 ((dom (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥)) ∪ {∅}) × ran (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥))) ⊆ ((dom ran (comp‘𝑋) ∪ {∅}) × ran ran (comp‘𝑋))
4636, 45sstri 4004 . . . . . . . . . . 11 tpos (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥)) ⊆ ((dom ran (comp‘𝑋) ∪ {∅}) × ran ran (comp‘𝑋))
47 elpw2g 5338 . . . . . . . . . . . 12 (((dom ran (comp‘𝑋) ∪ {∅}) × ran ran (comp‘𝑋)) ∈ 𝑈 → (tpos (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥)) ∈ 𝒫 ((dom ran (comp‘𝑋) ∪ {∅}) × ran ran (comp‘𝑋)) ↔ tpos (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥)) ⊆ ((dom ran (comp‘𝑋) ∪ {∅}) × ran ran (comp‘𝑋))))
4834, 47syl 17 . . . . . . . . . . 11 (𝜑 → (tpos (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥)) ∈ 𝒫 ((dom ran (comp‘𝑋) ∪ {∅}) × ran ran (comp‘𝑋)) ↔ tpos (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥)) ⊆ ((dom ran (comp‘𝑋) ∪ {∅}) × ran ran (comp‘𝑋))))
4946, 48mpbiri 258 . . . . . . . . . 10 (𝜑 → tpos (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥)) ∈ 𝒫 ((dom ran (comp‘𝑋) ∪ {∅}) × ran ran (comp‘𝑋)))
5049ralrimivw 3147 . . . . . . . . 9 (𝜑 → ∀𝑦 ∈ (Base‘𝑋)tpos (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥)) ∈ 𝒫 ((dom ran (comp‘𝑋) ∪ {∅}) × ran ran (comp‘𝑋)))
5150ralrimivw 3147 . . . . . . . 8 (𝜑 → ∀𝑥 ∈ ((Base‘𝑋) × (Base‘𝑋))∀𝑦 ∈ (Base‘𝑋)tpos (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥)) ∈ 𝒫 ((dom ran (comp‘𝑋) ∪ {∅}) × ran ran (comp‘𝑋)))
52 eqid 2734 . . . . . . . . 9 (𝑥 ∈ ((Base‘𝑋) × (Base‘𝑋)), 𝑦 ∈ (Base‘𝑋) ↦ tpos (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥))) = (𝑥 ∈ ((Base‘𝑋) × (Base‘𝑋)), 𝑦 ∈ (Base‘𝑋) ↦ tpos (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥)))
5352fmpo 8091 . . . . . . . 8 (∀𝑥 ∈ ((Base‘𝑋) × (Base‘𝑋))∀𝑦 ∈ (Base‘𝑋)tpos (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥)) ∈ 𝒫 ((dom ran (comp‘𝑋) ∪ {∅}) × ran ran (comp‘𝑋)) ↔ (𝑥 ∈ ((Base‘𝑋) × (Base‘𝑋)), 𝑦 ∈ (Base‘𝑋) ↦ tpos (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥))):(((Base‘𝑋) × (Base‘𝑋)) × (Base‘𝑋))⟶𝒫 ((dom ran (comp‘𝑋) ∪ {∅}) × ran ran (comp‘𝑋)))
5451, 53sylib 218 . . . . . . 7 (𝜑 → (𝑥 ∈ ((Base‘𝑋) × (Base‘𝑋)), 𝑦 ∈ (Base‘𝑋) ↦ tpos (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥))):(((Base‘𝑋) × (Base‘𝑋)) × (Base‘𝑋))⟶𝒫 ((dom ran (comp‘𝑋) ∪ {∅}) × ran ran (comp‘𝑋)))
558, 24, 35, 54wunf 10764 . . . . . 6 (𝜑 → (𝑥 ∈ ((Base‘𝑋) × (Base‘𝑋)), 𝑦 ∈ (Base‘𝑋) ↦ tpos (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥))) ∈ 𝑈)
568, 21, 55wunop 10759 . . . . 5 (𝜑 → ⟨(comp‘ndx), (𝑥 ∈ ((Base‘𝑋) × (Base‘𝑋)), 𝑦 ∈ (Base‘𝑋) ↦ tpos (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥)))⟩ ∈ 𝑈)
578, 19, 56wunsets 17210 . . . 4 (𝜑 → ((𝑋 sSet ⟨(Hom ‘ndx), tpos (Hom ‘𝑋)⟩) sSet ⟨(comp‘ndx), (𝑥 ∈ ((Base‘𝑋) × (Base‘𝑋)), 𝑦 ∈ (Base‘𝑋) ↦ tpos (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥)))⟩) ∈ 𝑈)
587, 57eqeltrd 2838 . . 3 (𝜑𝑂𝑈)
599, 10, 8catcbas 18154 . . . . . 6 (𝜑𝐵 = (𝑈 ∩ Cat))
601, 59eleqtrd 2840 . . . . 5 (𝜑𝑋 ∈ (𝑈 ∩ Cat))
6160elin2d 4214 . . . 4 (𝜑𝑋 ∈ Cat)
625oppccat 17768 . . . 4 (𝑋 ∈ Cat → 𝑂 ∈ Cat)
6361, 62syl 17 . . 3 (𝜑𝑂 ∈ Cat)
6458, 63elind 4209 . 2 (𝜑𝑂 ∈ (𝑈 ∩ Cat))
6564, 59eleqtrrd 2841 1 (𝜑𝑂𝐵)
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 206   = wceq 1536  wcel 2105  wral 3058  cun 3960  cin 3961  wss 3962  c0 4338  𝒫 cpw 4604  {csn 4630  cop 4636   cuni 4911   × cxp 5686  ccnv 5687  dom cdm 5688  ran crn 5689  wf 6558  cfv 6562  (class class class)co 7430  cmpo 7432  ωcom 7886  1st c1st 8010  2nd c2nd 8011  tpos ctpos 8248  WUnicwun 10737   sSet csts 17196  ndxcnx 17226  Basecbs 17244  Hom chom 17308  compcco 17309  Catccat 17708  oppCatcoppc 17755  CatCatccatc 18151
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1791  ax-4 1805  ax-5 1907  ax-6 1964  ax-7 2004  ax-8 2107  ax-9 2115  ax-10 2138  ax-11 2154  ax-12 2174  ax-ext 2705  ax-rep 5284  ax-sep 5301  ax-nul 5311  ax-pow 5370  ax-pr 5437  ax-un 7753  ax-inf2 9678  ax-cnex 11208  ax-resscn 11209  ax-1cn 11210  ax-icn 11211  ax-addcl 11212  ax-addrcl 11213  ax-mulcl 11214  ax-mulrcl 11215  ax-mulcom 11216  ax-addass 11217  ax-mulass 11218  ax-distr 11219  ax-i2m1 11220  ax-1ne0 11221  ax-1rid 11222  ax-rnegex 11223  ax-rrecex 11224  ax-cnre 11225  ax-pre-lttri 11226  ax-pre-lttrn 11227  ax-pre-ltadd 11228  ax-pre-mulgt0 11229
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 848  df-3or 1087  df-3an 1088  df-tru 1539  df-fal 1549  df-ex 1776  df-nf 1780  df-sb 2062  df-mo 2537  df-eu 2566  df-clab 2712  df-cleq 2726  df-clel 2813  df-nfc 2889  df-ne 2938  df-nel 3044  df-ral 3059  df-rex 3068  df-rmo 3377  df-reu 3378  df-rab 3433  df-v 3479  df-sbc 3791  df-csb 3908  df-dif 3965  df-un 3967  df-in 3969  df-ss 3979  df-pss 3982  df-nul 4339  df-if 4531  df-pw 4606  df-sn 4631  df-pr 4633  df-tp 4635  df-op 4637  df-uni 4912  df-int 4951  df-iun 4997  df-br 5148  df-opab 5210  df-mpt 5231  df-tr 5265  df-id 5582  df-eprel 5588  df-po 5596  df-so 5597  df-fr 5640  df-we 5642  df-xp 5694  df-rel 5695  df-cnv 5696  df-co 5697  df-dm 5698  df-rn 5699  df-res 5700  df-ima 5701  df-pred 6322  df-ord 6388  df-on 6389  df-lim 6390  df-suc 6391  df-iota 6515  df-fun 6564  df-fn 6565  df-f 6566  df-f1 6567  df-fo 6568  df-f1o 6569  df-fv 6570  df-riota 7387  df-ov 7433  df-oprab 7434  df-mpo 7435  df-om 7887  df-1st 8012  df-2nd 8013  df-tpos 8249  df-frecs 8304  df-wrecs 8335  df-recs 8409  df-rdg 8448  df-1o 8504  df-oadd 8508  df-omul 8509  df-er 8743  df-ec 8745  df-qs 8749  df-map 8866  df-pm 8867  df-en 8984  df-dom 8985  df-sdom 8986  df-fin 8987  df-wun 10739  df-ni 10909  df-pli 10910  df-mi 10911  df-lti 10912  df-plpq 10945  df-mpq 10946  df-ltpq 10947  df-enq 10948  df-nq 10949  df-erq 10950  df-plq 10951  df-mq 10952  df-1nq 10953  df-rq 10954  df-ltnq 10955  df-np 11018  df-plp 11020  df-ltp 11022  df-enr 11092  df-nr 11093  df-c 11158  df-pnf 11294  df-mnf 11295  df-xr 11296  df-ltxr 11297  df-le 11298  df-sub 11491  df-neg 11492  df-nn 12264  df-2 12326  df-3 12327  df-4 12328  df-5 12329  df-6 12330  df-7 12331  df-8 12332  df-9 12333  df-n0 12524  df-z 12611  df-dec 12731  df-uz 12876  df-fz 13544  df-struct 17180  df-sets 17197  df-slot 17215  df-ndx 17227  df-base 17245  df-hom 17321  df-cco 17322  df-cat 17712  df-cid 17713  df-oppc 17756  df-catc 18152
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator