Metamath Proof Explorer


Theorem neibl

Description: The neighborhoods around a point P of a metric space are those subsets containing a ball around P . Definition of neighborhood in Kreyszig p. 19. (Contributed by NM, 8-Nov-2007) (Revised by Mario Carneiro, 23-Dec-2013)

Ref Expression
Hypothesis mopni.1 𝐽 = ( MetOpen ‘ 𝐷 )
Assertion neibl ( ( 𝐷 ∈ ( ∞Met ‘ 𝑋 ) ∧ 𝑃𝑋 ) → ( 𝑁 ∈ ( ( nei ‘ 𝐽 ) ‘ { 𝑃 } ) ↔ ( 𝑁𝑋 ∧ ∃ 𝑟 ∈ ℝ+ ( 𝑃 ( ball ‘ 𝐷 ) 𝑟 ) ⊆ 𝑁 ) ) )

Proof

Step Hyp Ref Expression
1 mopni.1 𝐽 = ( MetOpen ‘ 𝐷 )
2 1 mopntop ( 𝐷 ∈ ( ∞Met ‘ 𝑋 ) → 𝐽 ∈ Top )
3 2 adantr ( ( 𝐷 ∈ ( ∞Met ‘ 𝑋 ) ∧ 𝑃𝑋 ) → 𝐽 ∈ Top )
4 1 mopnuni ( 𝐷 ∈ ( ∞Met ‘ 𝑋 ) → 𝑋 = 𝐽 )
5 4 eleq2d ( 𝐷 ∈ ( ∞Met ‘ 𝑋 ) → ( 𝑃𝑋𝑃 𝐽 ) )
6 5 biimpa ( ( 𝐷 ∈ ( ∞Met ‘ 𝑋 ) ∧ 𝑃𝑋 ) → 𝑃 𝐽 )
7 eqid 𝐽 = 𝐽
8 7 isneip ( ( 𝐽 ∈ Top ∧ 𝑃 𝐽 ) → ( 𝑁 ∈ ( ( nei ‘ 𝐽 ) ‘ { 𝑃 } ) ↔ ( 𝑁 𝐽 ∧ ∃ 𝑦𝐽 ( 𝑃𝑦𝑦𝑁 ) ) ) )
9 3 6 8 syl2anc ( ( 𝐷 ∈ ( ∞Met ‘ 𝑋 ) ∧ 𝑃𝑋 ) → ( 𝑁 ∈ ( ( nei ‘ 𝐽 ) ‘ { 𝑃 } ) ↔ ( 𝑁 𝐽 ∧ ∃ 𝑦𝐽 ( 𝑃𝑦𝑦𝑁 ) ) ) )
10 4 sseq2d ( 𝐷 ∈ ( ∞Met ‘ 𝑋 ) → ( 𝑁𝑋𝑁 𝐽 ) )
11 10 adantr ( ( 𝐷 ∈ ( ∞Met ‘ 𝑋 ) ∧ 𝑃𝑋 ) → ( 𝑁𝑋𝑁 𝐽 ) )
12 11 anbi1d ( ( 𝐷 ∈ ( ∞Met ‘ 𝑋 ) ∧ 𝑃𝑋 ) → ( ( 𝑁𝑋 ∧ ∃ 𝑦𝐽 ( 𝑃𝑦𝑦𝑁 ) ) ↔ ( 𝑁 𝐽 ∧ ∃ 𝑦𝐽 ( 𝑃𝑦𝑦𝑁 ) ) ) )
13 1 mopni2 ( ( 𝐷 ∈ ( ∞Met ‘ 𝑋 ) ∧ 𝑦𝐽𝑃𝑦 ) → ∃ 𝑟 ∈ ℝ+ ( 𝑃 ( ball ‘ 𝐷 ) 𝑟 ) ⊆ 𝑦 )
14 sstr2 ( ( 𝑃 ( ball ‘ 𝐷 ) 𝑟 ) ⊆ 𝑦 → ( 𝑦𝑁 → ( 𝑃 ( ball ‘ 𝐷 ) 𝑟 ) ⊆ 𝑁 ) )
15 14 com12 ( 𝑦𝑁 → ( ( 𝑃 ( ball ‘ 𝐷 ) 𝑟 ) ⊆ 𝑦 → ( 𝑃 ( ball ‘ 𝐷 ) 𝑟 ) ⊆ 𝑁 ) )
16 15 reximdv ( 𝑦𝑁 → ( ∃ 𝑟 ∈ ℝ+ ( 𝑃 ( ball ‘ 𝐷 ) 𝑟 ) ⊆ 𝑦 → ∃ 𝑟 ∈ ℝ+ ( 𝑃 ( ball ‘ 𝐷 ) 𝑟 ) ⊆ 𝑁 ) )
17 13 16 syl5com ( ( 𝐷 ∈ ( ∞Met ‘ 𝑋 ) ∧ 𝑦𝐽𝑃𝑦 ) → ( 𝑦𝑁 → ∃ 𝑟 ∈ ℝ+ ( 𝑃 ( ball ‘ 𝐷 ) 𝑟 ) ⊆ 𝑁 ) )
18 17 3exp ( 𝐷 ∈ ( ∞Met ‘ 𝑋 ) → ( 𝑦𝐽 → ( 𝑃𝑦 → ( 𝑦𝑁 → ∃ 𝑟 ∈ ℝ+ ( 𝑃 ( ball ‘ 𝐷 ) 𝑟 ) ⊆ 𝑁 ) ) ) )
19 18 imp4a ( 𝐷 ∈ ( ∞Met ‘ 𝑋 ) → ( 𝑦𝐽 → ( ( 𝑃𝑦𝑦𝑁 ) → ∃ 𝑟 ∈ ℝ+ ( 𝑃 ( ball ‘ 𝐷 ) 𝑟 ) ⊆ 𝑁 ) ) )
20 19 ad2antrr ( ( ( 𝐷 ∈ ( ∞Met ‘ 𝑋 ) ∧ 𝑃𝑋 ) ∧ 𝑁𝑋 ) → ( 𝑦𝐽 → ( ( 𝑃𝑦𝑦𝑁 ) → ∃ 𝑟 ∈ ℝ+ ( 𝑃 ( ball ‘ 𝐷 ) 𝑟 ) ⊆ 𝑁 ) ) )
21 20 rexlimdv ( ( ( 𝐷 ∈ ( ∞Met ‘ 𝑋 ) ∧ 𝑃𝑋 ) ∧ 𝑁𝑋 ) → ( ∃ 𝑦𝐽 ( 𝑃𝑦𝑦𝑁 ) → ∃ 𝑟 ∈ ℝ+ ( 𝑃 ( ball ‘ 𝐷 ) 𝑟 ) ⊆ 𝑁 ) )
22 rpxr ( 𝑟 ∈ ℝ+𝑟 ∈ ℝ* )
23 1 blopn ( ( 𝐷 ∈ ( ∞Met ‘ 𝑋 ) ∧ 𝑃𝑋𝑟 ∈ ℝ* ) → ( 𝑃 ( ball ‘ 𝐷 ) 𝑟 ) ∈ 𝐽 )
24 22 23 syl3an3 ( ( 𝐷 ∈ ( ∞Met ‘ 𝑋 ) ∧ 𝑃𝑋𝑟 ∈ ℝ+ ) → ( 𝑃 ( ball ‘ 𝐷 ) 𝑟 ) ∈ 𝐽 )
25 blcntr ( ( 𝐷 ∈ ( ∞Met ‘ 𝑋 ) ∧ 𝑃𝑋𝑟 ∈ ℝ+ ) → 𝑃 ∈ ( 𝑃 ( ball ‘ 𝐷 ) 𝑟 ) )
26 eleq2 ( 𝑦 = ( 𝑃 ( ball ‘ 𝐷 ) 𝑟 ) → ( 𝑃𝑦𝑃 ∈ ( 𝑃 ( ball ‘ 𝐷 ) 𝑟 ) ) )
27 sseq1 ( 𝑦 = ( 𝑃 ( ball ‘ 𝐷 ) 𝑟 ) → ( 𝑦𝑁 ↔ ( 𝑃 ( ball ‘ 𝐷 ) 𝑟 ) ⊆ 𝑁 ) )
28 26 27 anbi12d ( 𝑦 = ( 𝑃 ( ball ‘ 𝐷 ) 𝑟 ) → ( ( 𝑃𝑦𝑦𝑁 ) ↔ ( 𝑃 ∈ ( 𝑃 ( ball ‘ 𝐷 ) 𝑟 ) ∧ ( 𝑃 ( ball ‘ 𝐷 ) 𝑟 ) ⊆ 𝑁 ) ) )
29 28 rspcev ( ( ( 𝑃 ( ball ‘ 𝐷 ) 𝑟 ) ∈ 𝐽 ∧ ( 𝑃 ∈ ( 𝑃 ( ball ‘ 𝐷 ) 𝑟 ) ∧ ( 𝑃 ( ball ‘ 𝐷 ) 𝑟 ) ⊆ 𝑁 ) ) → ∃ 𝑦𝐽 ( 𝑃𝑦𝑦𝑁 ) )
30 29 expr ( ( ( 𝑃 ( ball ‘ 𝐷 ) 𝑟 ) ∈ 𝐽𝑃 ∈ ( 𝑃 ( ball ‘ 𝐷 ) 𝑟 ) ) → ( ( 𝑃 ( ball ‘ 𝐷 ) 𝑟 ) ⊆ 𝑁 → ∃ 𝑦𝐽 ( 𝑃𝑦𝑦𝑁 ) ) )
31 24 25 30 syl2anc ( ( 𝐷 ∈ ( ∞Met ‘ 𝑋 ) ∧ 𝑃𝑋𝑟 ∈ ℝ+ ) → ( ( 𝑃 ( ball ‘ 𝐷 ) 𝑟 ) ⊆ 𝑁 → ∃ 𝑦𝐽 ( 𝑃𝑦𝑦𝑁 ) ) )
32 31 3expia ( ( 𝐷 ∈ ( ∞Met ‘ 𝑋 ) ∧ 𝑃𝑋 ) → ( 𝑟 ∈ ℝ+ → ( ( 𝑃 ( ball ‘ 𝐷 ) 𝑟 ) ⊆ 𝑁 → ∃ 𝑦𝐽 ( 𝑃𝑦𝑦𝑁 ) ) ) )
33 32 rexlimdv ( ( 𝐷 ∈ ( ∞Met ‘ 𝑋 ) ∧ 𝑃𝑋 ) → ( ∃ 𝑟 ∈ ℝ+ ( 𝑃 ( ball ‘ 𝐷 ) 𝑟 ) ⊆ 𝑁 → ∃ 𝑦𝐽 ( 𝑃𝑦𝑦𝑁 ) ) )
34 33 adantr ( ( ( 𝐷 ∈ ( ∞Met ‘ 𝑋 ) ∧ 𝑃𝑋 ) ∧ 𝑁𝑋 ) → ( ∃ 𝑟 ∈ ℝ+ ( 𝑃 ( ball ‘ 𝐷 ) 𝑟 ) ⊆ 𝑁 → ∃ 𝑦𝐽 ( 𝑃𝑦𝑦𝑁 ) ) )
35 21 34 impbid ( ( ( 𝐷 ∈ ( ∞Met ‘ 𝑋 ) ∧ 𝑃𝑋 ) ∧ 𝑁𝑋 ) → ( ∃ 𝑦𝐽 ( 𝑃𝑦𝑦𝑁 ) ↔ ∃ 𝑟 ∈ ℝ+ ( 𝑃 ( ball ‘ 𝐷 ) 𝑟 ) ⊆ 𝑁 ) )
36 35 pm5.32da ( ( 𝐷 ∈ ( ∞Met ‘ 𝑋 ) ∧ 𝑃𝑋 ) → ( ( 𝑁𝑋 ∧ ∃ 𝑦𝐽 ( 𝑃𝑦𝑦𝑁 ) ) ↔ ( 𝑁𝑋 ∧ ∃ 𝑟 ∈ ℝ+ ( 𝑃 ( ball ‘ 𝐷 ) 𝑟 ) ⊆ 𝑁 ) ) )
37 9 12 36 3bitr2d ( ( 𝐷 ∈ ( ∞Met ‘ 𝑋 ) ∧ 𝑃𝑋 ) → ( 𝑁 ∈ ( ( nei ‘ 𝐽 ) ‘ { 𝑃 } ) ↔ ( 𝑁𝑋 ∧ ∃ 𝑟 ∈ ℝ+ ( 𝑃 ( ball ‘ 𝐷 ) 𝑟 ) ⊆ 𝑁 ) ) )