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

Theorem cmetcusp 25302
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 25234 . . . . 5 (𝐷 ∈ (CMet‘𝑋) → 𝐷 ∈ (Met‘𝑋))
2 metxmet 24260 . . . . 5 (𝐷 ∈ (Met‘𝑋) → 𝐷 ∈ (∞Met‘𝑋))
3 xmetpsmet 24274 . . . . 5 (𝐷 ∈ (∞Met‘𝑋) → 𝐷 ∈ (PsMet‘𝑋))
41, 2, 33syl 18 . . . 4 (𝐷 ∈ (CMet‘𝑋) → 𝐷 ∈ (PsMet‘𝑋))
54anim2i 615 . . 3 ((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) → (𝑋 ≠ ∅ ∧ 𝐷 ∈ (PsMet‘𝑋)))
6 metuust 24489 . . 3 ((𝑋 ≠ ∅ ∧ 𝐷 ∈ (PsMet‘𝑋)) → (metUnif‘𝐷) ∈ (UnifOn‘𝑋))
7 eqid 2728 . . . 4 (toUnifSp‘(metUnif‘𝐷)) = (toUnifSp‘(metUnif‘𝐷))
87tususp 24197 . . 3 ((metUnif‘𝐷) ∈ (UnifOn‘𝑋) → (toUnifSp‘(metUnif‘𝐷)) ∈ UnifSp)
95, 6, 83syl 18 . 2 ((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) → (toUnifSp‘(metUnif‘𝐷)) ∈ UnifSp)
10 simpll 765 . . . . 5 ((((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) ∧ 𝑐 ∈ (Fil‘(Base‘(toUnifSp‘(metUnif‘𝐷))))) ∧ 𝑐 ∈ (CauFilu‘(UnifSt‘(toUnifSp‘(metUnif‘𝐷))))) → (𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)))
1110simprd 494 . . . . . 6 ((((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) ∧ 𝑐 ∈ (Fil‘(Base‘(toUnifSp‘(metUnif‘𝐷))))) ∧ 𝑐 ∈ (CauFilu‘(UnifSt‘(toUnifSp‘(metUnif‘𝐷))))) → 𝐷 ∈ (CMet‘𝑋))
121, 2syl 17 . . . . . . . 8 (𝐷 ∈ (CMet‘𝑋) → 𝐷 ∈ (∞Met‘𝑋))
1312ad3antlr 729 . . . . . . 7 ((((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) ∧ 𝑐 ∈ (Fil‘(Base‘(toUnifSp‘(metUnif‘𝐷))))) ∧ 𝑐 ∈ (CauFilu‘(UnifSt‘(toUnifSp‘(metUnif‘𝐷))))) → 𝐷 ∈ (∞Met‘𝑋))
147tusbas 24193 . . . . . . . . . . . 12 ((metUnif‘𝐷) ∈ (UnifOn‘𝑋) → 𝑋 = (Base‘(toUnifSp‘(metUnif‘𝐷))))
1514fveq2d 6906 . . . . . . . . . . 11 ((metUnif‘𝐷) ∈ (UnifOn‘𝑋) → (Fil‘𝑋) = (Fil‘(Base‘(toUnifSp‘(metUnif‘𝐷)))))
1615eleq2d 2815 . . . . . . . . . 10 ((metUnif‘𝐷) ∈ (UnifOn‘𝑋) → (𝑐 ∈ (Fil‘𝑋) ↔ 𝑐 ∈ (Fil‘(Base‘(toUnifSp‘(metUnif‘𝐷))))))
175, 6, 163syl 18 . . . . . . . . 9 ((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) → (𝑐 ∈ (Fil‘𝑋) ↔ 𝑐 ∈ (Fil‘(Base‘(toUnifSp‘(metUnif‘𝐷))))))
1817biimpar 476 . . . . . . . 8 (((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) ∧ 𝑐 ∈ (Fil‘(Base‘(toUnifSp‘(metUnif‘𝐷))))) → 𝑐 ∈ (Fil‘𝑋))
1918adantr 479 . . . . . . 7 ((((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) ∧ 𝑐 ∈ (Fil‘(Base‘(toUnifSp‘(metUnif‘𝐷))))) ∧ 𝑐 ∈ (CauFilu‘(UnifSt‘(toUnifSp‘(metUnif‘𝐷))))) → 𝑐 ∈ (Fil‘𝑋))
207tususs 24195 . . . . . . . . . . . . 13 ((metUnif‘𝐷) ∈ (UnifOn‘𝑋) → (metUnif‘𝐷) = (UnifSt‘(toUnifSp‘(metUnif‘𝐷))))
2120fveq2d 6906 . . . . . . . . . . . 12 ((metUnif‘𝐷) ∈ (UnifOn‘𝑋) → (CauFilu‘(metUnif‘𝐷)) = (CauFilu‘(UnifSt‘(toUnifSp‘(metUnif‘𝐷)))))
225, 6, 213syl 18 . . . . . . . . . . 11 ((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) → (CauFilu‘(metUnif‘𝐷)) = (CauFilu‘(UnifSt‘(toUnifSp‘(metUnif‘𝐷)))))
2322eleq2d 2815 . . . . . . . . . 10 ((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) → (𝑐 ∈ (CauFilu‘(metUnif‘𝐷)) ↔ 𝑐 ∈ (CauFilu‘(UnifSt‘(toUnifSp‘(metUnif‘𝐷))))))
2423biimpar 476 . . . . . . . . 9 (((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) ∧ 𝑐 ∈ (CauFilu‘(UnifSt‘(toUnifSp‘(metUnif‘𝐷))))) → 𝑐 ∈ (CauFilu‘(metUnif‘𝐷)))
2524adantlr 713 . . . . . . . 8 ((((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) ∧ 𝑐 ∈ (Fil‘(Base‘(toUnifSp‘(metUnif‘𝐷))))) ∧ 𝑐 ∈ (CauFilu‘(UnifSt‘(toUnifSp‘(metUnif‘𝐷))))) → 𝑐 ∈ (CauFilu‘(metUnif‘𝐷)))
26 cfilucfil2 24490 . . . . . . . . . 10 ((𝑋 ≠ ∅ ∧ 𝐷 ∈ (PsMet‘𝑋)) → (𝑐 ∈ (CauFilu‘(metUnif‘𝐷)) ↔ (𝑐 ∈ (fBas‘𝑋) ∧ ∀𝑥 ∈ ℝ+𝑦𝑐 (𝐷 “ (𝑦 × 𝑦)) ⊆ (0[,)𝑥))))
275, 26syl 17 . . . . . . . . 9 ((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) → (𝑐 ∈ (CauFilu‘(metUnif‘𝐷)) ↔ (𝑐 ∈ (fBas‘𝑋) ∧ ∀𝑥 ∈ ℝ+𝑦𝑐 (𝐷 “ (𝑦 × 𝑦)) ⊆ (0[,)𝑥))))
2827simplbda 498 . . . . . . . 8 (((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) ∧ 𝑐 ∈ (CauFilu‘(metUnif‘𝐷))) → ∀𝑥 ∈ ℝ+𝑦𝑐 (𝐷 “ (𝑦 × 𝑦)) ⊆ (0[,)𝑥))
2910, 25, 28syl2anc 582 . . . . . . 7 ((((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) ∧ 𝑐 ∈ (Fil‘(Base‘(toUnifSp‘(metUnif‘𝐷))))) ∧ 𝑐 ∈ (CauFilu‘(UnifSt‘(toUnifSp‘(metUnif‘𝐷))))) → ∀𝑥 ∈ ℝ+𝑦𝑐 (𝐷 “ (𝑦 × 𝑦)) ⊆ (0[,)𝑥))
30 iscfil 25213 . . . . . . . 8 (𝐷 ∈ (∞Met‘𝑋) → (𝑐 ∈ (CauFil‘𝐷) ↔ (𝑐 ∈ (Fil‘𝑋) ∧ ∀𝑥 ∈ ℝ+𝑦𝑐 (𝐷 “ (𝑦 × 𝑦)) ⊆ (0[,)𝑥))))
3130biimpar 476 . . . . . . 7 ((𝐷 ∈ (∞Met‘𝑋) ∧ (𝑐 ∈ (Fil‘𝑋) ∧ ∀𝑥 ∈ ℝ+𝑦𝑐 (𝐷 “ (𝑦 × 𝑦)) ⊆ (0[,)𝑥))) → 𝑐 ∈ (CauFil‘𝐷))
3213, 19, 29, 31syl12anc 835 . . . . . 6 ((((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) ∧ 𝑐 ∈ (Fil‘(Base‘(toUnifSp‘(metUnif‘𝐷))))) ∧ 𝑐 ∈ (CauFilu‘(UnifSt‘(toUnifSp‘(metUnif‘𝐷))))) → 𝑐 ∈ (CauFil‘𝐷))
33 eqid 2728 . . . . . . 7 (MetOpen‘𝐷) = (MetOpen‘𝐷)
3433cmetcvg 25233 . . . . . 6 ((𝐷 ∈ (CMet‘𝑋) ∧ 𝑐 ∈ (CauFil‘𝐷)) → ((MetOpen‘𝐷) fLim 𝑐) ≠ ∅)
3511, 32, 34syl2anc 582 . . . . 5 ((((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) ∧ 𝑐 ∈ (Fil‘(Base‘(toUnifSp‘(metUnif‘𝐷))))) ∧ 𝑐 ∈ (CauFilu‘(UnifSt‘(toUnifSp‘(metUnif‘𝐷))))) → ((MetOpen‘𝐷) fLim 𝑐) ≠ ∅)
36 eqid 2728 . . . . . . . . . . 11 (unifTop‘(metUnif‘𝐷)) = (unifTop‘(metUnif‘𝐷))
377, 36tustopn 24196 . . . . . . . . . 10 ((metUnif‘𝐷) ∈ (UnifOn‘𝑋) → (unifTop‘(metUnif‘𝐷)) = (TopOpen‘(toUnifSp‘(metUnif‘𝐷))))
385, 6, 373syl 18 . . . . . . . . 9 ((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) → (unifTop‘(metUnif‘𝐷)) = (TopOpen‘(toUnifSp‘(metUnif‘𝐷))))
3912anim2i 615 . . . . . . . . . 10 ((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) → (𝑋 ≠ ∅ ∧ 𝐷 ∈ (∞Met‘𝑋)))
40 xmetutop 24497 . . . . . . . . . 10 ((𝑋 ≠ ∅ ∧ 𝐷 ∈ (∞Met‘𝑋)) → (unifTop‘(metUnif‘𝐷)) = (MetOpen‘𝐷))
4139, 40syl 17 . . . . . . . . 9 ((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) → (unifTop‘(metUnif‘𝐷)) = (MetOpen‘𝐷))
4238, 41eqtr3d 2770 . . . . . . . 8 ((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) → (TopOpen‘(toUnifSp‘(metUnif‘𝐷))) = (MetOpen‘𝐷))
4342oveq1d 7441 . . . . . . 7 ((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) → ((TopOpen‘(toUnifSp‘(metUnif‘𝐷))) fLim 𝑐) = ((MetOpen‘𝐷) fLim 𝑐))
4443neeq1d 2997 . . . . . 6 ((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) → (((TopOpen‘(toUnifSp‘(metUnif‘𝐷))) fLim 𝑐) ≠ ∅ ↔ ((MetOpen‘𝐷) fLim 𝑐) ≠ ∅))
4544biimpar 476 . . . . 5 (((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) ∧ ((MetOpen‘𝐷) fLim 𝑐) ≠ ∅) → ((TopOpen‘(toUnifSp‘(metUnif‘𝐷))) fLim 𝑐) ≠ ∅)
4610, 35, 45syl2anc 582 . . . 4 ((((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) ∧ 𝑐 ∈ (Fil‘(Base‘(toUnifSp‘(metUnif‘𝐷))))) ∧ 𝑐 ∈ (CauFilu‘(UnifSt‘(toUnifSp‘(metUnif‘𝐷))))) → ((TopOpen‘(toUnifSp‘(metUnif‘𝐷))) fLim 𝑐) ≠ ∅)
4746ex 411 . . 3 (((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) ∧ 𝑐 ∈ (Fil‘(Base‘(toUnifSp‘(metUnif‘𝐷))))) → (𝑐 ∈ (CauFilu‘(UnifSt‘(toUnifSp‘(metUnif‘𝐷)))) → ((TopOpen‘(toUnifSp‘(metUnif‘𝐷))) fLim 𝑐) ≠ ∅))
4847ralrimiva 3143 . 2 ((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) → ∀𝑐 ∈ (Fil‘(Base‘(toUnifSp‘(metUnif‘𝐷))))(𝑐 ∈ (CauFilu‘(UnifSt‘(toUnifSp‘(metUnif‘𝐷)))) → ((TopOpen‘(toUnifSp‘(metUnif‘𝐷))) fLim 𝑐) ≠ ∅))
49 iscusp 24224 . 2 ((toUnifSp‘(metUnif‘𝐷)) ∈ CUnifSp ↔ ((toUnifSp‘(metUnif‘𝐷)) ∈ UnifSp ∧ ∀𝑐 ∈ (Fil‘(Base‘(toUnifSp‘(metUnif‘𝐷))))(𝑐 ∈ (CauFilu‘(UnifSt‘(toUnifSp‘(metUnif‘𝐷)))) → ((TopOpen‘(toUnifSp‘(metUnif‘𝐷))) fLim 𝑐) ≠ ∅)))
509, 48, 49sylanbrc 581 1 ((𝑋 ≠ ∅ ∧ 𝐷 ∈ (CMet‘𝑋)) → (toUnifSp‘(metUnif‘𝐷)) ∈ CUnifSp)
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 205  wa 394   = wceq 1533  wcel 2098  wne 2937  wral 3058  wrex 3067  wss 3949  c0 4326   × cxp 5680  cima 5685  cfv 6553  (class class class)co 7426  0cc0 11146  +crp 13014  [,)cico 13366  Basecbs 17187  TopOpenctopn 17410  PsMetcpsmet 21270  ∞Metcxmet 21271  Metcmet 21272  fBascfbas 21274  MetOpencmopn 21276  metUnifcmetu 21277  Filcfil 23769   fLim cflim 23858  UnifOncust 24124  unifTopcutop 24155  UnifStcuss 24178  UnifSpcusp 24179  toUnifSpctus 24180  CauFiluccfilu 24211  CUnifSpccusp 24222  CauFilccfil 25200  CMetccmet 25202
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1789  ax-4 1803  ax-5 1905  ax-6 1963  ax-7 2003  ax-8 2100  ax-9 2108  ax-10 2129  ax-11 2146  ax-12 2166  ax-ext 2699  ax-rep 5289  ax-sep 5303  ax-nul 5310  ax-pow 5369  ax-pr 5433  ax-un 7746  ax-cnex 11202  ax-resscn 11203  ax-1cn 11204  ax-icn 11205  ax-addcl 11206  ax-addrcl 11207  ax-mulcl 11208  ax-mulrcl 11209  ax-mulcom 11210  ax-addass 11211  ax-mulass 11212  ax-distr 11213  ax-i2m1 11214  ax-1ne0 11215  ax-1rid 11216  ax-rnegex 11217  ax-rrecex 11218  ax-cnre 11219  ax-pre-lttri 11220  ax-pre-lttrn 11221  ax-pre-ltadd 11222  ax-pre-mulgt0 11223  ax-pre-sup 11224
This theorem depends on definitions:  df-bi 206  df-an 395  df-or 846  df-3or 1085  df-3an 1086  df-tru 1536  df-fal 1546  df-ex 1774  df-nf 1778  df-sb 2060  df-mo 2529  df-eu 2558  df-clab 2706  df-cleq 2720  df-clel 2806  df-nfc 2881  df-ne 2938  df-nel 3044  df-ral 3059  df-rex 3068  df-rmo 3374  df-reu 3375  df-rab 3431  df-v 3475  df-sbc 3779  df-csb 3895  df-dif 3952  df-un 3954  df-in 3956  df-ss 3966  df-pss 3968  df-nul 4327  df-if 4533  df-pw 4608  df-sn 4633  df-pr 4635  df-op 4639  df-uni 4913  df-iun 5002  df-br 5153  df-opab 5215  df-mpt 5236  df-tr 5270  df-id 5580  df-eprel 5586  df-po 5594  df-so 5595  df-fr 5637  df-we 5639  df-xp 5688  df-rel 5689  df-cnv 5690  df-co 5691  df-dm 5692  df-rn 5693  df-res 5694  df-ima 5695  df-pred 6310  df-ord 6377  df-on 6378  df-lim 6379  df-suc 6380  df-iota 6505  df-fun 6555  df-fn 6556  df-f 6557  df-f1 6558  df-fo 6559  df-f1o 6560  df-fv 6561  df-riota 7382  df-ov 7429  df-oprab 7430  df-mpo 7431  df-om 7877  df-1st 7999  df-2nd 8000  df-frecs 8293  df-wrecs 8324  df-recs 8398  df-rdg 8437  df-1o 8493  df-er 8731  df-map 8853  df-en 8971  df-dom 8972  df-sdom 8973  df-fin 8974  df-sup 9473  df-inf 9474  df-pnf 11288  df-mnf 11289  df-xr 11290  df-ltxr 11291  df-le 11292  df-sub 11484  df-neg 11485  df-div 11910  df-nn 12251  df-2 12313  df-3 12314  df-4 12315  df-5 12316  df-6 12317  df-7 12318  df-8 12319  df-9 12320  df-n0 12511  df-z 12597  df-dec 12716  df-uz 12861  df-q 12971  df-rp 13015  df-xneg 13132  df-xadd 13133  df-xmul 13134  df-ico 13370  df-fz 13525  df-struct 17123  df-sets 17140  df-slot 17158  df-ndx 17170  df-base 17188  df-tset 17259  df-unif 17263  df-rest 17411  df-topn 17412  df-topgen 17432  df-psmet 21278  df-xmet 21279  df-met 21280  df-bl 21281  df-mopn 21282  df-fbas 21283  df-fg 21284  df-metu 21285  df-fil 23770  df-ust 24125  df-utop 24156  df-uss 24181  df-usp 24182  df-tus 24183  df-cfilu 24212  df-cusp 24223  df-cfil 25203  df-cmet 25205
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator