Metamath Proof Explorer


Theorem neips

Description: A neighborhood of a set is a neighborhood of every point in the set. Proposition 1 of BourbakiTop1 p. I.2. (Contributed by FL, 16-Nov-2006)

Ref Expression
Hypothesis neips.1 𝑋 = 𝐽
Assertion neips ( ( 𝐽 ∈ Top ∧ 𝑆𝑋𝑆 ≠ ∅ ) → ( 𝑁 ∈ ( ( nei ‘ 𝐽 ) ‘ 𝑆 ) ↔ ∀ 𝑝𝑆 𝑁 ∈ ( ( nei ‘ 𝐽 ) ‘ { 𝑝 } ) ) )

Proof

Step Hyp Ref Expression
1 neips.1 𝑋 = 𝐽
2 snssi ( 𝑝𝑆 → { 𝑝 } ⊆ 𝑆 )
3 neiss ( ( 𝐽 ∈ Top ∧ 𝑁 ∈ ( ( nei ‘ 𝐽 ) ‘ 𝑆 ) ∧ { 𝑝 } ⊆ 𝑆 ) → 𝑁 ∈ ( ( nei ‘ 𝐽 ) ‘ { 𝑝 } ) )
4 2 3 syl3an3 ( ( 𝐽 ∈ Top ∧ 𝑁 ∈ ( ( nei ‘ 𝐽 ) ‘ 𝑆 ) ∧ 𝑝𝑆 ) → 𝑁 ∈ ( ( nei ‘ 𝐽 ) ‘ { 𝑝 } ) )
5 4 3exp ( 𝐽 ∈ Top → ( 𝑁 ∈ ( ( nei ‘ 𝐽 ) ‘ 𝑆 ) → ( 𝑝𝑆𝑁 ∈ ( ( nei ‘ 𝐽 ) ‘ { 𝑝 } ) ) ) )
6 5 ralrimdv ( 𝐽 ∈ Top → ( 𝑁 ∈ ( ( nei ‘ 𝐽 ) ‘ 𝑆 ) → ∀ 𝑝𝑆 𝑁 ∈ ( ( nei ‘ 𝐽 ) ‘ { 𝑝 } ) ) )
7 6 3ad2ant1 ( ( 𝐽 ∈ Top ∧ 𝑆𝑋𝑆 ≠ ∅ ) → ( 𝑁 ∈ ( ( nei ‘ 𝐽 ) ‘ 𝑆 ) → ∀ 𝑝𝑆 𝑁 ∈ ( ( nei ‘ 𝐽 ) ‘ { 𝑝 } ) ) )
8 r19.28zv ( 𝑆 ≠ ∅ → ( ∀ 𝑝𝑆 ( 𝑁𝑋 ∧ ∃ 𝑔𝐽 ( 𝑝𝑔𝑔𝑁 ) ) ↔ ( 𝑁𝑋 ∧ ∀ 𝑝𝑆𝑔𝐽 ( 𝑝𝑔𝑔𝑁 ) ) ) )
9 8 3ad2ant3 ( ( 𝐽 ∈ Top ∧ 𝑆𝑋𝑆 ≠ ∅ ) → ( ∀ 𝑝𝑆 ( 𝑁𝑋 ∧ ∃ 𝑔𝐽 ( 𝑝𝑔𝑔𝑁 ) ) ↔ ( 𝑁𝑋 ∧ ∀ 𝑝𝑆𝑔𝐽 ( 𝑝𝑔𝑔𝑁 ) ) ) )
10 ssrab2 { 𝑣𝐽𝑣𝑁 } ⊆ 𝐽
11 uniopn ( ( 𝐽 ∈ Top ∧ { 𝑣𝐽𝑣𝑁 } ⊆ 𝐽 ) → { 𝑣𝐽𝑣𝑁 } ∈ 𝐽 )
12 10 11 mpan2 ( 𝐽 ∈ Top → { 𝑣𝐽𝑣𝑁 } ∈ 𝐽 )
13 12 ad2antrr ( ( ( 𝐽 ∈ Top ∧ 𝑆𝑋 ) ∧ ∀ 𝑝𝑆𝑔𝐽 ( 𝑝𝑔𝑔𝑁 ) ) → { 𝑣𝐽𝑣𝑁 } ∈ 𝐽 )
14 sseq1 ( 𝑣 = 𝑔 → ( 𝑣𝑁𝑔𝑁 ) )
15 14 elrab ( 𝑔 ∈ { 𝑣𝐽𝑣𝑁 } ↔ ( 𝑔𝐽𝑔𝑁 ) )
16 elunii ( ( 𝑝𝑔𝑔 ∈ { 𝑣𝐽𝑣𝑁 } ) → 𝑝 { 𝑣𝐽𝑣𝑁 } )
17 15 16 sylan2br ( ( 𝑝𝑔 ∧ ( 𝑔𝐽𝑔𝑁 ) ) → 𝑝 { 𝑣𝐽𝑣𝑁 } )
18 17 an12s ( ( 𝑔𝐽 ∧ ( 𝑝𝑔𝑔𝑁 ) ) → 𝑝 { 𝑣𝐽𝑣𝑁 } )
19 18 rexlimiva ( ∃ 𝑔𝐽 ( 𝑝𝑔𝑔𝑁 ) → 𝑝 { 𝑣𝐽𝑣𝑁 } )
20 19 ralimi ( ∀ 𝑝𝑆𝑔𝐽 ( 𝑝𝑔𝑔𝑁 ) → ∀ 𝑝𝑆 𝑝 { 𝑣𝐽𝑣𝑁 } )
21 dfss3 ( 𝑆 { 𝑣𝐽𝑣𝑁 } ↔ ∀ 𝑝𝑆 𝑝 { 𝑣𝐽𝑣𝑁 } )
22 20 21 sylibr ( ∀ 𝑝𝑆𝑔𝐽 ( 𝑝𝑔𝑔𝑁 ) → 𝑆 { 𝑣𝐽𝑣𝑁 } )
23 22 adantl ( ( ( 𝐽 ∈ Top ∧ 𝑆𝑋 ) ∧ ∀ 𝑝𝑆𝑔𝐽 ( 𝑝𝑔𝑔𝑁 ) ) → 𝑆 { 𝑣𝐽𝑣𝑁 } )
24 unissb ( { 𝑣𝐽𝑣𝑁 } ⊆ 𝑁 ↔ ∀ ∈ { 𝑣𝐽𝑣𝑁 } 𝑁 )
25 sseq1 ( 𝑣 = → ( 𝑣𝑁𝑁 ) )
26 25 elrab ( ∈ { 𝑣𝐽𝑣𝑁 } ↔ ( 𝐽𝑁 ) )
27 26 simprbi ( ∈ { 𝑣𝐽𝑣𝑁 } → 𝑁 )
28 24 27 mprgbir { 𝑣𝐽𝑣𝑁 } ⊆ 𝑁
29 23 28 jctir ( ( ( 𝐽 ∈ Top ∧ 𝑆𝑋 ) ∧ ∀ 𝑝𝑆𝑔𝐽 ( 𝑝𝑔𝑔𝑁 ) ) → ( 𝑆 { 𝑣𝐽𝑣𝑁 } ∧ { 𝑣𝐽𝑣𝑁 } ⊆ 𝑁 ) )
30 sseq2 ( = { 𝑣𝐽𝑣𝑁 } → ( 𝑆𝑆 { 𝑣𝐽𝑣𝑁 } ) )
31 sseq1 ( = { 𝑣𝐽𝑣𝑁 } → ( 𝑁 { 𝑣𝐽𝑣𝑁 } ⊆ 𝑁 ) )
32 30 31 anbi12d ( = { 𝑣𝐽𝑣𝑁 } → ( ( 𝑆𝑁 ) ↔ ( 𝑆 { 𝑣𝐽𝑣𝑁 } ∧ { 𝑣𝐽𝑣𝑁 } ⊆ 𝑁 ) ) )
33 32 rspcev ( ( { 𝑣𝐽𝑣𝑁 } ∈ 𝐽 ∧ ( 𝑆 { 𝑣𝐽𝑣𝑁 } ∧ { 𝑣𝐽𝑣𝑁 } ⊆ 𝑁 ) ) → ∃ 𝐽 ( 𝑆𝑁 ) )
34 13 29 33 syl2anc ( ( ( 𝐽 ∈ Top ∧ 𝑆𝑋 ) ∧ ∀ 𝑝𝑆𝑔𝐽 ( 𝑝𝑔𝑔𝑁 ) ) → ∃ 𝐽 ( 𝑆𝑁 ) )
35 34 ex ( ( 𝐽 ∈ Top ∧ 𝑆𝑋 ) → ( ∀ 𝑝𝑆𝑔𝐽 ( 𝑝𝑔𝑔𝑁 ) → ∃ 𝐽 ( 𝑆𝑁 ) ) )
36 35 anim2d ( ( 𝐽 ∈ Top ∧ 𝑆𝑋 ) → ( ( 𝑁𝑋 ∧ ∀ 𝑝𝑆𝑔𝐽 ( 𝑝𝑔𝑔𝑁 ) ) → ( 𝑁𝑋 ∧ ∃ 𝐽 ( 𝑆𝑁 ) ) ) )
37 36 3adant3 ( ( 𝐽 ∈ Top ∧ 𝑆𝑋𝑆 ≠ ∅ ) → ( ( 𝑁𝑋 ∧ ∀ 𝑝𝑆𝑔𝐽 ( 𝑝𝑔𝑔𝑁 ) ) → ( 𝑁𝑋 ∧ ∃ 𝐽 ( 𝑆𝑁 ) ) ) )
38 9 37 sylbid ( ( 𝐽 ∈ Top ∧ 𝑆𝑋𝑆 ≠ ∅ ) → ( ∀ 𝑝𝑆 ( 𝑁𝑋 ∧ ∃ 𝑔𝐽 ( 𝑝𝑔𝑔𝑁 ) ) → ( 𝑁𝑋 ∧ ∃ 𝐽 ( 𝑆𝑁 ) ) ) )
39 ssel2 ( ( 𝑆𝑋𝑝𝑆 ) → 𝑝𝑋 )
40 1 isneip ( ( 𝐽 ∈ Top ∧ 𝑝𝑋 ) → ( 𝑁 ∈ ( ( nei ‘ 𝐽 ) ‘ { 𝑝 } ) ↔ ( 𝑁𝑋 ∧ ∃ 𝑔𝐽 ( 𝑝𝑔𝑔𝑁 ) ) ) )
41 39 40 sylan2 ( ( 𝐽 ∈ Top ∧ ( 𝑆𝑋𝑝𝑆 ) ) → ( 𝑁 ∈ ( ( nei ‘ 𝐽 ) ‘ { 𝑝 } ) ↔ ( 𝑁𝑋 ∧ ∃ 𝑔𝐽 ( 𝑝𝑔𝑔𝑁 ) ) ) )
42 41 anassrs ( ( ( 𝐽 ∈ Top ∧ 𝑆𝑋 ) ∧ 𝑝𝑆 ) → ( 𝑁 ∈ ( ( nei ‘ 𝐽 ) ‘ { 𝑝 } ) ↔ ( 𝑁𝑋 ∧ ∃ 𝑔𝐽 ( 𝑝𝑔𝑔𝑁 ) ) ) )
43 42 ralbidva ( ( 𝐽 ∈ Top ∧ 𝑆𝑋 ) → ( ∀ 𝑝𝑆 𝑁 ∈ ( ( nei ‘ 𝐽 ) ‘ { 𝑝 } ) ↔ ∀ 𝑝𝑆 ( 𝑁𝑋 ∧ ∃ 𝑔𝐽 ( 𝑝𝑔𝑔𝑁 ) ) ) )
44 43 3adant3 ( ( 𝐽 ∈ Top ∧ 𝑆𝑋𝑆 ≠ ∅ ) → ( ∀ 𝑝𝑆 𝑁 ∈ ( ( nei ‘ 𝐽 ) ‘ { 𝑝 } ) ↔ ∀ 𝑝𝑆 ( 𝑁𝑋 ∧ ∃ 𝑔𝐽 ( 𝑝𝑔𝑔𝑁 ) ) ) )
45 1 isnei ( ( 𝐽 ∈ Top ∧ 𝑆𝑋 ) → ( 𝑁 ∈ ( ( nei ‘ 𝐽 ) ‘ 𝑆 ) ↔ ( 𝑁𝑋 ∧ ∃ 𝐽 ( 𝑆𝑁 ) ) ) )
46 45 3adant3 ( ( 𝐽 ∈ Top ∧ 𝑆𝑋𝑆 ≠ ∅ ) → ( 𝑁 ∈ ( ( nei ‘ 𝐽 ) ‘ 𝑆 ) ↔ ( 𝑁𝑋 ∧ ∃ 𝐽 ( 𝑆𝑁 ) ) ) )
47 38 44 46 3imtr4d ( ( 𝐽 ∈ Top ∧ 𝑆𝑋𝑆 ≠ ∅ ) → ( ∀ 𝑝𝑆 𝑁 ∈ ( ( nei ‘ 𝐽 ) ‘ { 𝑝 } ) → 𝑁 ∈ ( ( nei ‘ 𝐽 ) ‘ 𝑆 ) ) )
48 7 47 impbid ( ( 𝐽 ∈ Top ∧ 𝑆𝑋𝑆 ≠ ∅ ) → ( 𝑁 ∈ ( ( nei ‘ 𝐽 ) ‘ 𝑆 ) ↔ ∀ 𝑝𝑆 𝑁 ∈ ( ( nei ‘ 𝐽 ) ‘ { 𝑝 } ) ) )