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

Theorem catcoppccl 17748
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 2738 . . . . . 6 (Base‘𝑋) = (Base‘𝑋)
3 eqid 2738 . . . . . 6 (Hom ‘𝑋) = (Hom ‘𝑋)
4 eqid 2738 . . . . . 6 (comp‘𝑋) = (comp‘𝑋)
5 catcoppccl.o . . . . . 6 𝑂 = (oppCat‘𝑋)
62, 3, 4, 5oppcval 17339 . . . . 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 17743 . . . . . 6 (𝜑𝑋𝑈)
12 homid 17041 . . . . . . . 8 Hom = Slot (Hom ‘ndx)
13 catcoppccl.2 . . . . . . . . 9 (𝜑 → ω ∈ 𝑈)
148, 13wunndx 16824 . . . . . . . 8 (𝜑 → ndx ∈ 𝑈)
1512, 8, 14wunstr 16817 . . . . . . 7 (𝜑 → (Hom ‘ndx) ∈ 𝑈)
169, 10, 8, 1catchomcl 17746 . . . . . . . 8 (𝜑 → (Hom ‘𝑋) ∈ 𝑈)
178, 16wuntpos 10421 . . . . . . 7 (𝜑 → tpos (Hom ‘𝑋) ∈ 𝑈)
188, 15, 17wunop 10409 . . . . . 6 (𝜑 → ⟨(Hom ‘ndx), tpos (Hom ‘𝑋)⟩ ∈ 𝑈)
198, 11, 18wunsets 16806 . . . . 5 (𝜑 → (𝑋 sSet ⟨(Hom ‘ndx), tpos (Hom ‘𝑋)⟩) ∈ 𝑈)
20 ccoid 17043 . . . . . . 7 comp = Slot (comp‘ndx)
2120, 8, 14wunstr 16817 . . . . . 6 (𝜑 → (comp‘ndx) ∈ 𝑈)
229, 10, 8, 1catcbaselcl 17745 . . . . . . . . 9 (𝜑 → (Base‘𝑋) ∈ 𝑈)
238, 22, 22wunxp 10411 . . . . . . . 8 (𝜑 → ((Base‘𝑋) × (Base‘𝑋)) ∈ 𝑈)
248, 23, 22wunxp 10411 . . . . . . 7 (𝜑 → (((Base‘𝑋) × (Base‘𝑋)) × (Base‘𝑋)) ∈ 𝑈)
259, 10, 8, 1catcccocl 17747 . . . . . . . . . . . . . 14 (𝜑 → (comp‘𝑋) ∈ 𝑈)
268, 25wunrn 10416 . . . . . . . . . . . . 13 (𝜑 → ran (comp‘𝑋) ∈ 𝑈)
278, 26wununi 10393 . . . . . . . . . . . 12 (𝜑 ran (comp‘𝑋) ∈ 𝑈)
288, 27wundm 10415 . . . . . . . . . . 11 (𝜑 → dom ran (comp‘𝑋) ∈ 𝑈)
298, 28wuncnv 10417 . . . . . . . . . 10 (𝜑dom ran (comp‘𝑋) ∈ 𝑈)
308wun0 10405 . . . . . . . . . . 11 (𝜑 → ∅ ∈ 𝑈)
318, 30wunsn 10403 . . . . . . . . . 10 (𝜑 → {∅} ∈ 𝑈)
328, 29, 31wunun 10397 . . . . . . . . 9 (𝜑 → (dom ran (comp‘𝑋) ∪ {∅}) ∈ 𝑈)
338, 27wunrn 10416 . . . . . . . . 9 (𝜑 → ran ran (comp‘𝑋) ∈ 𝑈)
348, 32, 33wunxp 10411 . . . . . . . 8 (𝜑 → ((dom ran (comp‘𝑋) ∪ {∅}) × ran ran (comp‘𝑋)) ∈ 𝑈)
358, 34wunpw 10394 . . . . . . 7 (𝜑 → 𝒫 ((dom ran (comp‘𝑋) ∪ {∅}) × ran ran (comp‘𝑋)) ∈ 𝑈)
36 tposssxp 8017 . . . . . . . . . . . 12 tpos (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥)) ⊆ ((dom (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥)) ∪ {∅}) × ran (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥)))
37 ovssunirn 7291 . . . . . . . . . . . . . . 15 (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥)) ⊆ ran (comp‘𝑋)
38 dmss 5800 . . . . . . . . . . . . . . 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 5770 . . . . . . . . . . . . . 14 (dom (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥)) ⊆ dom ran (comp‘𝑋) → dom (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥)) ⊆ dom ran (comp‘𝑋))
41 unss1 4109 . . . . . . . . . . . . . 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 5838 . . . . . . . . . . . . 13 ran (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥)) ⊆ ran ran (comp‘𝑋)
44 xpss12 5595 . . . . . . . . . . . . 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 688 . . . . . . . . . . . 12 ((dom (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥)) ∪ {∅}) × ran (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥))) ⊆ ((dom ran (comp‘𝑋) ∪ {∅}) × ran ran (comp‘𝑋))
4636, 45sstri 3926 . . . . . . . . . . 11 tpos (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥)) ⊆ ((dom ran (comp‘𝑋) ∪ {∅}) × ran ran (comp‘𝑋))
47 elpw2g 5263 . . . . . . . . . . . 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 257 . . . . . . . . . 10 (𝜑 → tpos (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥)) ∈ 𝒫 ((dom ran (comp‘𝑋) ∪ {∅}) × ran ran (comp‘𝑋)))
5049ralrimivw 3108 . . . . . . . . 9 (𝜑 → ∀𝑦 ∈ (Base‘𝑋)tpos (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥)) ∈ 𝒫 ((dom ran (comp‘𝑋) ∪ {∅}) × ran ran (comp‘𝑋)))
5150ralrimivw 3108 . . . . . . . 8 (𝜑 → ∀𝑥 ∈ ((Base‘𝑋) × (Base‘𝑋))∀𝑦 ∈ (Base‘𝑋)tpos (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥)) ∈ 𝒫 ((dom ran (comp‘𝑋) ∪ {∅}) × ran ran (comp‘𝑋)))
52 eqid 2738 . . . . . . . . 9 (𝑥 ∈ ((Base‘𝑋) × (Base‘𝑋)), 𝑦 ∈ (Base‘𝑋) ↦ tpos (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥))) = (𝑥 ∈ ((Base‘𝑋) × (Base‘𝑋)), 𝑦 ∈ (Base‘𝑋) ↦ tpos (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥)))
5352fmpo 7881 . . . . . . . 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 217 . . . . . . 7 (𝜑 → (𝑥 ∈ ((Base‘𝑋) × (Base‘𝑋)), 𝑦 ∈ (Base‘𝑋) ↦ tpos (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥))):(((Base‘𝑋) × (Base‘𝑋)) × (Base‘𝑋))⟶𝒫 ((dom ran (comp‘𝑋) ∪ {∅}) × ran ran (comp‘𝑋)))
558, 24, 35, 54wunf 10414 . . . . . 6 (𝜑 → (𝑥 ∈ ((Base‘𝑋) × (Base‘𝑋)), 𝑦 ∈ (Base‘𝑋) ↦ tpos (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥))) ∈ 𝑈)
568, 21, 55wunop 10409 . . . . 5 (𝜑 → ⟨(comp‘ndx), (𝑥 ∈ ((Base‘𝑋) × (Base‘𝑋)), 𝑦 ∈ (Base‘𝑋) ↦ tpos (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥)))⟩ ∈ 𝑈)
578, 19, 56wunsets 16806 . . . 4 (𝜑 → ((𝑋 sSet ⟨(Hom ‘ndx), tpos (Hom ‘𝑋)⟩) sSet ⟨(comp‘ndx), (𝑥 ∈ ((Base‘𝑋) × (Base‘𝑋)), 𝑦 ∈ (Base‘𝑋) ↦ tpos (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥)))⟩) ∈ 𝑈)
587, 57eqeltrd 2839 . . 3 (𝜑𝑂𝑈)
599, 10, 8catcbas 17732 . . . . . 6 (𝜑𝐵 = (𝑈 ∩ Cat))
601, 59eleqtrd 2841 . . . . 5 (𝜑𝑋 ∈ (𝑈 ∩ Cat))
6160elin2d 4129 . . . 4 (𝜑𝑋 ∈ Cat)
625oppccat 17350 . . . 4 (𝑋 ∈ Cat → 𝑂 ∈ Cat)
6361, 62syl 17 . . 3 (𝜑𝑂 ∈ Cat)
6458, 63elind 4124 . 2 (𝜑𝑂 ∈ (𝑈 ∩ Cat))
6564, 59eleqtrrd 2842 1 (𝜑𝑂𝐵)
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 205   = wceq 1539  wcel 2108  wral 3063  cun 3881  cin 3882  wss 3883  c0 4253  𝒫 cpw 4530  {csn 4558  cop 4564   cuni 4836   × cxp 5578  ccnv 5579  dom cdm 5580  ran crn 5581  wf 6414  cfv 6418  (class class class)co 7255  cmpo 7257  ωcom 7687  1st c1st 7802  2nd c2nd 7803  tpos ctpos 8012  WUnicwun 10387   sSet csts 16792  ndxcnx 16822  Basecbs 16840  Hom chom 16899  compcco 16900  Catccat 17290  oppCatcoppc 17337  CatCatccatc 17729
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1799  ax-4 1813  ax-5 1914  ax-6 1972  ax-7 2012  ax-8 2110  ax-9 2118  ax-10 2139  ax-11 2156  ax-12 2173  ax-ext 2709  ax-rep 5205  ax-sep 5218  ax-nul 5225  ax-pow 5283  ax-pr 5347  ax-un 7566  ax-inf2 9329  ax-cnex 10858  ax-resscn 10859  ax-1cn 10860  ax-icn 10861  ax-addcl 10862  ax-addrcl 10863  ax-mulcl 10864  ax-mulrcl 10865  ax-mulcom 10866  ax-addass 10867  ax-mulass 10868  ax-distr 10869  ax-i2m1 10870  ax-1ne0 10871  ax-1rid 10872  ax-rnegex 10873  ax-rrecex 10874  ax-cnre 10875  ax-pre-lttri 10876  ax-pre-lttrn 10877  ax-pre-ltadd 10878  ax-pre-mulgt0 10879
This theorem depends on definitions:  df-bi 206  df-an 396  df-or 844  df-3or 1086  df-3an 1087  df-tru 1542  df-fal 1552  df-ex 1784  df-nf 1788  df-sb 2069  df-mo 2540  df-eu 2569  df-clab 2716  df-cleq 2730  df-clel 2817  df-nfc 2888  df-ne 2943  df-nel 3049  df-ral 3068  df-rex 3069  df-reu 3070  df-rmo 3071  df-rab 3072  df-v 3424  df-sbc 3712  df-csb 3829  df-dif 3886  df-un 3888  df-in 3890  df-ss 3900  df-pss 3902  df-nul 4254  df-if 4457  df-pw 4532  df-sn 4559  df-pr 4561  df-tp 4563  df-op 4565  df-uni 4837  df-int 4877  df-iun 4923  df-br 5071  df-opab 5133  df-mpt 5154  df-tr 5188  df-id 5480  df-eprel 5486  df-po 5494  df-so 5495  df-fr 5535  df-we 5537  df-xp 5586  df-rel 5587  df-cnv 5588  df-co 5589  df-dm 5590  df-rn 5591  df-res 5592  df-ima 5593  df-pred 6191  df-ord 6254  df-on 6255  df-lim 6256  df-suc 6257  df-iota 6376  df-fun 6420  df-fn 6421  df-f 6422  df-f1 6423  df-fo 6424  df-f1o 6425  df-fv 6426  df-riota 7212  df-ov 7258  df-oprab 7259  df-mpo 7260  df-om 7688  df-1st 7804  df-2nd 7805  df-tpos 8013  df-frecs 8068  df-wrecs 8099  df-recs 8173  df-rdg 8212  df-1o 8267  df-oadd 8271  df-omul 8272  df-er 8456  df-ec 8458  df-qs 8462  df-map 8575  df-pm 8576  df-en 8692  df-dom 8693  df-sdom 8694  df-fin 8695  df-wun 10389  df-ni 10559  df-pli 10560  df-mi 10561  df-lti 10562  df-plpq 10595  df-mpq 10596  df-ltpq 10597  df-enq 10598  df-nq 10599  df-erq 10600  df-plq 10601  df-mq 10602  df-1nq 10603  df-rq 10604  df-ltnq 10605  df-np 10668  df-plp 10670  df-ltp 10672  df-enr 10742  df-nr 10743  df-c 10808  df-pnf 10942  df-mnf 10943  df-xr 10944  df-ltxr 10945  df-le 10946  df-sub 11137  df-neg 11138  df-nn 11904  df-2 11966  df-3 11967  df-4 11968  df-5 11969  df-6 11970  df-7 11971  df-8 11972  df-9 11973  df-n0 12164  df-z 12250  df-dec 12367  df-uz 12512  df-fz 13169  df-struct 16776  df-sets 16793  df-slot 16811  df-ndx 16823  df-base 16841  df-hom 16912  df-cco 16913  df-cat 17294  df-cid 17295  df-oppc 17338  df-catc 17730
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator