Metamath Proof Explorer


Theorem opnnei

Description: A set is open iff it is a neighborhood of all of its points. (Contributed by Jeff Hankins, 15-Sep-2009)

Ref Expression
Assertion opnnei ( 𝐽 ∈ Top → ( 𝑆 ∈ 𝐽 ↔ ∀ 𝑥 ∈ 𝑆 𝑆 ∈ ( ( nei ‘ 𝐽 ) ‘ { 𝑥 } ) ) )

Proof

Step Hyp Ref Expression
1 0opn ⊢ ( 𝐽 ∈ Top → ∅ ∈ 𝐽 )
2 1 adantr ⊢ ( ( 𝐽 ∈ Top ∧ 𝑆 = ∅ ) → ∅ ∈ 𝐽 )
3 eleq1 ⊢ ( 𝑆 = ∅ → ( 𝑆 ∈ 𝐽 ↔ ∅ ∈ 𝐽 ) )
4 3 adantl ⊢ ( ( 𝐽 ∈ Top ∧ 𝑆 = ∅ ) → ( 𝑆 ∈ 𝐽 ↔ ∅ ∈ 𝐽 ) )
5 2 4 mpbird ⊢ ( ( 𝐽 ∈ Top ∧ 𝑆 = ∅ ) → 𝑆 ∈ 𝐽 )
6 rzal ⊢ ( 𝑆 = ∅ → ∀ 𝑥 ∈ 𝑆 𝑆 ∈ ( ( nei ‘ 𝐽 ) ‘ { 𝑥 } ) )
7 6 adantl ⊢ ( ( 𝐽 ∈ Top ∧ 𝑆 = ∅ ) → ∀ 𝑥 ∈ 𝑆 𝑆 ∈ ( ( nei ‘ 𝐽 ) ‘ { 𝑥 } ) )
8 5 7 2thd ⊢ ( ( 𝐽 ∈ Top ∧ 𝑆 = ∅ ) → ( 𝑆 ∈ 𝐽 ↔ ∀ 𝑥 ∈ 𝑆 𝑆 ∈ ( ( nei ‘ 𝐽 ) ‘ { 𝑥 } ) ) )
9 opnneip ⊢ ( ( 𝐽 ∈ Top ∧ 𝑆 ∈ 𝐽 ∧ 𝑥 ∈ 𝑆 ) → 𝑆 ∈ ( ( nei ‘ 𝐽 ) ‘ { 𝑥 } ) )
10 9 3expia ⊢ ( ( 𝐽 ∈ Top ∧ 𝑆 ∈ 𝐽 ) → ( 𝑥 ∈ 𝑆 → 𝑆 ∈ ( ( nei ‘ 𝐽 ) ‘ { 𝑥 } ) ) )
11 10 ralrimiv ⊢ ( ( 𝐽 ∈ Top ∧ 𝑆 ∈ 𝐽 ) → ∀ 𝑥 ∈ 𝑆 𝑆 ∈ ( ( nei ‘ 𝐽 ) ‘ { 𝑥 } ) )
12 11 ex ⊢ ( 𝐽 ∈ Top → ( 𝑆 ∈ 𝐽 → ∀ 𝑥 ∈ 𝑆 𝑆 ∈ ( ( nei ‘ 𝐽 ) ‘ { 𝑥 } ) ) )
13 12 adantr ⊢ ( ( 𝐽 ∈ Top ∧ ¬ 𝑆 = ∅ ) → ( 𝑆 ∈ 𝐽 → ∀ 𝑥 ∈ 𝑆 𝑆 ∈ ( ( nei ‘ 𝐽 ) ‘ { 𝑥 } ) ) )
14 df-ne ⊢ ( 𝑆 ≠ ∅ ↔ ¬ 𝑆 = ∅ )
15 r19.2z ⊢ ( ( 𝑆 ≠ ∅ ∧ ∀ 𝑥 ∈ 𝑆 𝑆 ∈ ( ( nei ‘ 𝐽 ) ‘ { 𝑥 } ) ) → ∃ 𝑥 ∈ 𝑆 𝑆 ∈ ( ( nei ‘ 𝐽 ) ‘ { 𝑥 } ) )
16 15 ex ⊢ ( 𝑆 ≠ ∅ → ( ∀ 𝑥 ∈ 𝑆 𝑆 ∈ ( ( nei ‘ 𝐽 ) ‘ { 𝑥 } ) → ∃ 𝑥 ∈ 𝑆 𝑆 ∈ ( ( nei ‘ 𝐽 ) ‘ { 𝑥 } ) ) )
17 14 16 sylbir ⊢ ( ¬ 𝑆 = ∅ → ( ∀ 𝑥 ∈ 𝑆 𝑆 ∈ ( ( nei ‘ 𝐽 ) ‘ { 𝑥 } ) → ∃ 𝑥 ∈ 𝑆 𝑆 ∈ ( ( nei ‘ 𝐽 ) ‘ { 𝑥 } ) ) )
18 eqid ⊢ ∪ 𝐽 = ∪ 𝐽
19 18 neii1 ⊢ ( ( 𝐽 ∈ Top ∧ 𝑆 ∈ ( ( nei ‘ 𝐽 ) ‘ { 𝑥 } ) ) → 𝑆 ⊆ ∪ 𝐽 )
20 19 ex ⊢ ( 𝐽 ∈ Top → ( 𝑆 ∈ ( ( nei ‘ 𝐽 ) ‘ { 𝑥 } ) → 𝑆 ⊆ ∪ 𝐽 ) )
21 20 rexlimdvw ⊢ ( 𝐽 ∈ Top → ( ∃ 𝑥 ∈ 𝑆 𝑆 ∈ ( ( nei ‘ 𝐽 ) ‘ { 𝑥 } ) → 𝑆 ⊆ ∪ 𝐽 ) )
22 17 21 sylan9r ⊢ ( ( 𝐽 ∈ Top ∧ ¬ 𝑆 = ∅ ) → ( ∀ 𝑥 ∈ 𝑆 𝑆 ∈ ( ( nei ‘ 𝐽 ) ‘ { 𝑥 } ) → 𝑆 ⊆ ∪ 𝐽 ) )
23 18 ntrss2 ⊢ ( ( 𝐽 ∈ Top ∧ 𝑆 ⊆ ∪ 𝐽 ) → ( ( int ‘ 𝐽 ) ‘ 𝑆 ) ⊆ 𝑆 )
24 23 adantr ⊢ ( ( ( 𝐽 ∈ Top ∧ 𝑆 ⊆ ∪ 𝐽 ) ∧ ∀ 𝑥 ∈ 𝑆 { 𝑥 } ⊆ ( ( int ‘ 𝐽 ) ‘ 𝑆 ) ) → ( ( int ‘ 𝐽 ) ‘ 𝑆 ) ⊆ 𝑆 )
25 vex ⊢ 𝑥 ∈ V
26 25 snss ⊢ ( 𝑥 ∈ ( ( int ‘ 𝐽 ) ‘ 𝑆 ) ↔ { 𝑥 } ⊆ ( ( int ‘ 𝐽 ) ‘ 𝑆 ) )
27 26 ralbii ⊢ ( ∀ 𝑥 ∈ 𝑆 𝑥 ∈ ( ( int ‘ 𝐽 ) ‘ 𝑆 ) ↔ ∀ 𝑥 ∈ 𝑆 { 𝑥 } ⊆ ( ( int ‘ 𝐽 ) ‘ 𝑆 ) )
28 dfss3 ⊢ ( 𝑆 ⊆ ( ( int ‘ 𝐽 ) ‘ 𝑆 ) ↔ ∀ 𝑥 ∈ 𝑆 𝑥 ∈ ( ( int ‘ 𝐽 ) ‘ 𝑆 ) )
29 28 bilanri ⊢ ( ( ( 𝐽 ∈ Top ∧ 𝑆 ⊆ ∪ 𝐽 ) ∧ ∀ 𝑥 ∈ 𝑆 𝑥 ∈ ( ( int ‘ 𝐽 ) ‘ 𝑆 ) ) → 𝑆 ⊆ ( ( int ‘ 𝐽 ) ‘ 𝑆 ) )
30 27 29 sylan2br ⊢ ( ( ( 𝐽 ∈ Top ∧ 𝑆 ⊆ ∪ 𝐽 ) ∧ ∀ 𝑥 ∈ 𝑆 { 𝑥 } ⊆ ( ( int ‘ 𝐽 ) ‘ 𝑆 ) ) → 𝑆 ⊆ ( ( int ‘ 𝐽 ) ‘ 𝑆 ) )
31 24 30 eqssd ⊢ ( ( ( 𝐽 ∈ Top ∧ 𝑆 ⊆ ∪ 𝐽 ) ∧ ∀ 𝑥 ∈ 𝑆 { 𝑥 } ⊆ ( ( int ‘ 𝐽 ) ‘ 𝑆 ) ) → ( ( int ‘ 𝐽 ) ‘ 𝑆 ) = 𝑆 )
32 31 ex ⊢ ( ( 𝐽 ∈ Top ∧ 𝑆 ⊆ ∪ 𝐽 ) → ( ∀ 𝑥 ∈ 𝑆 { 𝑥 } ⊆ ( ( int ‘ 𝐽 ) ‘ 𝑆 ) → ( ( int ‘ 𝐽 ) ‘ 𝑆 ) = 𝑆 ) )
33 25 snss ⊢ ( 𝑥 ∈ 𝑆 ↔ { 𝑥 } ⊆ 𝑆 )
34 sstr2 ⊢ ( { 𝑥 } ⊆ 𝑆 → ( 𝑆 ⊆ ∪ 𝐽 → { 𝑥 } ⊆ ∪ 𝐽 ) )
35 34 com12 ⊢ ( 𝑆 ⊆ ∪ 𝐽 → ( { 𝑥 } ⊆ 𝑆 → { 𝑥 } ⊆ ∪ 𝐽 ) )
36 35 adantl ⊢ ( ( 𝐽 ∈ Top ∧ 𝑆 ⊆ ∪ 𝐽 ) → ( { 𝑥 } ⊆ 𝑆 → { 𝑥 } ⊆ ∪ 𝐽 ) )
37 33 36 biimtrid ⊢ ( ( 𝐽 ∈ Top ∧ 𝑆 ⊆ ∪ 𝐽 ) → ( 𝑥 ∈ 𝑆 → { 𝑥 } ⊆ ∪ 𝐽 ) )
38 37 imp ⊢ ( ( ( 𝐽 ∈ Top ∧ 𝑆 ⊆ ∪ 𝐽 ) ∧ 𝑥 ∈ 𝑆 ) → { 𝑥 } ⊆ ∪ 𝐽 )
39 18 neiint ⊢ ( ( 𝐽 ∈ Top ∧ { 𝑥 } ⊆ ∪ 𝐽 ∧ 𝑆 ⊆ ∪ 𝐽 ) → ( 𝑆 ∈ ( ( nei ‘ 𝐽 ) ‘ { 𝑥 } ) ↔ { 𝑥 } ⊆ ( ( int ‘ 𝐽 ) ‘ 𝑆 ) ) )
40 39 3com23 ⊢ ( ( 𝐽 ∈ Top ∧ 𝑆 ⊆ ∪ 𝐽 ∧ { 𝑥 } ⊆ ∪ 𝐽 ) → ( 𝑆 ∈ ( ( nei ‘ 𝐽 ) ‘ { 𝑥 } ) ↔ { 𝑥 } ⊆ ( ( int ‘ 𝐽 ) ‘ 𝑆 ) ) )
41 40 3expa ⊢ ( ( ( 𝐽 ∈ Top ∧ 𝑆 ⊆ ∪ 𝐽 ) ∧ { 𝑥 } ⊆ ∪ 𝐽 ) → ( 𝑆 ∈ ( ( nei ‘ 𝐽 ) ‘ { 𝑥 } ) ↔ { 𝑥 } ⊆ ( ( int ‘ 𝐽 ) ‘ 𝑆 ) ) )
42 38 41 syldan ⊢ ( ( ( 𝐽 ∈ Top ∧ 𝑆 ⊆ ∪ 𝐽 ) ∧ 𝑥 ∈ 𝑆 ) → ( 𝑆 ∈ ( ( nei ‘ 𝐽 ) ‘ { 𝑥 } ) ↔ { 𝑥 } ⊆ ( ( int ‘ 𝐽 ) ‘ 𝑆 ) ) )
43 42 ralbidva ⊢ ( ( 𝐽 ∈ Top ∧ 𝑆 ⊆ ∪ 𝐽 ) → ( ∀ 𝑥 ∈ 𝑆 𝑆 ∈ ( ( nei ‘ 𝐽 ) ‘ { 𝑥 } ) ↔ ∀ 𝑥 ∈ 𝑆 { 𝑥 } ⊆ ( ( int ‘ 𝐽 ) ‘ 𝑆 ) ) )
44 18 isopn3 ⊢ ( ( 𝐽 ∈ Top ∧ 𝑆 ⊆ ∪ 𝐽 ) → ( 𝑆 ∈ 𝐽 ↔ ( ( int ‘ 𝐽 ) ‘ 𝑆 ) = 𝑆 ) )
45 32 43 44 3imtr4d ⊢ ( ( 𝐽 ∈ Top ∧ 𝑆 ⊆ ∪ 𝐽 ) → ( ∀ 𝑥 ∈ 𝑆 𝑆 ∈ ( ( nei ‘ 𝐽 ) ‘ { 𝑥 } ) → 𝑆 ∈ 𝐽 ) )
46 45 ex ⊢ ( 𝐽 ∈ Top → ( 𝑆 ⊆ ∪ 𝐽 → ( ∀ 𝑥 ∈ 𝑆 𝑆 ∈ ( ( nei ‘ 𝐽 ) ‘ { 𝑥 } ) → 𝑆 ∈ 𝐽 ) ) )
47 46 com23 ⊢ ( 𝐽 ∈ Top → ( ∀ 𝑥 ∈ 𝑆 𝑆 ∈ ( ( nei ‘ 𝐽 ) ‘ { 𝑥 } ) → ( 𝑆 ⊆ ∪ 𝐽 → 𝑆 ∈ 𝐽 ) ) )
48 47 adantr ⊢ ( ( 𝐽 ∈ Top ∧ ¬ 𝑆 = ∅ ) → ( ∀ 𝑥 ∈ 𝑆 𝑆 ∈ ( ( nei ‘ 𝐽 ) ‘ { 𝑥 } ) → ( 𝑆 ⊆ ∪ 𝐽 → 𝑆 ∈ 𝐽 ) ) )
49 22 48 mpdd ⊢ ( ( 𝐽 ∈ Top ∧ ¬ 𝑆 = ∅ ) → ( ∀ 𝑥 ∈ 𝑆 𝑆 ∈ ( ( nei ‘ 𝐽 ) ‘ { 𝑥 } ) → 𝑆 ∈ 𝐽 ) )
50 13 49 impbid ⊢ ( ( 𝐽 ∈ Top ∧ ¬ 𝑆 = ∅ ) → ( 𝑆 ∈ 𝐽 ↔ ∀ 𝑥 ∈ 𝑆 𝑆 ∈ ( ( nei ‘ 𝐽 ) ‘ { 𝑥 } ) ) )
51 8 50 pm2.61dan ⊢ ( 𝐽 ∈ Top → ( 𝑆 ∈ 𝐽 ↔ ∀ 𝑥 ∈ 𝑆 𝑆 ∈ ( ( nei ‘ 𝐽 ) ‘ { 𝑥 } ) ) )