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

Theorem cmetcusp 25388
Description: The uniform space generated by a complete metric is a complete uniform space. (Contributed by Thierry Arnoux, 5-Dec-2017.)
Assertion
Ref Expression
cmetcusp ((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) → (toUnifSp‘(metUnif‘𝐷)) ∈ CUnifSp)

Proof of Theorem cmetcusp
Dummy variables 𝑥 𝑐 𝑦 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 cmetmet 25320 . . . . 5 (𝐷 ∈ (CMet‘𝑋) → 𝐷 ∈ (Met‘𝑋))
2 metxmet 24344 . . . . 5 (𝐷 ∈ (Met‘𝑋) → 𝐷 ∈ (∞Met‘𝑋))
3 xmetpsmet 24358 . . . . 5 (𝐷 ∈ (∞Met‘𝑋) → 𝐷 ∈ (PsMet‘𝑋))
41, 2, 33syl 18 . . . 4 (𝐷 ∈ (CMet‘𝑋) → 𝐷 ∈ (PsMet‘𝑋))
54anim2i 617 . . 3 ((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) → (𝑋 ≠ ∅ ∧ 𝐷 ∈ (PsMet‘𝑋)))
6 metuust 24573 . . 3 ((𝑋 ≠ ∅ ∧ 𝐷 ∈ (PsMet‘𝑋)) → (metUnif‘𝐷) ∈ (UnifOn‘𝑋))
7 eqid 2737 . . . 4 (toUnifSp‘(metUnif‘𝐷)) = (toUnifSp‘(metUnif‘𝐷))
87tususp 24281 . . 3 ((metUnif‘𝐷) ∈ (UnifOn‘𝑋) → (toUnifSp‘(metUnif‘𝐷)) ∈ UnifSp)
95, 6, 83syl 18 . 2 ((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) → (toUnifSp‘(metUnif‘𝐷)) ∈ UnifSp)
10 simpll 767 . . . . 5 ((((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) ∧ 𝑐 ∈ (Fil‘(Base‘(toUnifSp‘(metUnif‘𝐷))))) ∧ 𝑐 ∈ (CauFilu‘(UnifSt‘(toUnifSp‘(metUnif‘𝐷))))) → (𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)))
1110simprd 495 . . . . . 6 ((((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) ∧ 𝑐 ∈ (Fil‘(Base‘(toUnifSp‘(metUnif‘𝐷))))) ∧ 𝑐 ∈ (CauFilu‘(UnifSt‘(toUnifSp‘(metUnif‘𝐷))))) → 𝐷 ∈ (CMet‘𝑋))
121, 2syl 17 . . . . . . . 8 (𝐷 ∈ (CMet‘𝑋) → 𝐷 ∈ (∞Met‘𝑋))
1312ad3antlr 731 . . . . . . 7 ((((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) ∧ 𝑐 ∈ (Fil‘(Base‘(toUnifSp‘(metUnif‘𝐷))))) ∧ 𝑐 ∈ (CauFilu‘(UnifSt‘(toUnifSp‘(metUnif‘𝐷))))) → 𝐷 ∈ (∞Met‘𝑋))
147tusbas 24277 . . . . . . . . . . . 12 ((metUnif‘𝐷) ∈ (UnifOn‘𝑋) → 𝑋 = (Base‘(toUnifSp‘(metUnif‘𝐷))))
1514fveq2d 6910 . . . . . . . . . . 11 ((metUnif‘𝐷) ∈ (UnifOn‘𝑋) → (Fil‘𝑋) = (Fil‘(Base‘(toUnifSp‘(metUnif‘𝐷)))))
1615eleq2d 2827 . . . . . . . . . 10 ((metUnif‘𝐷) ∈ (UnifOn‘𝑋) → (𝑐 ∈ (Fil‘𝑋) ↔ 𝑐 ∈ (Fil‘(Base‘(toUnifSp‘(metUnif‘𝐷))))))
175, 6, 163syl 18 . . . . . . . . 9 ((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) → (𝑐 ∈ (Fil‘𝑋) ↔ 𝑐 ∈ (Fil‘(Base‘(toUnifSp‘(metUnif‘𝐷))))))
1817biimpar 477 . . . . . . . 8 (((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) ∧ 𝑐 ∈ (Fil‘(Base‘(toUnifSp‘(metUnif‘𝐷))))) → 𝑐 ∈ (Fil‘𝑋))
1918adantr 480 . . . . . . 7 ((((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) ∧ 𝑐 ∈ (Fil‘(Base‘(toUnifSp‘(metUnif‘𝐷))))) ∧ 𝑐 ∈ (CauFilu‘(UnifSt‘(toUnifSp‘(metUnif‘𝐷))))) → 𝑐 ∈ (Fil‘𝑋))
207tususs 24279 . . . . . . . . . . . . 13 ((metUnif‘𝐷) ∈ (UnifOn‘𝑋) → (metUnif‘𝐷) = (UnifSt‘(toUnifSp‘(metUnif‘𝐷))))
2120fveq2d 6910 . . . . . . . . . . . 12 ((metUnif‘𝐷) ∈ (UnifOn‘𝑋) → (CauFilu‘(metUnif‘𝐷)) = (CauFilu‘(UnifSt‘(toUnifSp‘(metUnif‘𝐷)))))
225, 6, 213syl 18 . . . . . . . . . . 11 ((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) → (CauFilu‘(metUnif‘𝐷)) = (CauFilu‘(UnifSt‘(toUnifSp‘(metUnif‘𝐷)))))
2322eleq2d 2827 . . . . . . . . . 10 ((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) → (𝑐 ∈ (CauFilu‘(metUnif‘𝐷)) ↔ 𝑐 ∈ (CauFilu‘(UnifSt‘(toUnifSp‘(metUnif‘𝐷))))))
2423biimpar 477 . . . . . . . . 9 (((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) ∧ 𝑐 ∈ (CauFilu‘(UnifSt‘(toUnifSp‘(metUnif‘𝐷))))) → 𝑐 ∈ (CauFilu‘(metUnif‘𝐷)))
2524adantlr 715 . . . . . . . 8 ((((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) ∧ 𝑐 ∈ (Fil‘(Base‘(toUnifSp‘(metUnif‘𝐷))))) ∧ 𝑐 ∈ (CauFilu‘(UnifSt‘(toUnifSp‘(metUnif‘𝐷))))) → 𝑐 ∈ (CauFilu‘(metUnif‘𝐷)))
26 cfilucfil2 24574 . . . . . . . . . 10 ((𝑋 ≠ ∅ ∧ 𝐷 ∈ (PsMet‘𝑋)) → (𝑐 ∈ (CauFilu‘(metUnif‘𝐷)) ↔ (𝑐 ∈ (fBas‘𝑋) ∧ ∀𝑥 ∈ ℝ+𝑦𝑐 (𝐷 “ (𝑦 × 𝑦)) ⊆ (0[,)𝑥))))
275, 26syl 17 . . . . . . . . 9 ((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) → (𝑐 ∈ (CauFilu‘(metUnif‘𝐷)) ↔ (𝑐 ∈ (fBas‘𝑋) ∧ ∀𝑥 ∈ ℝ+𝑦𝑐 (𝐷 “ (𝑦 × 𝑦)) ⊆ (0[,)𝑥))))
2827simplbda 499 . . . . . . . 8 (((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) ∧ 𝑐 ∈ (CauFilu‘(metUnif‘𝐷))) → ∀𝑥 ∈ ℝ+𝑦𝑐 (𝐷 “ (𝑦 × 𝑦)) ⊆ (0[,)𝑥))
2910, 25, 28syl2anc 584 . . . . . . 7 ((((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) ∧ 𝑐 ∈ (Fil‘(Base‘(toUnifSp‘(metUnif‘𝐷))))) ∧ 𝑐 ∈ (CauFilu‘(UnifSt‘(toUnifSp‘(metUnif‘𝐷))))) → ∀𝑥 ∈ ℝ+𝑦𝑐 (𝐷 “ (𝑦 × 𝑦)) ⊆ (0[,)𝑥))
30 iscfil 25299 . . . . . . . 8 (𝐷 ∈ (∞Met‘𝑋) → (𝑐 ∈ (CauFil‘𝐷) ↔ (𝑐 ∈ (Fil‘𝑋) ∧ ∀𝑥 ∈ ℝ+𝑦𝑐 (𝐷 “ (𝑦 × 𝑦)) ⊆ (0[,)𝑥))))
3130biimpar 477 . . . . . . 7 ((𝐷 ∈ (∞Met‘𝑋) ∧ (𝑐 ∈ (Fil‘𝑋) ∧ ∀𝑥 ∈ ℝ+𝑦𝑐 (𝐷 “ (𝑦 × 𝑦)) ⊆ (0[,)𝑥))) → 𝑐 ∈ (CauFil‘𝐷))
3213, 19, 29, 31syl12anc 837 . . . . . 6 ((((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) ∧ 𝑐 ∈ (Fil‘(Base‘(toUnifSp‘(metUnif‘𝐷))))) ∧ 𝑐 ∈ (CauFilu‘(UnifSt‘(toUnifSp‘(metUnif‘𝐷))))) → 𝑐 ∈ (CauFil‘𝐷))
33 eqid 2737 . . . . . . 7 (MetOpen‘𝐷) = (MetOpen‘𝐷)
3433cmetcvg 25319 . . . . . 6 ((𝐷 ∈ (CMet‘𝑋) ∧ 𝑐 ∈ (CauFil‘𝐷)) → ((MetOpen‘𝐷) fLim 𝑐) ≠ ∅)
3511, 32, 34syl2anc 584 . . . . 5 ((((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) ∧ 𝑐 ∈ (Fil‘(Base‘(toUnifSp‘(metUnif‘𝐷))))) ∧ 𝑐 ∈ (CauFilu‘(UnifSt‘(toUnifSp‘(metUnif‘𝐷))))) → ((MetOpen‘𝐷) fLim 𝑐) ≠ ∅)
36 eqid 2737 . . . . . . . . . . 11 (unifTop‘(metUnif‘𝐷)) = (unifTop‘(metUnif‘𝐷))
377, 36tustopn 24280 . . . . . . . . . 10 ((metUnif‘𝐷) ∈ (UnifOn‘𝑋) → (unifTop‘(metUnif‘𝐷)) = (TopOpen‘(toUnifSp‘(metUnif‘𝐷))))
385, 6, 373syl 18 . . . . . . . . 9 ((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) → (unifTop‘(metUnif‘𝐷)) = (TopOpen‘(toUnifSp‘(metUnif‘𝐷))))
3912anim2i 617 . . . . . . . . . 10 ((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) → (𝑋 ≠ ∅ ∧ 𝐷 ∈ (∞Met‘𝑋)))
40 xmetutop 24581 . . . . . . . . . 10 ((𝑋 ≠ ∅ ∧ 𝐷 ∈ (∞Met‘𝑋)) → (unifTop‘(metUnif‘𝐷)) = (MetOpen‘𝐷))
4139, 40syl 17 . . . . . . . . 9 ((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) → (unifTop‘(metUnif‘𝐷)) = (MetOpen‘𝐷))
4238, 41eqtr3d 2779 . . . . . . . 8 ((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) → (TopOpen‘(toUnifSp‘(metUnif‘𝐷))) = (MetOpen‘𝐷))
4342oveq1d 7446 . . . . . . 7 ((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) → ((TopOpen‘(toUnifSp‘(metUnif‘𝐷))) fLim 𝑐) = ((MetOpen‘𝐷) fLim 𝑐))
4443neeq1d 3000 . . . . . 6 ((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) → (((TopOpen‘(toUnifSp‘(metUnif‘𝐷))) fLim 𝑐) ≠ ∅ ↔ ((MetOpen‘𝐷) fLim 𝑐) ≠ ∅))
4544biimpar 477 . . . . 5 (((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) ∧ ((MetOpen‘𝐷) fLim 𝑐) ≠ ∅) → ((TopOpen‘(toUnifSp‘(metUnif‘𝐷))) fLim 𝑐) ≠ ∅)
4610, 35, 45syl2anc 584 . . . 4 ((((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) ∧ 𝑐 ∈ (Fil‘(Base‘(toUnifSp‘(metUnif‘𝐷))))) ∧ 𝑐 ∈ (CauFilu‘(UnifSt‘(toUnifSp‘(metUnif‘𝐷))))) → ((TopOpen‘(toUnifSp‘(metUnif‘𝐷))) fLim 𝑐) ≠ ∅)
4746ex 412 . . 3 (((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) ∧ 𝑐 ∈ (Fil‘(Base‘(toUnifSp‘(metUnif‘𝐷))))) → (𝑐 ∈ (CauFilu‘(UnifSt‘(toUnifSp‘(metUnif‘𝐷)))) → ((TopOpen‘(toUnifSp‘(metUnif‘𝐷))) fLim 𝑐) ≠ ∅))
4847ralrimiva 3146 . 2 ((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) → ∀𝑐 ∈ (Fil‘(Base‘(toUnifSp‘(metUnif‘𝐷))))(𝑐 ∈ (CauFilu‘(UnifSt‘(toUnifSp‘(metUnif‘𝐷)))) → ((TopOpen‘(toUnifSp‘(metUnif‘𝐷))) fLim 𝑐) ≠ ∅))
49 iscusp 24308 . 2 ((toUnifSp‘(metUnif‘𝐷)) ∈ CUnifSp ↔ ((toUnifSp‘(metUnif‘𝐷)) ∈ UnifSp ∧ ∀𝑐 ∈ (Fil‘(Base‘(toUnifSp‘(metUnif‘𝐷))))(𝑐 ∈ (CauFilu‘(UnifSt‘(toUnifSp‘(metUnif‘𝐷)))) → ((TopOpen‘(toUnifSp‘(metUnif‘𝐷))) fLim 𝑐) ≠ ∅)))
509, 48, 49sylanbrc 583 1 ((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) → (toUnifSp‘(metUnif‘𝐷)) ∈ CUnifSp)
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 206  wa 395   = wceq 1540  wcel 2108  wne 2940  wral 3061  wrex 3070  wss 3951  c0 4333   × cxp 5683  cima 5688  cfv 6561  (class class class)co 7431  0cc0 11155  +crp 13034  [,)cico 13389  Basecbs 17247  TopOpenctopn 17466  PsMetcpsmet 21348  ∞Metcxmet 21349  Metcmet 21350  fBascfbas 21352  MetOpencmopn 21354  metUnifcmetu 21355  Filcfil 23853   fLim cflim 23942  UnifOncust 24208  unifTopcutop 24239  UnifStcuss 24262  UnifSpcusp 24263  toUnifSpctus 24264  CauFiluccfilu 24295  CUnifSpccusp 24306  CauFilccfil 25286  CMetccmet 25288
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 2007  ax-8 2110  ax-9 2118  ax-10 2141  ax-11 2157  ax-12 2177  ax-ext 2708  ax-rep 5279  ax-sep 5296  ax-nul 5306  ax-pow 5365  ax-pr 5432  ax-un 7755  ax-cnex 11211  ax-resscn 11212  ax-1cn 11213  ax-icn 11214  ax-addcl 11215  ax-addrcl 11216  ax-mulcl 11217  ax-mulrcl 11218  ax-mulcom 11219  ax-addass 11220  ax-mulass 11221  ax-distr 11222  ax-i2m1 11223  ax-1ne0 11224  ax-1rid 11225  ax-rnegex 11226  ax-rrecex 11227  ax-cnre 11228  ax-pre-lttri 11229  ax-pre-lttrn 11230  ax-pre-ltadd 11231  ax-pre-mulgt0 11232  ax-pre-sup 11233
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 849  df-3or 1088  df-3an 1089  df-tru 1543  df-fal 1553  df-ex 1780  df-nf 1784  df-sb 2065  df-mo 2540  df-eu 2569  df-clab 2715  df-cleq 2729  df-clel 2816  df-nfc 2892  df-ne 2941  df-nel 3047  df-ral 3062  df-rex 3071  df-rmo 3380  df-reu 3381  df-rab 3437  df-v 3482  df-sbc 3789  df-csb 3900  df-dif 3954  df-un 3956  df-in 3958  df-ss 3968  df-pss 3971  df-nul 4334  df-if 4526  df-pw 4602  df-sn 4627  df-pr 4629  df-op 4633  df-uni 4908  df-iun 4993  df-br 5144  df-opab 5206  df-mpt 5226  df-tr 5260  df-id 5578  df-eprel 5584  df-po 5592  df-so 5593  df-fr 5637  df-we 5639  df-xp 5691  df-rel 5692  df-cnv 5693  df-co 5694  df-dm 5695  df-rn 5696  df-res 5697  df-ima 5698  df-pred 6321  df-ord 6387  df-on 6388  df-lim 6389  df-suc 6390  df-iota 6514  df-fun 6563  df-fn 6564  df-f 6565  df-f1 6566  df-fo 6567  df-f1o 6568  df-fv 6569  df-riota 7388  df-ov 7434  df-oprab 7435  df-mpo 7436  df-om 7888  df-1st 8014  df-2nd 8015  df-frecs 8306  df-wrecs 8337  df-recs 8411  df-rdg 8450  df-1o 8506  df-er 8745  df-map 8868  df-en 8986  df-dom 8987  df-sdom 8988  df-fin 8989  df-sup 9482  df-inf 9483  df-pnf 11297  df-mnf 11298  df-xr 11299  df-ltxr 11300  df-le 11301  df-sub 11494  df-neg 11495  df-div 11921  df-nn 12267  df-2 12329  df-3 12330  df-4 12331  df-5 12332  df-6 12333  df-7 12334  df-8 12335  df-9 12336  df-n0 12527  df-z 12614  df-dec 12734  df-uz 12879  df-q 12991  df-rp 13035  df-xneg 13154  df-xadd 13155  df-xmul 13156  df-ico 13393  df-fz 13548  df-struct 17184  df-sets 17201  df-slot 17219  df-ndx 17231  df-base 17248  df-tset 17316  df-unif 17320  df-rest 17467  df-topn 17468  df-topgen 17488  df-psmet 21356  df-xmet 21357  df-met 21358  df-bl 21359  df-mopn 21360  df-fbas 21361  df-fg 21362  df-metu 21363  df-fil 23854  df-ust 24209  df-utop 24240  df-uss 24265  df-usp 24266  df-tus 24267  df-cfilu 24296  df-cusp 24307  df-cfil 25289  df-cmet 25291
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator