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

Theorem catcoppccl 18042
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 2729 . . . . . 6 (Base‘𝑋) = (Base‘𝑋)
3 eqid 2729 . . . . . 6 (Hom ‘𝑋) = (Hom ‘𝑋)
4 eqid 2729 . . . . . 6 (comp‘𝑋) = (comp‘𝑋)
5 catcoppccl.o . . . . . 6 𝑂 = (oppCat‘𝑋)
62, 3, 4, 5oppcval 17637 . . . . 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 18037 . . . . . 6 (𝜑𝑋𝑈)
12 homid 17334 . . . . . . . 8 Hom = Slot (Hom ‘ndx)
13 catcoppccl.2 . . . . . . . . 9 (𝜑 → ω ∈ 𝑈)
148, 13wunndx 17124 . . . . . . . 8 (𝜑 → ndx ∈ 𝑈)
1512, 8, 14wunstr 17117 . . . . . . 7 (𝜑 → (Hom ‘ndx) ∈ 𝑈)
169, 10, 8, 1catchomcl 18040 . . . . . . . 8 (𝜑 → (Hom ‘𝑋) ∈ 𝑈)
178, 16wuntpos 10647 . . . . . . 7 (𝜑 → tpos (Hom ‘𝑋) ∈ 𝑈)
188, 15, 17wunop 10635 . . . . . 6 (𝜑 → ⟨(Hom ‘ndx), tpos (Hom ‘𝑋)⟩ ∈ 𝑈)
198, 11, 18wunsets 17106 . . . . 5 (𝜑 → (𝑋 sSet ⟨(Hom ‘ndx), tpos (Hom ‘𝑋)⟩) ∈ 𝑈)
20 ccoid 17336 . . . . . . 7 comp = Slot (comp‘ndx)
2120, 8, 14wunstr 17117 . . . . . 6 (𝜑 → (comp‘ndx) ∈ 𝑈)
229, 10, 8, 1catcbaselcl 18039 . . . . . . . . 9 (𝜑 → (Base‘𝑋) ∈ 𝑈)
238, 22, 22wunxp 10637 . . . . . . . 8 (𝜑 → ((Base‘𝑋) × (Base‘𝑋)) ∈ 𝑈)
248, 23, 22wunxp 10637 . . . . . . 7 (𝜑 → (((Base‘𝑋) × (Base‘𝑋)) × (Base‘𝑋)) ∈ 𝑈)
259, 10, 8, 1catcccocl 18041 . . . . . . . . . . . . . 14 (𝜑 → (comp‘𝑋) ∈ 𝑈)
268, 25wunrn 10642 . . . . . . . . . . . . 13 (𝜑 → ran (comp‘𝑋) ∈ 𝑈)
278, 26wununi 10619 . . . . . . . . . . . 12 (𝜑 ran (comp‘𝑋) ∈ 𝑈)
288, 27wundm 10641 . . . . . . . . . . 11 (𝜑 → dom ran (comp‘𝑋) ∈ 𝑈)
298, 28wuncnv 10643 . . . . . . . . . 10 (𝜑dom ran (comp‘𝑋) ∈ 𝑈)
308wun0 10631 . . . . . . . . . . 11 (𝜑 → ∅ ∈ 𝑈)
318, 30wunsn 10629 . . . . . . . . . 10 (𝜑 → {∅} ∈ 𝑈)
328, 29, 31wunun 10623 . . . . . . . . 9 (𝜑 → (dom ran (comp‘𝑋) ∪ {∅}) ∈ 𝑈)
338, 27wunrn 10642 . . . . . . . . 9 (𝜑 → ran ran (comp‘𝑋) ∈ 𝑈)
348, 32, 33wunxp 10637 . . . . . . . 8 (𝜑 → ((dom ran (comp‘𝑋) ∪ {∅}) × ran ran (comp‘𝑋)) ∈ 𝑈)
358, 34wunpw 10620 . . . . . . 7 (𝜑 → 𝒫 ((dom ran (comp‘𝑋) ∪ {∅}) × ran ran (comp‘𝑋)) ∈ 𝑈)
36 tposssxp 8170 . . . . . . . . . . . 12 tpos (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥)) ⊆ ((dom (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥)) ∪ {∅}) × ran (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥)))
37 ovssunirn 7389 . . . . . . . . . . . . . . 15 (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥)) ⊆ ran (comp‘𝑋)
38 dmss 5849 . . . . . . . . . . . . . . 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 5819 . . . . . . . . . . . . . 14 (dom (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥)) ⊆ dom ran (comp‘𝑋) → dom (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥)) ⊆ dom ran (comp‘𝑋))
41 unss1 4138 . . . . . . . . . . . . . 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 5886 . . . . . . . . . . . . 13 ran (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥)) ⊆ ran ran (comp‘𝑋)
44 xpss12 5638 . . . . . . . . . . . . 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 3947 . . . . . . . . . . 11 tpos (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥)) ⊆ ((dom ran (comp‘𝑋) ∪ {∅}) × ran ran (comp‘𝑋))
47 elpw2g 5275 . . . . . . . . . . . 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 3125 . . . . . . . . 9 (𝜑 → ∀𝑦 ∈ (Base‘𝑋)tpos (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥)) ∈ 𝒫 ((dom ran (comp‘𝑋) ∪ {∅}) × ran ran (comp‘𝑋)))
5150ralrimivw 3125 . . . . . . . 8 (𝜑 → ∀𝑥 ∈ ((Base‘𝑋) × (Base‘𝑋))∀𝑦 ∈ (Base‘𝑋)tpos (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥)) ∈ 𝒫 ((dom ran (comp‘𝑋) ∪ {∅}) × ran ran (comp‘𝑋)))
52 eqid 2729 . . . . . . . . 9 (𝑥 ∈ ((Base‘𝑋) × (Base‘𝑋)), 𝑦 ∈ (Base‘𝑋) ↦ tpos (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥))) = (𝑥 ∈ ((Base‘𝑋) × (Base‘𝑋)), 𝑦 ∈ (Base‘𝑋) ↦ tpos (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥)))
5352fmpo 8010 . . . . . . . 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 10640 . . . . . 6 (𝜑 → (𝑥 ∈ ((Base‘𝑋) × (Base‘𝑋)), 𝑦 ∈ (Base‘𝑋) ↦ tpos (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥))) ∈ 𝑈)
568, 21, 55wunop 10635 . . . . 5 (𝜑 → ⟨(comp‘ndx), (𝑥 ∈ ((Base‘𝑋) × (Base‘𝑋)), 𝑦 ∈ (Base‘𝑋) ↦ tpos (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥)))⟩ ∈ 𝑈)
578, 19, 56wunsets 17106 . . . 4 (𝜑 → ((𝑋 sSet ⟨(Hom ‘ndx), tpos (Hom ‘𝑋)⟩) sSet ⟨(comp‘ndx), (𝑥 ∈ ((Base‘𝑋) × (Base‘𝑋)), 𝑦 ∈ (Base‘𝑋) ↦ tpos (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥)))⟩) ∈ 𝑈)
587, 57eqeltrd 2828 . . 3 (𝜑𝑂𝑈)
599, 10, 8catcbas 18026 . . . . . 6 (𝜑𝐵 = (𝑈 ∩ Cat))
601, 59eleqtrd 2830 . . . . 5 (𝜑𝑋 ∈ (𝑈 ∩ Cat))
6160elin2d 4158 . . . 4 (𝜑𝑋 ∈ Cat)
625oppccat 17646 . . . 4 (𝑋 ∈ Cat → 𝑂 ∈ Cat)
6361, 62syl 17 . . 3 (𝜑𝑂 ∈ Cat)
6458, 63elind 4153 . 2 (𝜑𝑂 ∈ (𝑈 ∩ Cat))
6564, 59eleqtrrd 2831 1 (𝜑𝑂𝐵)
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 206   = wceq 1540  wcel 2109  wral 3044  cun 3903  cin 3904  wss 3905  c0 4286  𝒫 cpw 4553  {csn 4579  cop 4585   cuni 4861   × cxp 5621  ccnv 5622  dom cdm 5623  ran crn 5624  wf 6482  cfv 6486  (class class class)co 7353  cmpo 7355  ωcom 7806  1st c1st 7929  2nd c2nd 7930  tpos ctpos 8165  WUnicwun 10613   sSet csts 17092  ndxcnx 17122  Basecbs 17138  Hom chom 17190  compcco 17191  Catccat 17588  oppCatcoppc 17635  CatCatccatc 18023
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 2701  ax-rep 5221  ax-sep 5238  ax-nul 5248  ax-pow 5307  ax-pr 5374  ax-un 7675  ax-inf2 9556  ax-cnex 11084  ax-resscn 11085  ax-1cn 11086  ax-icn 11087  ax-addcl 11088  ax-addrcl 11089  ax-mulcl 11090  ax-mulrcl 11091  ax-mulcom 11092  ax-addass 11093  ax-mulass 11094  ax-distr 11095  ax-i2m1 11096  ax-1ne0 11097  ax-1rid 11098  ax-rnegex 11099  ax-rrecex 11100  ax-cnre 11101  ax-pre-lttri 11102  ax-pre-lttrn 11103  ax-pre-ltadd 11104  ax-pre-mulgt0 11105
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 2533  df-eu 2562  df-clab 2708  df-cleq 2721  df-clel 2803  df-nfc 2878  df-ne 2926  df-nel 3030  df-ral 3045  df-rex 3054  df-rmo 3345  df-reu 3346  df-rab 3397  df-v 3440  df-sbc 3745  df-csb 3854  df-dif 3908  df-un 3910  df-in 3912  df-ss 3922  df-pss 3925  df-nul 4287  df-if 4479  df-pw 4555  df-sn 4580  df-pr 4582  df-tp 4584  df-op 4586  df-uni 4862  df-int 4900  df-iun 4946  df-br 5096  df-opab 5158  df-mpt 5177  df-tr 5203  df-id 5518  df-eprel 5523  df-po 5531  df-so 5532  df-fr 5576  df-we 5578  df-xp 5629  df-rel 5630  df-cnv 5631  df-co 5632  df-dm 5633  df-rn 5634  df-res 5635  df-ima 5636  df-pred 6253  df-ord 6314  df-on 6315  df-lim 6316  df-suc 6317  df-iota 6442  df-fun 6488  df-fn 6489  df-f 6490  df-f1 6491  df-fo 6492  df-f1o 6493  df-fv 6494  df-riota 7310  df-ov 7356  df-oprab 7357  df-mpo 7358  df-om 7807  df-1st 7931  df-2nd 7932  df-tpos 8166  df-frecs 8221  df-wrecs 8252  df-recs 8301  df-rdg 8339  df-1o 8395  df-oadd 8399  df-omul 8400  df-er 8632  df-ec 8634  df-qs 8638  df-map 8762  df-pm 8763  df-en 8880  df-dom 8881  df-sdom 8882  df-fin 8883  df-wun 10615  df-ni 10785  df-pli 10786  df-mi 10787  df-lti 10788  df-plpq 10821  df-mpq 10822  df-ltpq 10823  df-enq 10824  df-nq 10825  df-erq 10826  df-plq 10827  df-mq 10828  df-1nq 10829  df-rq 10830  df-ltnq 10831  df-np 10894  df-plp 10896  df-ltp 10898  df-enr 10968  df-nr 10969  df-c 11034  df-pnf 11170  df-mnf 11171  df-xr 11172  df-ltxr 11173  df-le 11174  df-sub 11367  df-neg 11368  df-nn 12147  df-2 12209  df-3 12210  df-4 12211  df-5 12212  df-6 12213  df-7 12214  df-8 12215  df-9 12216  df-n0 12403  df-z 12490  df-dec 12610  df-uz 12754  df-fz 13429  df-struct 17076  df-sets 17093  df-slot 17111  df-ndx 17123  df-base 17139  df-hom 17203  df-cco 17204  df-cat 17592  df-cid 17593  df-oppc 17636  df-catc 18024
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator