Metamath Proof Explorer


Theorem neiptopreu

Description: If, to each element P of a set X , we associate a set ( NP ) fulfilling Properties V_i, V_ii, V_iii and Property V_iv of BourbakiTop1 p. I.2. , corresponding to ssnei , innei , elnei and neissex , then there is a unique topology j such that for any point p , ( Np ) is the set of neighborhoods of p . Proposition 2 of BourbakiTop1 p. I.3. This can be used to build a topology from a set of neighborhoods. Note that innei uses binary intersections whereas Property V_ii mentions finite intersections (which includes the empty intersection of subsets of X , which is equal to X ), so we add the hypothesis that X is a neighborhood of all points. TODO: when df-fi includes the empty intersection, remove that extra hypothesis. (Contributed by Thierry Arnoux, 6-Jan-2018)

Ref Expression
Hypotheses neiptop.o 𝐽 = { 𝑎 ∈ 𝒫 𝑋 ∣ ∀ 𝑝𝑎 𝑎 ∈ ( 𝑁𝑝 ) }
neiptop.0 ( 𝜑𝑁 : 𝑋 ⟶ 𝒫 𝒫 𝑋 )
neiptop.1 ( ( ( ( 𝜑𝑝𝑋 ) ∧ 𝑎𝑏𝑏𝑋 ) ∧ 𝑎 ∈ ( 𝑁𝑝 ) ) → 𝑏 ∈ ( 𝑁𝑝 ) )
neiptop.2 ( ( 𝜑𝑝𝑋 ) → ( fi ‘ ( 𝑁𝑝 ) ) ⊆ ( 𝑁𝑝 ) )
neiptop.3 ( ( ( 𝜑𝑝𝑋 ) ∧ 𝑎 ∈ ( 𝑁𝑝 ) ) → 𝑝𝑎 )
neiptop.4 ( ( ( 𝜑𝑝𝑋 ) ∧ 𝑎 ∈ ( 𝑁𝑝 ) ) → ∃ 𝑏 ∈ ( 𝑁𝑝 ) ∀ 𝑞𝑏 𝑎 ∈ ( 𝑁𝑞 ) )
neiptop.5 ( ( 𝜑𝑝𝑋 ) → 𝑋 ∈ ( 𝑁𝑝 ) )
Assertion neiptopreu ( 𝜑 → ∃! 𝑗 ∈ ( TopOn ‘ 𝑋 ) 𝑁 = ( 𝑝𝑋 ↦ ( ( nei ‘ 𝑗 ) ‘ { 𝑝 } ) ) )

Proof

Step Hyp Ref Expression
1 neiptop.o 𝐽 = { 𝑎 ∈ 𝒫 𝑋 ∣ ∀ 𝑝𝑎 𝑎 ∈ ( 𝑁𝑝 ) }
2 neiptop.0 ( 𝜑𝑁 : 𝑋 ⟶ 𝒫 𝒫 𝑋 )
3 neiptop.1 ( ( ( ( 𝜑𝑝𝑋 ) ∧ 𝑎𝑏𝑏𝑋 ) ∧ 𝑎 ∈ ( 𝑁𝑝 ) ) → 𝑏 ∈ ( 𝑁𝑝 ) )
4 neiptop.2 ( ( 𝜑𝑝𝑋 ) → ( fi ‘ ( 𝑁𝑝 ) ) ⊆ ( 𝑁𝑝 ) )
5 neiptop.3 ( ( ( 𝜑𝑝𝑋 ) ∧ 𝑎 ∈ ( 𝑁𝑝 ) ) → 𝑝𝑎 )
6 neiptop.4 ( ( ( 𝜑𝑝𝑋 ) ∧ 𝑎 ∈ ( 𝑁𝑝 ) ) → ∃ 𝑏 ∈ ( 𝑁𝑝 ) ∀ 𝑞𝑏 𝑎 ∈ ( 𝑁𝑞 ) )
7 neiptop.5 ( ( 𝜑𝑝𝑋 ) → 𝑋 ∈ ( 𝑁𝑝 ) )
8 1 2 3 4 5 6 7 neiptoptop ( 𝜑𝐽 ∈ Top )
9 toptopon2 ( 𝐽 ∈ Top ↔ 𝐽 ∈ ( TopOn ‘ 𝐽 ) )
10 8 9 sylib ( 𝜑𝐽 ∈ ( TopOn ‘ 𝐽 ) )
11 1 2 3 4 5 6 7 neiptopuni ( 𝜑𝑋 = 𝐽 )
12 11 fveq2d ( 𝜑 → ( TopOn ‘ 𝑋 ) = ( TopOn ‘ 𝐽 ) )
13 10 12 eleqtrrd ( 𝜑𝐽 ∈ ( TopOn ‘ 𝑋 ) )
14 1 2 3 4 5 6 7 neiptopnei ( 𝜑𝑁 = ( 𝑝𝑋 ↦ ( ( nei ‘ 𝐽 ) ‘ { 𝑝 } ) ) )
15 nfv 𝑝 ( 𝜑𝑗 ∈ ( TopOn ‘ 𝑋 ) )
16 nfmpt1 𝑝 ( 𝑝𝑋 ↦ ( ( nei ‘ 𝑗 ) ‘ { 𝑝 } ) )
17 16 nfeq2 𝑝 𝑁 = ( 𝑝𝑋 ↦ ( ( nei ‘ 𝑗 ) ‘ { 𝑝 } ) )
18 15 17 nfan 𝑝 ( ( 𝜑𝑗 ∈ ( TopOn ‘ 𝑋 ) ) ∧ 𝑁 = ( 𝑝𝑋 ↦ ( ( nei ‘ 𝑗 ) ‘ { 𝑝 } ) ) )
19 nfv 𝑝 𝑏𝑋
20 18 19 nfan 𝑝 ( ( ( 𝜑𝑗 ∈ ( TopOn ‘ 𝑋 ) ) ∧ 𝑁 = ( 𝑝𝑋 ↦ ( ( nei ‘ 𝑗 ) ‘ { 𝑝 } ) ) ) ∧ 𝑏𝑋 )
21 simpllr ( ( ( ( ( 𝜑𝑗 ∈ ( TopOn ‘ 𝑋 ) ) ∧ 𝑁 = ( 𝑝𝑋 ↦ ( ( nei ‘ 𝑗 ) ‘ { 𝑝 } ) ) ) ∧ 𝑏𝑋 ) ∧ 𝑝𝑏 ) → 𝑁 = ( 𝑝𝑋 ↦ ( ( nei ‘ 𝑗 ) ‘ { 𝑝 } ) ) )
22 simpr ( ( ( ( 𝜑𝑗 ∈ ( TopOn ‘ 𝑋 ) ) ∧ 𝑁 = ( 𝑝𝑋 ↦ ( ( nei ‘ 𝑗 ) ‘ { 𝑝 } ) ) ) ∧ 𝑏𝑋 ) → 𝑏𝑋 )
23 22 sselda ( ( ( ( ( 𝜑𝑗 ∈ ( TopOn ‘ 𝑋 ) ) ∧ 𝑁 = ( 𝑝𝑋 ↦ ( ( nei ‘ 𝑗 ) ‘ { 𝑝 } ) ) ) ∧ 𝑏𝑋 ) ∧ 𝑝𝑏 ) → 𝑝𝑋 )
24 id ( 𝑁 = ( 𝑝𝑋 ↦ ( ( nei ‘ 𝑗 ) ‘ { 𝑝 } ) ) → 𝑁 = ( 𝑝𝑋 ↦ ( ( nei ‘ 𝑗 ) ‘ { 𝑝 } ) ) )
25 fvexd ( ( 𝑁 = ( 𝑝𝑋 ↦ ( ( nei ‘ 𝑗 ) ‘ { 𝑝 } ) ) ∧ 𝑝𝑋 ) → ( ( nei ‘ 𝑗 ) ‘ { 𝑝 } ) ∈ V )
26 24 25 fvmpt2d ( ( 𝑁 = ( 𝑝𝑋 ↦ ( ( nei ‘ 𝑗 ) ‘ { 𝑝 } ) ) ∧ 𝑝𝑋 ) → ( 𝑁𝑝 ) = ( ( nei ‘ 𝑗 ) ‘ { 𝑝 } ) )
27 21 23 26 syl2anc ( ( ( ( ( 𝜑𝑗 ∈ ( TopOn ‘ 𝑋 ) ) ∧ 𝑁 = ( 𝑝𝑋 ↦ ( ( nei ‘ 𝑗 ) ‘ { 𝑝 } ) ) ) ∧ 𝑏𝑋 ) ∧ 𝑝𝑏 ) → ( 𝑁𝑝 ) = ( ( nei ‘ 𝑗 ) ‘ { 𝑝 } ) )
28 27 eqcomd ( ( ( ( ( 𝜑𝑗 ∈ ( TopOn ‘ 𝑋 ) ) ∧ 𝑁 = ( 𝑝𝑋 ↦ ( ( nei ‘ 𝑗 ) ‘ { 𝑝 } ) ) ) ∧ 𝑏𝑋 ) ∧ 𝑝𝑏 ) → ( ( nei ‘ 𝑗 ) ‘ { 𝑝 } ) = ( 𝑁𝑝 ) )
29 28 eleq2d ( ( ( ( ( 𝜑𝑗 ∈ ( TopOn ‘ 𝑋 ) ) ∧ 𝑁 = ( 𝑝𝑋 ↦ ( ( nei ‘ 𝑗 ) ‘ { 𝑝 } ) ) ) ∧ 𝑏𝑋 ) ∧ 𝑝𝑏 ) → ( 𝑏 ∈ ( ( nei ‘ 𝑗 ) ‘ { 𝑝 } ) ↔ 𝑏 ∈ ( 𝑁𝑝 ) ) )
30 20 29 ralbida ( ( ( ( 𝜑𝑗 ∈ ( TopOn ‘ 𝑋 ) ) ∧ 𝑁 = ( 𝑝𝑋 ↦ ( ( nei ‘ 𝑗 ) ‘ { 𝑝 } ) ) ) ∧ 𝑏𝑋 ) → ( ∀ 𝑝𝑏 𝑏 ∈ ( ( nei ‘ 𝑗 ) ‘ { 𝑝 } ) ↔ ∀ 𝑝𝑏 𝑏 ∈ ( 𝑁𝑝 ) ) )
31 30 pm5.32da ( ( ( 𝜑𝑗 ∈ ( TopOn ‘ 𝑋 ) ) ∧ 𝑁 = ( 𝑝𝑋 ↦ ( ( nei ‘ 𝑗 ) ‘ { 𝑝 } ) ) ) → ( ( 𝑏𝑋 ∧ ∀ 𝑝𝑏 𝑏 ∈ ( ( nei ‘ 𝑗 ) ‘ { 𝑝 } ) ) ↔ ( 𝑏𝑋 ∧ ∀ 𝑝𝑏 𝑏 ∈ ( 𝑁𝑝 ) ) ) )
32 toponss ( ( 𝑗 ∈ ( TopOn ‘ 𝑋 ) ∧ 𝑏𝑗 ) → 𝑏𝑋 )
33 32 ad4ant24 ( ( ( ( 𝜑𝑗 ∈ ( TopOn ‘ 𝑋 ) ) ∧ 𝑁 = ( 𝑝𝑋 ↦ ( ( nei ‘ 𝑗 ) ‘ { 𝑝 } ) ) ) ∧ 𝑏𝑗 ) → 𝑏𝑋 )
34 topontop ( 𝑗 ∈ ( TopOn ‘ 𝑋 ) → 𝑗 ∈ Top )
35 34 ad2antlr ( ( ( 𝜑𝑗 ∈ ( TopOn ‘ 𝑋 ) ) ∧ 𝑁 = ( 𝑝𝑋 ↦ ( ( nei ‘ 𝑗 ) ‘ { 𝑝 } ) ) ) → 𝑗 ∈ Top )
36 opnnei ( 𝑗 ∈ Top → ( 𝑏𝑗 ↔ ∀ 𝑝𝑏 𝑏 ∈ ( ( nei ‘ 𝑗 ) ‘ { 𝑝 } ) ) )
37 35 36 syl ( ( ( 𝜑𝑗 ∈ ( TopOn ‘ 𝑋 ) ) ∧ 𝑁 = ( 𝑝𝑋 ↦ ( ( nei ‘ 𝑗 ) ‘ { 𝑝 } ) ) ) → ( 𝑏𝑗 ↔ ∀ 𝑝𝑏 𝑏 ∈ ( ( nei ‘ 𝑗 ) ‘ { 𝑝 } ) ) )
38 37 biimpa ( ( ( ( 𝜑𝑗 ∈ ( TopOn ‘ 𝑋 ) ) ∧ 𝑁 = ( 𝑝𝑋 ↦ ( ( nei ‘ 𝑗 ) ‘ { 𝑝 } ) ) ) ∧ 𝑏𝑗 ) → ∀ 𝑝𝑏 𝑏 ∈ ( ( nei ‘ 𝑗 ) ‘ { 𝑝 } ) )
39 33 38 jca ( ( ( ( 𝜑𝑗 ∈ ( TopOn ‘ 𝑋 ) ) ∧ 𝑁 = ( 𝑝𝑋 ↦ ( ( nei ‘ 𝑗 ) ‘ { 𝑝 } ) ) ) ∧ 𝑏𝑗 ) → ( 𝑏𝑋 ∧ ∀ 𝑝𝑏 𝑏 ∈ ( ( nei ‘ 𝑗 ) ‘ { 𝑝 } ) ) )
40 37 biimpar ( ( ( ( 𝜑𝑗 ∈ ( TopOn ‘ 𝑋 ) ) ∧ 𝑁 = ( 𝑝𝑋 ↦ ( ( nei ‘ 𝑗 ) ‘ { 𝑝 } ) ) ) ∧ ∀ 𝑝𝑏 𝑏 ∈ ( ( nei ‘ 𝑗 ) ‘ { 𝑝 } ) ) → 𝑏𝑗 )
41 40 adantrl ( ( ( ( 𝜑𝑗 ∈ ( TopOn ‘ 𝑋 ) ) ∧ 𝑁 = ( 𝑝𝑋 ↦ ( ( nei ‘ 𝑗 ) ‘ { 𝑝 } ) ) ) ∧ ( 𝑏𝑋 ∧ ∀ 𝑝𝑏 𝑏 ∈ ( ( nei ‘ 𝑗 ) ‘ { 𝑝 } ) ) ) → 𝑏𝑗 )
42 39 41 impbida ( ( ( 𝜑𝑗 ∈ ( TopOn ‘ 𝑋 ) ) ∧ 𝑁 = ( 𝑝𝑋 ↦ ( ( nei ‘ 𝑗 ) ‘ { 𝑝 } ) ) ) → ( 𝑏𝑗 ↔ ( 𝑏𝑋 ∧ ∀ 𝑝𝑏 𝑏 ∈ ( ( nei ‘ 𝑗 ) ‘ { 𝑝 } ) ) ) )
43 1 neipeltop ( 𝑏𝐽 ↔ ( 𝑏𝑋 ∧ ∀ 𝑝𝑏 𝑏 ∈ ( 𝑁𝑝 ) ) )
44 43 a1i ( ( ( 𝜑𝑗 ∈ ( TopOn ‘ 𝑋 ) ) ∧ 𝑁 = ( 𝑝𝑋 ↦ ( ( nei ‘ 𝑗 ) ‘ { 𝑝 } ) ) ) → ( 𝑏𝐽 ↔ ( 𝑏𝑋 ∧ ∀ 𝑝𝑏 𝑏 ∈ ( 𝑁𝑝 ) ) ) )
45 31 42 44 3bitr4d ( ( ( 𝜑𝑗 ∈ ( TopOn ‘ 𝑋 ) ) ∧ 𝑁 = ( 𝑝𝑋 ↦ ( ( nei ‘ 𝑗 ) ‘ { 𝑝 } ) ) ) → ( 𝑏𝑗𝑏𝐽 ) )
46 45 eqrdv ( ( ( 𝜑𝑗 ∈ ( TopOn ‘ 𝑋 ) ) ∧ 𝑁 = ( 𝑝𝑋 ↦ ( ( nei ‘ 𝑗 ) ‘ { 𝑝 } ) ) ) → 𝑗 = 𝐽 )
47 46 ex ( ( 𝜑𝑗 ∈ ( TopOn ‘ 𝑋 ) ) → ( 𝑁 = ( 𝑝𝑋 ↦ ( ( nei ‘ 𝑗 ) ‘ { 𝑝 } ) ) → 𝑗 = 𝐽 ) )
48 47 ralrimiva ( 𝜑 → ∀ 𝑗 ∈ ( TopOn ‘ 𝑋 ) ( 𝑁 = ( 𝑝𝑋 ↦ ( ( nei ‘ 𝑗 ) ‘ { 𝑝 } ) ) → 𝑗 = 𝐽 ) )
49 simpl ( ( 𝑗 = 𝐽𝑝𝑋 ) → 𝑗 = 𝐽 )
50 49 fveq2d ( ( 𝑗 = 𝐽𝑝𝑋 ) → ( nei ‘ 𝑗 ) = ( nei ‘ 𝐽 ) )
51 50 fveq1d ( ( 𝑗 = 𝐽𝑝𝑋 ) → ( ( nei ‘ 𝑗 ) ‘ { 𝑝 } ) = ( ( nei ‘ 𝐽 ) ‘ { 𝑝 } ) )
52 51 mpteq2dva ( 𝑗 = 𝐽 → ( 𝑝𝑋 ↦ ( ( nei ‘ 𝑗 ) ‘ { 𝑝 } ) ) = ( 𝑝𝑋 ↦ ( ( nei ‘ 𝐽 ) ‘ { 𝑝 } ) ) )
53 52 eqeq2d ( 𝑗 = 𝐽 → ( 𝑁 = ( 𝑝𝑋 ↦ ( ( nei ‘ 𝑗 ) ‘ { 𝑝 } ) ) ↔ 𝑁 = ( 𝑝𝑋 ↦ ( ( nei ‘ 𝐽 ) ‘ { 𝑝 } ) ) ) )
54 53 eqreu ( ( 𝐽 ∈ ( TopOn ‘ 𝑋 ) ∧ 𝑁 = ( 𝑝𝑋 ↦ ( ( nei ‘ 𝐽 ) ‘ { 𝑝 } ) ) ∧ ∀ 𝑗 ∈ ( TopOn ‘ 𝑋 ) ( 𝑁 = ( 𝑝𝑋 ↦ ( ( nei ‘ 𝑗 ) ‘ { 𝑝 } ) ) → 𝑗 = 𝐽 ) ) → ∃! 𝑗 ∈ ( TopOn ‘ 𝑋 ) 𝑁 = ( 𝑝𝑋 ↦ ( ( nei ‘ 𝑗 ) ‘ { 𝑝 } ) ) )
55 13 14 48 54 syl3anc ( 𝜑 → ∃! 𝑗 ∈ ( TopOn ‘ 𝑋 ) 𝑁 = ( 𝑝𝑋 ↦ ( ( nei ‘ 𝑗 ) ‘ { 𝑝 } ) ) )