Metamath Proof Explorer


Theorem cmetcusp

Description: The uniform space generated by a complete metric is a complete uniform space. (Contributed by Thierry Arnoux, 5-Dec-2017)

Ref Expression
Assertion cmetcusp ( ( 𝑋 β‰  βˆ… ∧ 𝐷 ∈ ( CMet β€˜ 𝑋 ) ) β†’ ( toUnifSp β€˜ ( metUnif β€˜ 𝐷 ) ) ∈ CUnifSp )

Proof

Step Hyp Ref Expression
1 cmetmet ⊒ ( 𝐷 ∈ ( CMet β€˜ 𝑋 ) β†’ 𝐷 ∈ ( Met β€˜ 𝑋 ) )
2 metxmet ⊒ ( 𝐷 ∈ ( Met β€˜ 𝑋 ) β†’ 𝐷 ∈ ( ∞Met β€˜ 𝑋 ) )
3 xmetpsmet ⊒ ( 𝐷 ∈ ( ∞Met β€˜ 𝑋 ) β†’ 𝐷 ∈ ( PsMet β€˜ 𝑋 ) )
4 1 2 3 3syl ⊒ ( 𝐷 ∈ ( CMet β€˜ 𝑋 ) β†’ 𝐷 ∈ ( PsMet β€˜ 𝑋 ) )
5 4 anim2i ⊒ ( ( 𝑋 β‰  βˆ… ∧ 𝐷 ∈ ( CMet β€˜ 𝑋 ) ) β†’ ( 𝑋 β‰  βˆ… ∧ 𝐷 ∈ ( PsMet β€˜ 𝑋 ) ) )
6 metuust ⊒ ( ( 𝑋 β‰  βˆ… ∧ 𝐷 ∈ ( PsMet β€˜ 𝑋 ) ) β†’ ( metUnif β€˜ 𝐷 ) ∈ ( UnifOn β€˜ 𝑋 ) )
7 eqid ⊒ ( toUnifSp β€˜ ( metUnif β€˜ 𝐷 ) ) = ( toUnifSp β€˜ ( metUnif β€˜ 𝐷 ) )
8 7 tususp ⊒ ( ( metUnif β€˜ 𝐷 ) ∈ ( UnifOn β€˜ 𝑋 ) β†’ ( toUnifSp β€˜ ( metUnif β€˜ 𝐷 ) ) ∈ UnifSp )
9 5 6 8 3syl ⊒ ( ( 𝑋 β‰  βˆ… ∧ 𝐷 ∈ ( CMet β€˜ 𝑋 ) ) β†’ ( toUnifSp β€˜ ( metUnif β€˜ 𝐷 ) ) ∈ UnifSp )
10 simpll ⊒ ( ( ( ( 𝑋 β‰  βˆ… ∧ 𝐷 ∈ ( CMet β€˜ 𝑋 ) ) ∧ 𝑐 ∈ ( Fil β€˜ ( Base β€˜ ( toUnifSp β€˜ ( metUnif β€˜ 𝐷 ) ) ) ) ) ∧ 𝑐 ∈ ( CauFilu β€˜ ( UnifSt β€˜ ( toUnifSp β€˜ ( metUnif β€˜ 𝐷 ) ) ) ) ) β†’ ( 𝑋 β‰  βˆ… ∧ 𝐷 ∈ ( CMet β€˜ 𝑋 ) ) )
11 10 simprd ⊒ ( ( ( ( 𝑋 β‰  βˆ… ∧ 𝐷 ∈ ( CMet β€˜ 𝑋 ) ) ∧ 𝑐 ∈ ( Fil β€˜ ( Base β€˜ ( toUnifSp β€˜ ( metUnif β€˜ 𝐷 ) ) ) ) ) ∧ 𝑐 ∈ ( CauFilu β€˜ ( UnifSt β€˜ ( toUnifSp β€˜ ( metUnif β€˜ 𝐷 ) ) ) ) ) β†’ 𝐷 ∈ ( CMet β€˜ 𝑋 ) )
12 1 2 syl ⊒ ( 𝐷 ∈ ( CMet β€˜ 𝑋 ) β†’ 𝐷 ∈ ( ∞Met β€˜ 𝑋 ) )
13 12 ad3antlr ⊒ ( ( ( ( 𝑋 β‰  βˆ… ∧ 𝐷 ∈ ( CMet β€˜ 𝑋 ) ) ∧ 𝑐 ∈ ( Fil β€˜ ( Base β€˜ ( toUnifSp β€˜ ( metUnif β€˜ 𝐷 ) ) ) ) ) ∧ 𝑐 ∈ ( CauFilu β€˜ ( UnifSt β€˜ ( toUnifSp β€˜ ( metUnif β€˜ 𝐷 ) ) ) ) ) β†’ 𝐷 ∈ ( ∞Met β€˜ 𝑋 ) )
14 7 tusbas ⊒ ( ( metUnif β€˜ 𝐷 ) ∈ ( UnifOn β€˜ 𝑋 ) β†’ 𝑋 = ( Base β€˜ ( toUnifSp β€˜ ( metUnif β€˜ 𝐷 ) ) ) )
15 14 fveq2d ⊒ ( ( metUnif β€˜ 𝐷 ) ∈ ( UnifOn β€˜ 𝑋 ) β†’ ( Fil β€˜ 𝑋 ) = ( Fil β€˜ ( Base β€˜ ( toUnifSp β€˜ ( metUnif β€˜ 𝐷 ) ) ) ) )
16 15 eleq2d ⊒ ( ( metUnif β€˜ 𝐷 ) ∈ ( UnifOn β€˜ 𝑋 ) β†’ ( 𝑐 ∈ ( Fil β€˜ 𝑋 ) ↔ 𝑐 ∈ ( Fil β€˜ ( Base β€˜ ( toUnifSp β€˜ ( metUnif β€˜ 𝐷 ) ) ) ) ) )
17 5 6 16 3syl ⊒ ( ( 𝑋 β‰  βˆ… ∧ 𝐷 ∈ ( CMet β€˜ 𝑋 ) ) β†’ ( 𝑐 ∈ ( Fil β€˜ 𝑋 ) ↔ 𝑐 ∈ ( Fil β€˜ ( Base β€˜ ( toUnifSp β€˜ ( metUnif β€˜ 𝐷 ) ) ) ) ) )
18 17 biimpar ⊒ ( ( ( 𝑋 β‰  βˆ… ∧ 𝐷 ∈ ( CMet β€˜ 𝑋 ) ) ∧ 𝑐 ∈ ( Fil β€˜ ( Base β€˜ ( toUnifSp β€˜ ( metUnif β€˜ 𝐷 ) ) ) ) ) β†’ 𝑐 ∈ ( Fil β€˜ 𝑋 ) )
19 18 adantr ⊒ ( ( ( ( 𝑋 β‰  βˆ… ∧ 𝐷 ∈ ( CMet β€˜ 𝑋 ) ) ∧ 𝑐 ∈ ( Fil β€˜ ( Base β€˜ ( toUnifSp β€˜ ( metUnif β€˜ 𝐷 ) ) ) ) ) ∧ 𝑐 ∈ ( CauFilu β€˜ ( UnifSt β€˜ ( toUnifSp β€˜ ( metUnif β€˜ 𝐷 ) ) ) ) ) β†’ 𝑐 ∈ ( Fil β€˜ 𝑋 ) )
20 7 tususs ⊒ ( ( metUnif β€˜ 𝐷 ) ∈ ( UnifOn β€˜ 𝑋 ) β†’ ( metUnif β€˜ 𝐷 ) = ( UnifSt β€˜ ( toUnifSp β€˜ ( metUnif β€˜ 𝐷 ) ) ) )
21 20 fveq2d ⊒ ( ( metUnif β€˜ 𝐷 ) ∈ ( UnifOn β€˜ 𝑋 ) β†’ ( CauFilu β€˜ ( metUnif β€˜ 𝐷 ) ) = ( CauFilu β€˜ ( UnifSt β€˜ ( toUnifSp β€˜ ( metUnif β€˜ 𝐷 ) ) ) ) )
22 5 6 21 3syl ⊒ ( ( 𝑋 β‰  βˆ… ∧ 𝐷 ∈ ( CMet β€˜ 𝑋 ) ) β†’ ( CauFilu β€˜ ( metUnif β€˜ 𝐷 ) ) = ( CauFilu β€˜ ( UnifSt β€˜ ( toUnifSp β€˜ ( metUnif β€˜ 𝐷 ) ) ) ) )
23 22 eleq2d ⊒ ( ( 𝑋 β‰  βˆ… ∧ 𝐷 ∈ ( CMet β€˜ 𝑋 ) ) β†’ ( 𝑐 ∈ ( CauFilu β€˜ ( metUnif β€˜ 𝐷 ) ) ↔ 𝑐 ∈ ( CauFilu β€˜ ( UnifSt β€˜ ( toUnifSp β€˜ ( metUnif β€˜ 𝐷 ) ) ) ) ) )
24 23 biimpar ⊒ ( ( ( 𝑋 β‰  βˆ… ∧ 𝐷 ∈ ( CMet β€˜ 𝑋 ) ) ∧ 𝑐 ∈ ( CauFilu β€˜ ( UnifSt β€˜ ( toUnifSp β€˜ ( metUnif β€˜ 𝐷 ) ) ) ) ) β†’ 𝑐 ∈ ( CauFilu β€˜ ( metUnif β€˜ 𝐷 ) ) )
25 24 adantlr ⊒ ( ( ( ( 𝑋 β‰  βˆ… ∧ 𝐷 ∈ ( CMet β€˜ 𝑋 ) ) ∧ 𝑐 ∈ ( Fil β€˜ ( Base β€˜ ( toUnifSp β€˜ ( metUnif β€˜ 𝐷 ) ) ) ) ) ∧ 𝑐 ∈ ( CauFilu β€˜ ( UnifSt β€˜ ( toUnifSp β€˜ ( metUnif β€˜ 𝐷 ) ) ) ) ) β†’ 𝑐 ∈ ( CauFilu β€˜ ( metUnif β€˜ 𝐷 ) ) )
26 cfilucfil2 ⊒ ( ( 𝑋 β‰  βˆ… ∧ 𝐷 ∈ ( PsMet β€˜ 𝑋 ) ) β†’ ( 𝑐 ∈ ( CauFilu β€˜ ( metUnif β€˜ 𝐷 ) ) ↔ ( 𝑐 ∈ ( fBas β€˜ 𝑋 ) ∧ βˆ€ π‘₯ ∈ ℝ+ βˆƒ 𝑦 ∈ 𝑐 ( 𝐷 β€œ ( 𝑦 Γ— 𝑦 ) ) βŠ† ( 0 [,) π‘₯ ) ) ) )
27 5 26 syl ⊒ ( ( 𝑋 β‰  βˆ… ∧ 𝐷 ∈ ( CMet β€˜ 𝑋 ) ) β†’ ( 𝑐 ∈ ( CauFilu β€˜ ( metUnif β€˜ 𝐷 ) ) ↔ ( 𝑐 ∈ ( fBas β€˜ 𝑋 ) ∧ βˆ€ π‘₯ ∈ ℝ+ βˆƒ 𝑦 ∈ 𝑐 ( 𝐷 β€œ ( 𝑦 Γ— 𝑦 ) ) βŠ† ( 0 [,) π‘₯ ) ) ) )
28 27 simplbda ⊒ ( ( ( 𝑋 β‰  βˆ… ∧ 𝐷 ∈ ( CMet β€˜ 𝑋 ) ) ∧ 𝑐 ∈ ( CauFilu β€˜ ( metUnif β€˜ 𝐷 ) ) ) β†’ βˆ€ π‘₯ ∈ ℝ+ βˆƒ 𝑦 ∈ 𝑐 ( 𝐷 β€œ ( 𝑦 Γ— 𝑦 ) ) βŠ† ( 0 [,) π‘₯ ) )
29 10 25 28 syl2anc ⊒ ( ( ( ( 𝑋 β‰  βˆ… ∧ 𝐷 ∈ ( CMet β€˜ 𝑋 ) ) ∧ 𝑐 ∈ ( Fil β€˜ ( Base β€˜ ( toUnifSp β€˜ ( metUnif β€˜ 𝐷 ) ) ) ) ) ∧ 𝑐 ∈ ( CauFilu β€˜ ( UnifSt β€˜ ( toUnifSp β€˜ ( metUnif β€˜ 𝐷 ) ) ) ) ) β†’ βˆ€ π‘₯ ∈ ℝ+ βˆƒ 𝑦 ∈ 𝑐 ( 𝐷 β€œ ( 𝑦 Γ— 𝑦 ) ) βŠ† ( 0 [,) π‘₯ ) )
30 iscfil ⊒ ( 𝐷 ∈ ( ∞Met β€˜ 𝑋 ) β†’ ( 𝑐 ∈ ( CauFil β€˜ 𝐷 ) ↔ ( 𝑐 ∈ ( Fil β€˜ 𝑋 ) ∧ βˆ€ π‘₯ ∈ ℝ+ βˆƒ 𝑦 ∈ 𝑐 ( 𝐷 β€œ ( 𝑦 Γ— 𝑦 ) ) βŠ† ( 0 [,) π‘₯ ) ) ) )
31 30 biimpar ⊒ ( ( 𝐷 ∈ ( ∞Met β€˜ 𝑋 ) ∧ ( 𝑐 ∈ ( Fil β€˜ 𝑋 ) ∧ βˆ€ π‘₯ ∈ ℝ+ βˆƒ 𝑦 ∈ 𝑐 ( 𝐷 β€œ ( 𝑦 Γ— 𝑦 ) ) βŠ† ( 0 [,) π‘₯ ) ) ) β†’ 𝑐 ∈ ( CauFil β€˜ 𝐷 ) )
32 13 19 29 31 syl12anc ⊒ ( ( ( ( 𝑋 β‰  βˆ… ∧ 𝐷 ∈ ( CMet β€˜ 𝑋 ) ) ∧ 𝑐 ∈ ( Fil β€˜ ( Base β€˜ ( toUnifSp β€˜ ( metUnif β€˜ 𝐷 ) ) ) ) ) ∧ 𝑐 ∈ ( CauFilu β€˜ ( UnifSt β€˜ ( toUnifSp β€˜ ( metUnif β€˜ 𝐷 ) ) ) ) ) β†’ 𝑐 ∈ ( CauFil β€˜ 𝐷 ) )
33 eqid ⊒ ( MetOpen β€˜ 𝐷 ) = ( MetOpen β€˜ 𝐷 )
34 33 cmetcvg ⊒ ( ( 𝐷 ∈ ( CMet β€˜ 𝑋 ) ∧ 𝑐 ∈ ( CauFil β€˜ 𝐷 ) ) β†’ ( ( MetOpen β€˜ 𝐷 ) fLim 𝑐 ) β‰  βˆ… )
35 11 32 34 syl2anc ⊒ ( ( ( ( 𝑋 β‰  βˆ… ∧ 𝐷 ∈ ( CMet β€˜ 𝑋 ) ) ∧ 𝑐 ∈ ( Fil β€˜ ( Base β€˜ ( toUnifSp β€˜ ( metUnif β€˜ 𝐷 ) ) ) ) ) ∧ 𝑐 ∈ ( CauFilu β€˜ ( UnifSt β€˜ ( toUnifSp β€˜ ( metUnif β€˜ 𝐷 ) ) ) ) ) β†’ ( ( MetOpen β€˜ 𝐷 ) fLim 𝑐 ) β‰  βˆ… )
36 eqid ⊒ ( unifTop β€˜ ( metUnif β€˜ 𝐷 ) ) = ( unifTop β€˜ ( metUnif β€˜ 𝐷 ) )
37 7 36 tustopn ⊒ ( ( metUnif β€˜ 𝐷 ) ∈ ( UnifOn β€˜ 𝑋 ) β†’ ( unifTop β€˜ ( metUnif β€˜ 𝐷 ) ) = ( TopOpen β€˜ ( toUnifSp β€˜ ( metUnif β€˜ 𝐷 ) ) ) )
38 5 6 37 3syl ⊒ ( ( 𝑋 β‰  βˆ… ∧ 𝐷 ∈ ( CMet β€˜ 𝑋 ) ) β†’ ( unifTop β€˜ ( metUnif β€˜ 𝐷 ) ) = ( TopOpen β€˜ ( toUnifSp β€˜ ( metUnif β€˜ 𝐷 ) ) ) )
39 12 anim2i ⊒ ( ( 𝑋 β‰  βˆ… ∧ 𝐷 ∈ ( CMet β€˜ 𝑋 ) ) β†’ ( 𝑋 β‰  βˆ… ∧ 𝐷 ∈ ( ∞Met β€˜ 𝑋 ) ) )
40 xmetutop ⊒ ( ( 𝑋 β‰  βˆ… ∧ 𝐷 ∈ ( ∞Met β€˜ 𝑋 ) ) β†’ ( unifTop β€˜ ( metUnif β€˜ 𝐷 ) ) = ( MetOpen β€˜ 𝐷 ) )
41 39 40 syl ⊒ ( ( 𝑋 β‰  βˆ… ∧ 𝐷 ∈ ( CMet β€˜ 𝑋 ) ) β†’ ( unifTop β€˜ ( metUnif β€˜ 𝐷 ) ) = ( MetOpen β€˜ 𝐷 ) )
42 38 41 eqtr3d ⊒ ( ( 𝑋 β‰  βˆ… ∧ 𝐷 ∈ ( CMet β€˜ 𝑋 ) ) β†’ ( TopOpen β€˜ ( toUnifSp β€˜ ( metUnif β€˜ 𝐷 ) ) ) = ( MetOpen β€˜ 𝐷 ) )
43 42 oveq1d ⊒ ( ( 𝑋 β‰  βˆ… ∧ 𝐷 ∈ ( CMet β€˜ 𝑋 ) ) β†’ ( ( TopOpen β€˜ ( toUnifSp β€˜ ( metUnif β€˜ 𝐷 ) ) ) fLim 𝑐 ) = ( ( MetOpen β€˜ 𝐷 ) fLim 𝑐 ) )
44 43 neeq1d ⊒ ( ( 𝑋 β‰  βˆ… ∧ 𝐷 ∈ ( CMet β€˜ 𝑋 ) ) β†’ ( ( ( TopOpen β€˜ ( toUnifSp β€˜ ( metUnif β€˜ 𝐷 ) ) ) fLim 𝑐 ) β‰  βˆ… ↔ ( ( MetOpen β€˜ 𝐷 ) fLim 𝑐 ) β‰  βˆ… ) )
45 44 biimpar ⊒ ( ( ( 𝑋 β‰  βˆ… ∧ 𝐷 ∈ ( CMet β€˜ 𝑋 ) ) ∧ ( ( MetOpen β€˜ 𝐷 ) fLim 𝑐 ) β‰  βˆ… ) β†’ ( ( TopOpen β€˜ ( toUnifSp β€˜ ( metUnif β€˜ 𝐷 ) ) ) fLim 𝑐 ) β‰  βˆ… )
46 10 35 45 syl2anc ⊒ ( ( ( ( 𝑋 β‰  βˆ… ∧ 𝐷 ∈ ( CMet β€˜ 𝑋 ) ) ∧ 𝑐 ∈ ( Fil β€˜ ( Base β€˜ ( toUnifSp β€˜ ( metUnif β€˜ 𝐷 ) ) ) ) ) ∧ 𝑐 ∈ ( CauFilu β€˜ ( UnifSt β€˜ ( toUnifSp β€˜ ( metUnif β€˜ 𝐷 ) ) ) ) ) β†’ ( ( TopOpen β€˜ ( toUnifSp β€˜ ( metUnif β€˜ 𝐷 ) ) ) fLim 𝑐 ) β‰  βˆ… )
47 46 ex ⊒ ( ( ( 𝑋 β‰  βˆ… ∧ 𝐷 ∈ ( CMet β€˜ 𝑋 ) ) ∧ 𝑐 ∈ ( Fil β€˜ ( Base β€˜ ( toUnifSp β€˜ ( metUnif β€˜ 𝐷 ) ) ) ) ) β†’ ( 𝑐 ∈ ( CauFilu β€˜ ( UnifSt β€˜ ( toUnifSp β€˜ ( metUnif β€˜ 𝐷 ) ) ) ) β†’ ( ( TopOpen β€˜ ( toUnifSp β€˜ ( metUnif β€˜ 𝐷 ) ) ) fLim 𝑐 ) β‰  βˆ… ) )
48 47 ralrimiva ⊒ ( ( 𝑋 β‰  βˆ… ∧ 𝐷 ∈ ( CMet β€˜ 𝑋 ) ) β†’ βˆ€ 𝑐 ∈ ( Fil β€˜ ( Base β€˜ ( toUnifSp β€˜ ( metUnif β€˜ 𝐷 ) ) ) ) ( 𝑐 ∈ ( CauFilu β€˜ ( UnifSt β€˜ ( toUnifSp β€˜ ( metUnif β€˜ 𝐷 ) ) ) ) β†’ ( ( TopOpen β€˜ ( toUnifSp β€˜ ( metUnif β€˜ 𝐷 ) ) ) fLim 𝑐 ) β‰  βˆ… ) )
49 iscusp ⊒ ( ( toUnifSp β€˜ ( metUnif β€˜ 𝐷 ) ) ∈ CUnifSp ↔ ( ( toUnifSp β€˜ ( metUnif β€˜ 𝐷 ) ) ∈ UnifSp ∧ βˆ€ 𝑐 ∈ ( Fil β€˜ ( Base β€˜ ( toUnifSp β€˜ ( metUnif β€˜ 𝐷 ) ) ) ) ( 𝑐 ∈ ( CauFilu β€˜ ( UnifSt β€˜ ( toUnifSp β€˜ ( metUnif β€˜ 𝐷 ) ) ) ) β†’ ( ( TopOpen β€˜ ( toUnifSp β€˜ ( metUnif β€˜ 𝐷 ) ) ) fLim 𝑐 ) β‰  βˆ… ) ) )
50 9 48 49 sylanbrc ⊒ ( ( 𝑋 β‰  βˆ… ∧ 𝐷 ∈ ( CMet β€˜ 𝑋 ) ) β†’ ( toUnifSp β€˜ ( metUnif β€˜ 𝐷 ) ) ∈ CUnifSp )