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

Theorem cmetcusp 25407
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 25339 . . . . 5 (𝐷 ∈ (CMet‘𝑋) → 𝐷 ∈ (Met‘𝑋))
2 metxmet 24365 . . . . 5 (𝐷 ∈ (Met‘𝑋) → 𝐷 ∈ (∞Met‘𝑋))
3 xmetpsmet 24379 . . . . 5 (𝐷 ∈ (∞Met‘𝑋) → 𝐷 ∈ (PsMet‘𝑋))
41, 2, 33syl 18 . . . 4 (𝐷 ∈ (CMet‘𝑋) → 𝐷 ∈ (PsMet‘𝑋))
54anim2i 616 . . 3 ((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) → (𝑋 ≠ ∅ ∧ 𝐷 ∈ (PsMet‘𝑋)))
6 metuust 24594 . . 3 ((𝑋 ≠ ∅ ∧ 𝐷 ∈ (PsMet‘𝑋)) → (metUnif‘𝐷) ∈ (UnifOn‘𝑋))
7 eqid 2740 . . . 4 (toUnifSp‘(metUnif‘𝐷)) = (toUnifSp‘(metUnif‘𝐷))
87tususp 24302 . . 3 ((metUnif‘𝐷) ∈ (UnifOn‘𝑋) → (toUnifSp‘(metUnif‘𝐷)) ∈ UnifSp)
95, 6, 83syl 18 . 2 ((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) → (toUnifSp‘(metUnif‘𝐷)) ∈ UnifSp)
10 simpll 766 . . . . 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 730 . . . . . . 7 ((((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) ∧ 𝑐 ∈ (Fil‘(Base‘(toUnifSp‘(metUnif‘𝐷))))) ∧ 𝑐 ∈ (CauFilu‘(UnifSt‘(toUnifSp‘(metUnif‘𝐷))))) → 𝐷 ∈ (∞Met‘𝑋))
147tusbas 24298 . . . . . . . . . . . 12 ((metUnif‘𝐷) ∈ (UnifOn‘𝑋) → 𝑋 = (Base‘(toUnifSp‘(metUnif‘𝐷))))
1514fveq2d 6924 . . . . . . . . . . 11 ((metUnif‘𝐷) ∈ (UnifOn‘𝑋) → (Fil‘𝑋) = (Fil‘(Base‘(toUnifSp‘(metUnif‘𝐷)))))
1615eleq2d 2830 . . . . . . . . . 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 24300 . . . . . . . . . . . . 13 ((metUnif‘𝐷) ∈ (UnifOn‘𝑋) → (metUnif‘𝐷) = (UnifSt‘(toUnifSp‘(metUnif‘𝐷))))
2120fveq2d 6924 . . . . . . . . . . . 12 ((metUnif‘𝐷) ∈ (UnifOn‘𝑋) → (CauFilu‘(metUnif‘𝐷)) = (CauFilu‘(UnifSt‘(toUnifSp‘(metUnif‘𝐷)))))
225, 6, 213syl 18 . . . . . . . . . . 11 ((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) → (CauFilu‘(metUnif‘𝐷)) = (CauFilu‘(UnifSt‘(toUnifSp‘(metUnif‘𝐷)))))
2322eleq2d 2830 . . . . . . . . . 10 ((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) → (𝑐 ∈ (CauFilu‘(metUnif‘𝐷)) ↔ 𝑐 ∈ (CauFilu‘(UnifSt‘(toUnifSp‘(metUnif‘𝐷))))))
2423biimpar 477 . . . . . . . . 9 (((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) ∧ 𝑐 ∈ (CauFilu‘(UnifSt‘(toUnifSp‘(metUnif‘𝐷))))) → 𝑐 ∈ (CauFilu‘(metUnif‘𝐷)))
2524adantlr 714 . . . . . . . 8 ((((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) ∧ 𝑐 ∈ (Fil‘(Base‘(toUnifSp‘(metUnif‘𝐷))))) ∧ 𝑐 ∈ (CauFilu‘(UnifSt‘(toUnifSp‘(metUnif‘𝐷))))) → 𝑐 ∈ (CauFilu‘(metUnif‘𝐷)))
26 cfilucfil2 24595 . . . . . . . . . 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 583 . . . . . . 7 ((((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) ∧ 𝑐 ∈ (Fil‘(Base‘(toUnifSp‘(metUnif‘𝐷))))) ∧ 𝑐 ∈ (CauFilu‘(UnifSt‘(toUnifSp‘(metUnif‘𝐷))))) → ∀𝑥 ∈ ℝ+𝑦𝑐 (𝐷 “ (𝑦 × 𝑦)) ⊆ (0[,)𝑥))
30 iscfil 25318 . . . . . . . 8 (𝐷 ∈ (∞Met‘𝑋) → (𝑐 ∈ (CauFil‘𝐷) ↔ (𝑐 ∈ (Fil‘𝑋) ∧ ∀𝑥 ∈ ℝ+𝑦𝑐 (𝐷 “ (𝑦 × 𝑦)) ⊆ (0[,)𝑥))))
3130biimpar 477 . . . . . . 7 ((𝐷 ∈ (∞Met‘𝑋) ∧ (𝑐 ∈ (Fil‘𝑋) ∧ ∀𝑥 ∈ ℝ+𝑦𝑐 (𝐷 “ (𝑦 × 𝑦)) ⊆ (0[,)𝑥))) → 𝑐 ∈ (CauFil‘𝐷))
3213, 19, 29, 31syl12anc 836 . . . . . 6 ((((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) ∧ 𝑐 ∈ (Fil‘(Base‘(toUnifSp‘(metUnif‘𝐷))))) ∧ 𝑐 ∈ (CauFilu‘(UnifSt‘(toUnifSp‘(metUnif‘𝐷))))) → 𝑐 ∈ (CauFil‘𝐷))
33 eqid 2740 . . . . . . 7 (MetOpen‘𝐷) = (MetOpen‘𝐷)
3433cmetcvg 25338 . . . . . 6 ((𝐷 ∈ (CMet‘𝑋) ∧ 𝑐 ∈ (CauFil‘𝐷)) → ((MetOpen‘𝐷) fLim 𝑐) ≠ ∅)
3511, 32, 34syl2anc 583 . . . . 5 ((((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) ∧ 𝑐 ∈ (Fil‘(Base‘(toUnifSp‘(metUnif‘𝐷))))) ∧ 𝑐 ∈ (CauFilu‘(UnifSt‘(toUnifSp‘(metUnif‘𝐷))))) → ((MetOpen‘𝐷) fLim 𝑐) ≠ ∅)
36 eqid 2740 . . . . . . . . . . 11 (unifTop‘(metUnif‘𝐷)) = (unifTop‘(metUnif‘𝐷))
377, 36tustopn 24301 . . . . . . . . . 10 ((metUnif‘𝐷) ∈ (UnifOn‘𝑋) → (unifTop‘(metUnif‘𝐷)) = (TopOpen‘(toUnifSp‘(metUnif‘𝐷))))
385, 6, 373syl 18 . . . . . . . . 9 ((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) → (unifTop‘(metUnif‘𝐷)) = (TopOpen‘(toUnifSp‘(metUnif‘𝐷))))
3912anim2i 616 . . . . . . . . . 10 ((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) → (𝑋 ≠ ∅ ∧ 𝐷 ∈ (∞Met‘𝑋)))
40 xmetutop 24602 . . . . . . . . . 10 ((𝑋 ≠ ∅ ∧ 𝐷 ∈ (∞Met‘𝑋)) → (unifTop‘(metUnif‘𝐷)) = (MetOpen‘𝐷))
4139, 40syl 17 . . . . . . . . 9 ((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) → (unifTop‘(metUnif‘𝐷)) = (MetOpen‘𝐷))
4238, 41eqtr3d 2782 . . . . . . . 8 ((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) → (TopOpen‘(toUnifSp‘(metUnif‘𝐷))) = (MetOpen‘𝐷))
4342oveq1d 7463 . . . . . . 7 ((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) → ((TopOpen‘(toUnifSp‘(metUnif‘𝐷))) fLim 𝑐) = ((MetOpen‘𝐷) fLim 𝑐))
4443neeq1d 3006 . . . . . 6 ((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) → (((TopOpen‘(toUnifSp‘(metUnif‘𝐷))) fLim 𝑐) ≠ ∅ ↔ ((MetOpen‘𝐷) fLim 𝑐) ≠ ∅))
4544biimpar 477 . . . . 5 (((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) ∧ ((MetOpen‘𝐷) fLim 𝑐) ≠ ∅) → ((TopOpen‘(toUnifSp‘(metUnif‘𝐷))) fLim 𝑐) ≠ ∅)
4610, 35, 45syl2anc 583 . . . 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 3152 . 2 ((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) → ∀𝑐 ∈ (Fil‘(Base‘(toUnifSp‘(metUnif‘𝐷))))(𝑐 ∈ (CauFilu‘(UnifSt‘(toUnifSp‘(metUnif‘𝐷)))) → ((TopOpen‘(toUnifSp‘(metUnif‘𝐷))) fLim 𝑐) ≠ ∅))
49 iscusp 24329 . 2 ((toUnifSp‘(metUnif‘𝐷)) ∈ CUnifSp ↔ ((toUnifSp‘(metUnif‘𝐷)) ∈ UnifSp ∧ ∀𝑐 ∈ (Fil‘(Base‘(toUnifSp‘(metUnif‘𝐷))))(𝑐 ∈ (CauFilu‘(UnifSt‘(toUnifSp‘(metUnif‘𝐷)))) → ((TopOpen‘(toUnifSp‘(metUnif‘𝐷))) fLim 𝑐) ≠ ∅)))
509, 48, 49sylanbrc 582 1 ((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) → (toUnifSp‘(metUnif‘𝐷)) ∈ CUnifSp)
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 206  wa 395   = wceq 1537  wcel 2108  wne 2946  wral 3067  wrex 3076  wss 3976  c0 4352   × cxp 5698  cima 5703  cfv 6573  (class class class)co 7448  0cc0 11184  +crp 13057  [,)cico 13409  Basecbs 17258  TopOpenctopn 17481  PsMetcpsmet 21371  ∞Metcxmet 21372  Metcmet 21373  fBascfbas 21375  MetOpencmopn 21377  metUnifcmetu 21378  Filcfil 23874   fLim cflim 23963  UnifOncust 24229  unifTopcutop 24260  UnifStcuss 24283  UnifSpcusp 24284  toUnifSpctus 24285  CauFiluccfilu 24316  CUnifSpccusp 24327  CauFilccfil 25305  CMetccmet 25307
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1793  ax-4 1807  ax-5 1909  ax-6 1967  ax-7 2007  ax-8 2110  ax-9 2118  ax-10 2141  ax-11 2158  ax-12 2178  ax-ext 2711  ax-rep 5303  ax-sep 5317  ax-nul 5324  ax-pow 5383  ax-pr 5447  ax-un 7770  ax-cnex 11240  ax-resscn 11241  ax-1cn 11242  ax-icn 11243  ax-addcl 11244  ax-addrcl 11245  ax-mulcl 11246  ax-mulrcl 11247  ax-mulcom 11248  ax-addass 11249  ax-mulass 11250  ax-distr 11251  ax-i2m1 11252  ax-1ne0 11253  ax-1rid 11254  ax-rnegex 11255  ax-rrecex 11256  ax-cnre 11257  ax-pre-lttri 11258  ax-pre-lttrn 11259  ax-pre-ltadd 11260  ax-pre-mulgt0 11261  ax-pre-sup 11262
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 847  df-3or 1088  df-3an 1089  df-tru 1540  df-fal 1550  df-ex 1778  df-nf 1782  df-sb 2065  df-mo 2543  df-eu 2572  df-clab 2718  df-cleq 2732  df-clel 2819  df-nfc 2895  df-ne 2947  df-nel 3053  df-ral 3068  df-rex 3077  df-rmo 3388  df-reu 3389  df-rab 3444  df-v 3490  df-sbc 3805  df-csb 3922  df-dif 3979  df-un 3981  df-in 3983  df-ss 3993  df-pss 3996  df-nul 4353  df-if 4549  df-pw 4624  df-sn 4649  df-pr 4651  df-op 4655  df-uni 4932  df-iun 5017  df-br 5167  df-opab 5229  df-mpt 5250  df-tr 5284  df-id 5593  df-eprel 5599  df-po 5607  df-so 5608  df-fr 5652  df-we 5654  df-xp 5706  df-rel 5707  df-cnv 5708  df-co 5709  df-dm 5710  df-rn 5711  df-res 5712  df-ima 5713  df-pred 6332  df-ord 6398  df-on 6399  df-lim 6400  df-suc 6401  df-iota 6525  df-fun 6575  df-fn 6576  df-f 6577  df-f1 6578  df-fo 6579  df-f1o 6580  df-fv 6581  df-riota 7404  df-ov 7451  df-oprab 7452  df-mpo 7453  df-om 7904  df-1st 8030  df-2nd 8031  df-frecs 8322  df-wrecs 8353  df-recs 8427  df-rdg 8466  df-1o 8522  df-er 8763  df-map 8886  df-en 9004  df-dom 9005  df-sdom 9006  df-fin 9007  df-sup 9511  df-inf 9512  df-pnf 11326  df-mnf 11327  df-xr 11328  df-ltxr 11329  df-le 11330  df-sub 11522  df-neg 11523  df-div 11948  df-nn 12294  df-2 12356  df-3 12357  df-4 12358  df-5 12359  df-6 12360  df-7 12361  df-8 12362  df-9 12363  df-n0 12554  df-z 12640  df-dec 12759  df-uz 12904  df-q 13014  df-rp 13058  df-xneg 13175  df-xadd 13176  df-xmul 13177  df-ico 13413  df-fz 13568  df-struct 17194  df-sets 17211  df-slot 17229  df-ndx 17241  df-base 17259  df-tset 17330  df-unif 17334  df-rest 17482  df-topn 17483  df-topgen 17503  df-psmet 21379  df-xmet 21380  df-met 21381  df-bl 21382  df-mopn 21383  df-fbas 21384  df-fg 21385  df-metu 21386  df-fil 23875  df-ust 24230  df-utop 24261  df-uss 24286  df-usp 24287  df-tus 24288  df-cfilu 24317  df-cusp 24328  df-cfil 25308  df-cmet 25310
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator