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

Theorem catcoppccl 18053
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 2737 . . . . . 6 (Base‘𝑋) = (Base‘𝑋)
3 eqid 2737 . . . . . 6 (Hom ‘𝑋) = (Hom ‘𝑋)
4 eqid 2737 . . . . . 6 (comp‘𝑋) = (comp‘𝑋)
5 catcoppccl.o . . . . . 6 𝑂 = (oppCat‘𝑋)
62, 3, 4, 5oppcval 17648 . . . . 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 18048 . . . . . 6 (𝜑𝑋𝑈)
12 homid 17344 . . . . . . . 8 Hom = Slot (Hom ‘ndx)
13 catcoppccl.2 . . . . . . . . 9 (𝜑 → ω ∈ 𝑈)
148, 13wunndx 17134 . . . . . . . 8 (𝜑 → ndx ∈ 𝑈)
1512, 8, 14wunstr 17127 . . . . . . 7 (𝜑 → (Hom ‘ndx) ∈ 𝑈)
169, 10, 8, 1catchomcl 18051 . . . . . . . 8 (𝜑 → (Hom ‘𝑋) ∈ 𝑈)
178, 16wuntpos 10657 . . . . . . 7 (𝜑 → tpos (Hom ‘𝑋) ∈ 𝑈)
188, 15, 17wunop 10645 . . . . . 6 (𝜑 → ⟨(Hom ‘ndx), tpos (Hom ‘𝑋)⟩ ∈ 𝑈)
198, 11, 18wunsets 17116 . . . . 5 (𝜑 → (𝑋 sSet ⟨(Hom ‘ndx), tpos (Hom ‘𝑋)⟩) ∈ 𝑈)
20 ccoid 17346 . . . . . . 7 comp = Slot (comp‘ndx)
2120, 8, 14wunstr 17127 . . . . . 6 (𝜑 → (comp‘ndx) ∈ 𝑈)
229, 10, 8, 1catcbaselcl 18050 . . . . . . . . 9 (𝜑 → (Base‘𝑋) ∈ 𝑈)
238, 22, 22wunxp 10647 . . . . . . . 8 (𝜑 → ((Base‘𝑋) × (Base‘𝑋)) ∈ 𝑈)
248, 23, 22wunxp 10647 . . . . . . 7 (𝜑 → (((Base‘𝑋) × (Base‘𝑋)) × (Base‘𝑋)) ∈ 𝑈)
259, 10, 8, 1catcccocl 18052 . . . . . . . . . . . . . 14 (𝜑 → (comp‘𝑋) ∈ 𝑈)
268, 25wunrn 10652 . . . . . . . . . . . . 13 (𝜑 → ran (comp‘𝑋) ∈ 𝑈)
278, 26wununi 10629 . . . . . . . . . . . 12 (𝜑 ran (comp‘𝑋) ∈ 𝑈)
288, 27wundm 10651 . . . . . . . . . . 11 (𝜑 → dom ran (comp‘𝑋) ∈ 𝑈)
298, 28wuncnv 10653 . . . . . . . . . 10 (𝜑dom ran (comp‘𝑋) ∈ 𝑈)
308wun0 10641 . . . . . . . . . . 11 (𝜑 → ∅ ∈ 𝑈)
318, 30wunsn 10639 . . . . . . . . . 10 (𝜑 → {∅} ∈ 𝑈)
328, 29, 31wunun 10633 . . . . . . . . 9 (𝜑 → (dom ran (comp‘𝑋) ∪ {∅}) ∈ 𝑈)
338, 27wunrn 10652 . . . . . . . . 9 (𝜑 → ran ran (comp‘𝑋) ∈ 𝑈)
348, 32, 33wunxp 10647 . . . . . . . 8 (𝜑 → ((dom ran (comp‘𝑋) ∪ {∅}) × ran ran (comp‘𝑋)) ∈ 𝑈)
358, 34wunpw 10630 . . . . . . 7 (𝜑 → 𝒫 ((dom ran (comp‘𝑋) ∪ {∅}) × ran ran (comp‘𝑋)) ∈ 𝑈)
36 tposssxp 8182 . . . . . . . . . . . 12 tpos (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥)) ⊆ ((dom (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥)) ∪ {∅}) × ran (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥)))
37 ovssunirn 7404 . . . . . . . . . . . . . . 15 (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥)) ⊆ ran (comp‘𝑋)
38 dmss 5859 . . . . . . . . . . . . . . 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 5829 . . . . . . . . . . . . . 14 (dom (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥)) ⊆ dom ran (comp‘𝑋) → dom (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥)) ⊆ dom ran (comp‘𝑋))
41 unss1 4139 . . . . . . . . . . . . . 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 5897 . . . . . . . . . . . . 13 ran (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥)) ⊆ ran ran (comp‘𝑋)
44 xpss12 5647 . . . . . . . . . . . . 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 693 . . . . . . . . . . . 12 ((dom (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥)) ∪ {∅}) × ran (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥))) ⊆ ((dom ran (comp‘𝑋) ∪ {∅}) × ran ran (comp‘𝑋))
4636, 45sstri 3945 . . . . . . . . . . 11 tpos (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥)) ⊆ ((dom ran (comp‘𝑋) ∪ {∅}) × ran ran (comp‘𝑋))
47 elpw2g 5280 . . . . . . . . . . . 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 3134 . . . . . . . . 9 (𝜑 → ∀𝑦 ∈ (Base‘𝑋)tpos (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥)) ∈ 𝒫 ((dom ran (comp‘𝑋) ∪ {∅}) × ran ran (comp‘𝑋)))
5150ralrimivw 3134 . . . . . . . 8 (𝜑 → ∀𝑥 ∈ ((Base‘𝑋) × (Base‘𝑋))∀𝑦 ∈ (Base‘𝑋)tpos (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥)) ∈ 𝒫 ((dom ran (comp‘𝑋) ∪ {∅}) × ran ran (comp‘𝑋)))
52 eqid 2737 . . . . . . . . 9 (𝑥 ∈ ((Base‘𝑋) × (Base‘𝑋)), 𝑦 ∈ (Base‘𝑋) ↦ tpos (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥))) = (𝑥 ∈ ((Base‘𝑋) × (Base‘𝑋)), 𝑦 ∈ (Base‘𝑋) ↦ tpos (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥)))
5352fmpo 8022 . . . . . . . 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 10650 . . . . . 6 (𝜑 → (𝑥 ∈ ((Base‘𝑋) × (Base‘𝑋)), 𝑦 ∈ (Base‘𝑋) ↦ tpos (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥))) ∈ 𝑈)
568, 21, 55wunop 10645 . . . . 5 (𝜑 → ⟨(comp‘ndx), (𝑥 ∈ ((Base‘𝑋) × (Base‘𝑋)), 𝑦 ∈ (Base‘𝑋) ↦ tpos (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥)))⟩ ∈ 𝑈)
578, 19, 56wunsets 17116 . . . 4 (𝜑 → ((𝑋 sSet ⟨(Hom ‘ndx), tpos (Hom ‘𝑋)⟩) sSet ⟨(comp‘ndx), (𝑥 ∈ ((Base‘𝑋) × (Base‘𝑋)), 𝑦 ∈ (Base‘𝑋) ↦ tpos (⟨𝑦, (2nd𝑥)⟩(comp‘𝑋)(1st𝑥)))⟩) ∈ 𝑈)
587, 57eqeltrd 2837 . . 3 (𝜑𝑂𝑈)
599, 10, 8catcbas 18037 . . . . . 6 (𝜑𝐵 = (𝑈 ∩ Cat))
601, 59eleqtrd 2839 . . . . 5 (𝜑𝑋 ∈ (𝑈 ∩ Cat))
6160elin2d 4159 . . . 4 (𝜑𝑋 ∈ Cat)
625oppccat 17657 . . . 4 (𝑋 ∈ Cat → 𝑂 ∈ Cat)
6361, 62syl 17 . . 3 (𝜑𝑂 ∈ Cat)
6458, 63elind 4154 . 2 (𝜑𝑂 ∈ (𝑈 ∩ Cat))
6564, 59eleqtrrd 2840 1 (𝜑𝑂𝐵)
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 206   = wceq 1542  wcel 2114  wral 3052  cun 3901  cin 3902  wss 3903  c0 4287  𝒫 cpw 4556  {csn 4582  cop 4588   cuni 4865   × cxp 5630  ccnv 5631  dom cdm 5632  ran crn 5633  wf 6496  cfv 6500  (class class class)co 7368  cmpo 7370  ωcom 7818  1st c1st 7941  2nd c2nd 7942  tpos ctpos 8177  WUnicwun 10623   sSet csts 17102  ndxcnx 17132  Basecbs 17148  Hom chom 17200  compcco 17201  Catccat 17599  oppCatcoppc 17646  CatCatccatc 18034
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1797  ax-4 1811  ax-5 1912  ax-6 1969  ax-7 2010  ax-8 2116  ax-9 2124  ax-10 2147  ax-11 2163  ax-12 2185  ax-ext 2709  ax-rep 5226  ax-sep 5243  ax-nul 5253  ax-pow 5312  ax-pr 5379  ax-un 7690  ax-inf2 9562  ax-cnex 11094  ax-resscn 11095  ax-1cn 11096  ax-icn 11097  ax-addcl 11098  ax-addrcl 11099  ax-mulcl 11100  ax-mulrcl 11101  ax-mulcom 11102  ax-addass 11103  ax-mulass 11104  ax-distr 11105  ax-i2m1 11106  ax-1ne0 11107  ax-1rid 11108  ax-rnegex 11109  ax-rrecex 11110  ax-cnre 11111  ax-pre-lttri 11112  ax-pre-lttrn 11113  ax-pre-ltadd 11114  ax-pre-mulgt0 11115
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 849  df-3or 1088  df-3an 1089  df-tru 1545  df-fal 1555  df-ex 1782  df-nf 1786  df-sb 2069  df-mo 2540  df-eu 2570  df-clab 2716  df-cleq 2729  df-clel 2812  df-nfc 2886  df-ne 2934  df-nel 3038  df-ral 3053  df-rex 3063  df-rmo 3352  df-reu 3353  df-rab 3402  df-v 3444  df-sbc 3743  df-csb 3852  df-dif 3906  df-un 3908  df-in 3910  df-ss 3920  df-pss 3923  df-nul 4288  df-if 4482  df-pw 4558  df-sn 4583  df-pr 4585  df-tp 4587  df-op 4589  df-uni 4866  df-int 4905  df-iun 4950  df-br 5101  df-opab 5163  df-mpt 5182  df-tr 5208  df-id 5527  df-eprel 5532  df-po 5540  df-so 5541  df-fr 5585  df-we 5587  df-xp 5638  df-rel 5639  df-cnv 5640  df-co 5641  df-dm 5642  df-rn 5643  df-res 5644  df-ima 5645  df-pred 6267  df-ord 6328  df-on 6329  df-lim 6330  df-suc 6331  df-iota 6456  df-fun 6502  df-fn 6503  df-f 6504  df-f1 6505  df-fo 6506  df-f1o 6507  df-fv 6508  df-riota 7325  df-ov 7371  df-oprab 7372  df-mpo 7373  df-om 7819  df-1st 7943  df-2nd 7944  df-tpos 8178  df-frecs 8233  df-wrecs 8264  df-recs 8313  df-rdg 8351  df-1o 8407  df-oadd 8411  df-omul 8412  df-er 8645  df-ec 8647  df-qs 8651  df-map 8777  df-pm 8778  df-en 8896  df-dom 8897  df-sdom 8898  df-fin 8899  df-wun 10625  df-ni 10795  df-pli 10796  df-mi 10797  df-lti 10798  df-plpq 10831  df-mpq 10832  df-ltpq 10833  df-enq 10834  df-nq 10835  df-erq 10836  df-plq 10837  df-mq 10838  df-1nq 10839  df-rq 10840  df-ltnq 10841  df-np 10904  df-plp 10906  df-ltp 10908  df-enr 10978  df-nr 10979  df-c 11044  df-pnf 11180  df-mnf 11181  df-xr 11182  df-ltxr 11183  df-le 11184  df-sub 11378  df-neg 11379  df-nn 12158  df-2 12220  df-3 12221  df-4 12222  df-5 12223  df-6 12224  df-7 12225  df-8 12226  df-9 12227  df-n0 12414  df-z 12501  df-dec 12620  df-uz 12764  df-fz 13436  df-struct 17086  df-sets 17103  df-slot 17121  df-ndx 17133  df-base 17149  df-hom 17213  df-cco 17214  df-cat 17603  df-cid 17604  df-oppc 17647  df-catc 18035
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator