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

Theorem catcoppccl 18086
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 2730 . . . . . 6 (Base‘𝑋) = (Base‘𝑋)
3 eqid 2730 . . . . . 6 (Hom ‘𝑋) = (Hom ‘𝑋)
4 eqid 2730 . . . . . 6 (comp‘𝑋) = (comp‘𝑋)
5 catcoppccl.o . . . . . 6 𝑂 = (oppCat‘𝑋)
62, 3, 4, 5oppcval 17681 . . . . 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 18081 . . . . . 6 (𝜑𝑋𝑈)
12 homid 17382 . . . . . . . 8 Hom = Slot (Hom ‘ndx)
13 catcoppccl.2 . . . . . . . . 9 (𝜑 → ω ∈ 𝑈)
148, 13wunndx 17172 . . . . . . . 8 (𝜑 → ndx ∈ 𝑈)
1512, 8, 14wunstr 17165 . . . . . . 7 (𝜑 → (Hom ‘ndx) ∈ 𝑈)
169, 10, 8, 1catchomcl 18084 . . . . . . . 8 (𝜑 → (Hom ‘𝑋) ∈ 𝑈)
178, 16wuntpos 10694 . . . . . . 7 (𝜑 → tpos (Hom ‘𝑋) ∈ 𝑈)
188, 15, 17wunop 10682 . . . . . 6 (𝜑 → ⟨(Hom ‘ndx), tpos (Hom ‘𝑋)⟩ ∈ 𝑈)
198, 11, 18wunsets 17154 . . . . 5 (𝜑 → (𝑋 sSet ⟨(Hom ‘ndx), tpos (Hom ‘𝑋)⟩) ∈ 𝑈)
20 ccoid 17384 . . . . . . 7 comp = Slot (comp‘ndx)
2120, 8, 14wunstr 17165 . . . . . 6 (𝜑 → (comp‘ndx) ∈ 𝑈)
229, 10, 8, 1catcbaselcl 18083 . . . . . . . . 9 (𝜑 → (Base‘𝑋) ∈ 𝑈)
238, 22, 22wunxp 10684 . . . . . . . 8 (𝜑 → ((Base‘𝑋) × (Base‘𝑋)) ∈ 𝑈)
248, 23, 22wunxp 10684 . . . . . . 7 (𝜑 → (((Base‘𝑋) × (Base‘𝑋)) × (Base‘𝑋)) ∈ 𝑈)
259, 10, 8, 1catcccocl 18085 . . . . . . . . . . . . . 14 (𝜑 → (comp‘𝑋) ∈ 𝑈)
268, 25wunrn 10689 . . . . . . . . . . . . 13 (𝜑 → ran (comp‘𝑋) ∈ 𝑈)
278, 26wununi 10666 . . . . . . . . . . . 12 (𝜑 ran (comp‘𝑋) ∈ 𝑈)
288, 27wundm 10688 . . . . . . . . . . 11 (𝜑 → dom ran (comp‘𝑋) ∈ 𝑈)
298, 28wuncnv 10690 . . . . . . . . . 10 (𝜑dom ran (comp‘𝑋) ∈ 𝑈)
308wun0 10678 . . . . . . . . . . 11 (𝜑 → ∅ ∈ 𝑈)
318, 30wunsn 10676 . . . . . . . . . 10 (𝜑 → {∅} ∈ 𝑈)
328, 29, 31wunun 10670 . . . . . . . . 9 (𝜑 → (dom ran (comp‘𝑋) ∪ {∅}) ∈ 𝑈)
338, 27wunrn 10689 . . . . . . . . 9 (𝜑 → ran ran (comp‘𝑋) ∈ 𝑈)
348, 32, 33wunxp 10684 . . . . . . . 8 (𝜑 → ((dom ran (comp‘𝑋) ∪ {∅}) × ran ran (comp‘𝑋)) ∈ 𝑈)
358, 34wunpw 10667 . . . . . . 7 (𝜑 → 𝒫 ((dom ran (comp‘𝑋) ∪ {∅}) × ran ran (comp‘𝑋)) ∈ 𝑈)
36 tposssxp 8212 . . . . . . . . . . . 12 tpos (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥)) ⊆ ((dom (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥)) ∪ {∅}) × ran (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥)))
37 ovssunirn 7426 . . . . . . . . . . . . . . 15 (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥)) ⊆ ran (comp‘𝑋)
38 dmss 5869 . . . . . . . . . . . . . . 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 5839 . . . . . . . . . . . . . 14 (dom (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥)) ⊆ dom ran (comp‘𝑋) → dom (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥)) ⊆ dom ran (comp‘𝑋))
41 unss1 4151 . . . . . . . . . . . . . 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 5907 . . . . . . . . . . . . 13 ran (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥)) ⊆ ran ran (comp‘𝑋)
44 xpss12 5656 . . . . . . . . . . . . 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 3959 . . . . . . . . . . 11 tpos (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥)) ⊆ ((dom ran (comp‘𝑋) ∪ {∅}) × ran ran (comp‘𝑋))
47 elpw2g 5291 . . . . . . . . . . . 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 3130 . . . . . . . . 9 (𝜑 → ∀𝑦 ∈ (Base‘𝑋)tpos (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥)) ∈ 𝒫 ((dom ran (comp‘𝑋) ∪ {∅}) × ran ran (comp‘𝑋)))
5150ralrimivw 3130 . . . . . . . 8 (𝜑 → ∀𝑥 ∈ ((Base‘𝑋) × (Base‘𝑋))∀𝑦 ∈ (Base‘𝑋)tpos (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥)) ∈ 𝒫 ((dom ran (comp‘𝑋) ∪ {∅}) × ran ran (comp‘𝑋)))
52 eqid 2730 . . . . . . . . 9 (𝑥 ∈ ((Base‘𝑋) × (Base‘𝑋)), 𝑦 ∈ (Base‘𝑋) ↦ tpos (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥))) = (𝑥 ∈ ((Base‘𝑋) × (Base‘𝑋)), 𝑦 ∈ (Base‘𝑋) ↦ tpos (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥)))
5352fmpo 8050 . . . . . . . 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 10687 . . . . . 6 (𝜑 → (𝑥 ∈ ((Base‘𝑋) × (Base‘𝑋)), 𝑦 ∈ (Base‘𝑋) ↦ tpos (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥))) ∈ 𝑈)
568, 21, 55wunop 10682 . . . . 5 (𝜑 → ⟨(comp‘ndx), (𝑥 ∈ ((Base‘𝑋) × (Base‘𝑋)), 𝑦 ∈ (Base‘𝑋) ↦ tpos (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥)))⟩ ∈ 𝑈)
578, 19, 56wunsets 17154 . . . 4 (𝜑 → ((𝑋 sSet ⟨(Hom ‘ndx), tpos (Hom ‘𝑋)⟩) sSet ⟨(comp‘ndx), (𝑥 ∈ ((Base‘𝑋) × (Base‘𝑋)), 𝑦 ∈ (Base‘𝑋) ↦ tpos (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥)))⟩) ∈ 𝑈)
587, 57eqeltrd 2829 . . 3 (𝜑𝑂𝑈)
599, 10, 8catcbas 18070 . . . . . 6 (𝜑𝐵 = (𝑈 ∩ Cat))
601, 59eleqtrd 2831 . . . . 5 (𝜑𝑋 ∈ (𝑈 ∩ Cat))
6160elin2d 4171 . . . 4 (𝜑𝑋 ∈ Cat)
625oppccat 17690 . . . 4 (𝑋 ∈ Cat → 𝑂 ∈ Cat)
6361, 62syl 17 . . 3 (𝜑𝑂 ∈ Cat)
6458, 63elind 4166 . 2 (𝜑𝑂 ∈ (𝑈 ∩ Cat))
6564, 59eleqtrrd 2832 1 (𝜑𝑂𝐵)
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 206   = wceq 1540  wcel 2109  wral 3045  cun 3915  cin 3916  wss 3917  c0 4299  𝒫 cpw 4566  {csn 4592  cop 4598   cuni 4874   × cxp 5639  ccnv 5640  dom cdm 5641  ran crn 5642  wf 6510  cfv 6514  (class class class)co 7390  cmpo 7392  ωcom 7845  1st c1st 7969  2nd c2nd 7970  tpos ctpos 8207  WUnicwun 10660   sSet csts 17140  ndxcnx 17170  Basecbs 17186  Hom chom 17238  compcco 17239  Catccat 17632  oppCatcoppc 17679  CatCatccatc 18067
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1795  ax-4 1809  ax-5 1910  ax-6 1967  ax-7 2008  ax-8 2111  ax-9 2119  ax-10 2142  ax-11 2158  ax-12 2178  ax-ext 2702  ax-rep 5237  ax-sep 5254  ax-nul 5264  ax-pow 5323  ax-pr 5390  ax-un 7714  ax-inf2 9601  ax-cnex 11131  ax-resscn 11132  ax-1cn 11133  ax-icn 11134  ax-addcl 11135  ax-addrcl 11136  ax-mulcl 11137  ax-mulrcl 11138  ax-mulcom 11139  ax-addass 11140  ax-mulass 11141  ax-distr 11142  ax-i2m1 11143  ax-1ne0 11144  ax-1rid 11145  ax-rnegex 11146  ax-rrecex 11147  ax-cnre 11148  ax-pre-lttri 11149  ax-pre-lttrn 11150  ax-pre-ltadd 11151  ax-pre-mulgt0 11152
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 848  df-3or 1087  df-3an 1088  df-tru 1543  df-fal 1553  df-ex 1780  df-nf 1784  df-sb 2066  df-mo 2534  df-eu 2563  df-clab 2709  df-cleq 2722  df-clel 2804  df-nfc 2879  df-ne 2927  df-nel 3031  df-ral 3046  df-rex 3055  df-rmo 3356  df-reu 3357  df-rab 3409  df-v 3452  df-sbc 3757  df-csb 3866  df-dif 3920  df-un 3922  df-in 3924  df-ss 3934  df-pss 3937  df-nul 4300  df-if 4492  df-pw 4568  df-sn 4593  df-pr 4595  df-tp 4597  df-op 4599  df-uni 4875  df-int 4914  df-iun 4960  df-br 5111  df-opab 5173  df-mpt 5192  df-tr 5218  df-id 5536  df-eprel 5541  df-po 5549  df-so 5550  df-fr 5594  df-we 5596  df-xp 5647  df-rel 5648  df-cnv 5649  df-co 5650  df-dm 5651  df-rn 5652  df-res 5653  df-ima 5654  df-pred 6277  df-ord 6338  df-on 6339  df-lim 6340  df-suc 6341  df-iota 6467  df-fun 6516  df-fn 6517  df-f 6518  df-f1 6519  df-fo 6520  df-f1o 6521  df-fv 6522  df-riota 7347  df-ov 7393  df-oprab 7394  df-mpo 7395  df-om 7846  df-1st 7971  df-2nd 7972  df-tpos 8208  df-frecs 8263  df-wrecs 8294  df-recs 8343  df-rdg 8381  df-1o 8437  df-oadd 8441  df-omul 8442  df-er 8674  df-ec 8676  df-qs 8680  df-map 8804  df-pm 8805  df-en 8922  df-dom 8923  df-sdom 8924  df-fin 8925  df-wun 10662  df-ni 10832  df-pli 10833  df-mi 10834  df-lti 10835  df-plpq 10868  df-mpq 10869  df-ltpq 10870  df-enq 10871  df-nq 10872  df-erq 10873  df-plq 10874  df-mq 10875  df-1nq 10876  df-rq 10877  df-ltnq 10878  df-np 10941  df-plp 10943  df-ltp 10945  df-enr 11015  df-nr 11016  df-c 11081  df-pnf 11217  df-mnf 11218  df-xr 11219  df-ltxr 11220  df-le 11221  df-sub 11414  df-neg 11415  df-nn 12194  df-2 12256  df-3 12257  df-4 12258  df-5 12259  df-6 12260  df-7 12261  df-8 12262  df-9 12263  df-n0 12450  df-z 12537  df-dec 12657  df-uz 12801  df-fz 13476  df-struct 17124  df-sets 17141  df-slot 17159  df-ndx 17171  df-base 17187  df-hom 17251  df-cco 17252  df-cat 17636  df-cid 17637  df-oppc 17680  df-catc 18068
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator