Metamath Proof Explorer


Theorem ustfilxp

Description: A uniform structure on a nonempty base is a filter. Remark 3 of BourbakiTop1 p. II.2. (Contributed by Thierry Arnoux, 15-Nov-2017) (Proof shortened by Peter Mazsa, 2-Oct-2022)

Ref Expression
Assertion ustfilxp ( ( 𝑋 ≠ ∅ ∧ 𝑈 ∈ ( UnifOn ‘ 𝑋 ) ) → 𝑈 ∈ ( Fil ‘ ( 𝑋 × 𝑋 ) ) )

Proof

Step Hyp Ref Expression
1 elfvex ( 𝑈 ∈ ( UnifOn ‘ 𝑋 ) → 𝑋 ∈ V )
2 isust ( 𝑋 ∈ V → ( 𝑈 ∈ ( UnifOn ‘ 𝑋 ) ↔ ( 𝑈 ⊆ 𝒫 ( 𝑋 × 𝑋 ) ∧ ( 𝑋 × 𝑋 ) ∈ 𝑈 ∧ ∀ 𝑣𝑈 ( ∀ 𝑤 ∈ 𝒫 ( 𝑋 × 𝑋 ) ( 𝑣𝑤𝑤𝑈 ) ∧ ∀ 𝑤𝑈 ( 𝑣𝑤 ) ∈ 𝑈 ∧ ( ( I ↾ 𝑋 ) ⊆ 𝑣 𝑣𝑈 ∧ ∃ 𝑤𝑈 ( 𝑤𝑤 ) ⊆ 𝑣 ) ) ) ) )
3 1 2 syl ( 𝑈 ∈ ( UnifOn ‘ 𝑋 ) → ( 𝑈 ∈ ( UnifOn ‘ 𝑋 ) ↔ ( 𝑈 ⊆ 𝒫 ( 𝑋 × 𝑋 ) ∧ ( 𝑋 × 𝑋 ) ∈ 𝑈 ∧ ∀ 𝑣𝑈 ( ∀ 𝑤 ∈ 𝒫 ( 𝑋 × 𝑋 ) ( 𝑣𝑤𝑤𝑈 ) ∧ ∀ 𝑤𝑈 ( 𝑣𝑤 ) ∈ 𝑈 ∧ ( ( I ↾ 𝑋 ) ⊆ 𝑣 𝑣𝑈 ∧ ∃ 𝑤𝑈 ( 𝑤𝑤 ) ⊆ 𝑣 ) ) ) ) )
4 3 ibi ( 𝑈 ∈ ( UnifOn ‘ 𝑋 ) → ( 𝑈 ⊆ 𝒫 ( 𝑋 × 𝑋 ) ∧ ( 𝑋 × 𝑋 ) ∈ 𝑈 ∧ ∀ 𝑣𝑈 ( ∀ 𝑤 ∈ 𝒫 ( 𝑋 × 𝑋 ) ( 𝑣𝑤𝑤𝑈 ) ∧ ∀ 𝑤𝑈 ( 𝑣𝑤 ) ∈ 𝑈 ∧ ( ( I ↾ 𝑋 ) ⊆ 𝑣 𝑣𝑈 ∧ ∃ 𝑤𝑈 ( 𝑤𝑤 ) ⊆ 𝑣 ) ) ) )
5 4 adantl ( ( 𝑋 ≠ ∅ ∧ 𝑈 ∈ ( UnifOn ‘ 𝑋 ) ) → ( 𝑈 ⊆ 𝒫 ( 𝑋 × 𝑋 ) ∧ ( 𝑋 × 𝑋 ) ∈ 𝑈 ∧ ∀ 𝑣𝑈 ( ∀ 𝑤 ∈ 𝒫 ( 𝑋 × 𝑋 ) ( 𝑣𝑤𝑤𝑈 ) ∧ ∀ 𝑤𝑈 ( 𝑣𝑤 ) ∈ 𝑈 ∧ ( ( I ↾ 𝑋 ) ⊆ 𝑣 𝑣𝑈 ∧ ∃ 𝑤𝑈 ( 𝑤𝑤 ) ⊆ 𝑣 ) ) ) )
6 5 simp1d ( ( 𝑋 ≠ ∅ ∧ 𝑈 ∈ ( UnifOn ‘ 𝑋 ) ) → 𝑈 ⊆ 𝒫 ( 𝑋 × 𝑋 ) )
7 5 simp2d ( ( 𝑋 ≠ ∅ ∧ 𝑈 ∈ ( UnifOn ‘ 𝑋 ) ) → ( 𝑋 × 𝑋 ) ∈ 𝑈 )
8 7 ne0d ( ( 𝑋 ≠ ∅ ∧ 𝑈 ∈ ( UnifOn ‘ 𝑋 ) ) → 𝑈 ≠ ∅ )
9 5 simp3d ( ( 𝑋 ≠ ∅ ∧ 𝑈 ∈ ( UnifOn ‘ 𝑋 ) ) → ∀ 𝑣𝑈 ( ∀ 𝑤 ∈ 𝒫 ( 𝑋 × 𝑋 ) ( 𝑣𝑤𝑤𝑈 ) ∧ ∀ 𝑤𝑈 ( 𝑣𝑤 ) ∈ 𝑈 ∧ ( ( I ↾ 𝑋 ) ⊆ 𝑣 𝑣𝑈 ∧ ∃ 𝑤𝑈 ( 𝑤𝑤 ) ⊆ 𝑣 ) ) )
10 9 r19.21bi ( ( ( 𝑋 ≠ ∅ ∧ 𝑈 ∈ ( UnifOn ‘ 𝑋 ) ) ∧ 𝑣𝑈 ) → ( ∀ 𝑤 ∈ 𝒫 ( 𝑋 × 𝑋 ) ( 𝑣𝑤𝑤𝑈 ) ∧ ∀ 𝑤𝑈 ( 𝑣𝑤 ) ∈ 𝑈 ∧ ( ( I ↾ 𝑋 ) ⊆ 𝑣 𝑣𝑈 ∧ ∃ 𝑤𝑈 ( 𝑤𝑤 ) ⊆ 𝑣 ) ) )
11 10 simp3d ( ( ( 𝑋 ≠ ∅ ∧ 𝑈 ∈ ( UnifOn ‘ 𝑋 ) ) ∧ 𝑣𝑈 ) → ( ( I ↾ 𝑋 ) ⊆ 𝑣 𝑣𝑈 ∧ ∃ 𝑤𝑈 ( 𝑤𝑤 ) ⊆ 𝑣 ) )
12 11 simp1d ( ( ( 𝑋 ≠ ∅ ∧ 𝑈 ∈ ( UnifOn ‘ 𝑋 ) ) ∧ 𝑣𝑈 ) → ( I ↾ 𝑋 ) ⊆ 𝑣 )
13 opelidres ( 𝑤 ∈ V → ( ⟨ 𝑤 , 𝑤 ⟩ ∈ ( I ↾ 𝑋 ) ↔ 𝑤𝑋 ) )
14 13 elv ( ⟨ 𝑤 , 𝑤 ⟩ ∈ ( I ↾ 𝑋 ) ↔ 𝑤𝑋 )
15 14 biimpri ( 𝑤𝑋 → ⟨ 𝑤 , 𝑤 ⟩ ∈ ( I ↾ 𝑋 ) )
16 15 rgen 𝑤𝑋𝑤 , 𝑤 ⟩ ∈ ( I ↾ 𝑋 )
17 r19.2z ( ( 𝑋 ≠ ∅ ∧ ∀ 𝑤𝑋𝑤 , 𝑤 ⟩ ∈ ( I ↾ 𝑋 ) ) → ∃ 𝑤𝑋𝑤 , 𝑤 ⟩ ∈ ( I ↾ 𝑋 ) )
18 16 17 mpan2 ( 𝑋 ≠ ∅ → ∃ 𝑤𝑋𝑤 , 𝑤 ⟩ ∈ ( I ↾ 𝑋 ) )
19 18 ad2antrr ( ( ( 𝑋 ≠ ∅ ∧ 𝑈 ∈ ( UnifOn ‘ 𝑋 ) ) ∧ 𝑣𝑈 ) → ∃ 𝑤𝑋𝑤 , 𝑤 ⟩ ∈ ( I ↾ 𝑋 ) )
20 ne0i ( ⟨ 𝑤 , 𝑤 ⟩ ∈ ( I ↾ 𝑋 ) → ( I ↾ 𝑋 ) ≠ ∅ )
21 20 rexlimivw ( ∃ 𝑤𝑋𝑤 , 𝑤 ⟩ ∈ ( I ↾ 𝑋 ) → ( I ↾ 𝑋 ) ≠ ∅ )
22 19 21 syl ( ( ( 𝑋 ≠ ∅ ∧ 𝑈 ∈ ( UnifOn ‘ 𝑋 ) ) ∧ 𝑣𝑈 ) → ( I ↾ 𝑋 ) ≠ ∅ )
23 ssn0 ( ( ( I ↾ 𝑋 ) ⊆ 𝑣 ∧ ( I ↾ 𝑋 ) ≠ ∅ ) → 𝑣 ≠ ∅ )
24 12 22 23 syl2anc ( ( ( 𝑋 ≠ ∅ ∧ 𝑈 ∈ ( UnifOn ‘ 𝑋 ) ) ∧ 𝑣𝑈 ) → 𝑣 ≠ ∅ )
25 24 nelrdva ( ( 𝑋 ≠ ∅ ∧ 𝑈 ∈ ( UnifOn ‘ 𝑋 ) ) → ¬ ∅ ∈ 𝑈 )
26 df-nel ( ∅ ∉ 𝑈 ↔ ¬ ∅ ∈ 𝑈 )
27 25 26 sylibr ( ( 𝑋 ≠ ∅ ∧ 𝑈 ∈ ( UnifOn ‘ 𝑋 ) ) → ∅ ∉ 𝑈 )
28 10 simp2d ( ( ( 𝑋 ≠ ∅ ∧ 𝑈 ∈ ( UnifOn ‘ 𝑋 ) ) ∧ 𝑣𝑈 ) → ∀ 𝑤𝑈 ( 𝑣𝑤 ) ∈ 𝑈 )
29 28 r19.21bi ( ( ( ( 𝑋 ≠ ∅ ∧ 𝑈 ∈ ( UnifOn ‘ 𝑋 ) ) ∧ 𝑣𝑈 ) ∧ 𝑤𝑈 ) → ( 𝑣𝑤 ) ∈ 𝑈 )
30 vex 𝑤 ∈ V
31 30 inex2 ( 𝑣𝑤 ) ∈ V
32 31 pwid ( 𝑣𝑤 ) ∈ 𝒫 ( 𝑣𝑤 )
33 32 a1i ( ( ( ( 𝑋 ≠ ∅ ∧ 𝑈 ∈ ( UnifOn ‘ 𝑋 ) ) ∧ 𝑣𝑈 ) ∧ 𝑤𝑈 ) → ( 𝑣𝑤 ) ∈ 𝒫 ( 𝑣𝑤 ) )
34 29 33 elind ( ( ( ( 𝑋 ≠ ∅ ∧ 𝑈 ∈ ( UnifOn ‘ 𝑋 ) ) ∧ 𝑣𝑈 ) ∧ 𝑤𝑈 ) → ( 𝑣𝑤 ) ∈ ( 𝑈 ∩ 𝒫 ( 𝑣𝑤 ) ) )
35 34 ne0d ( ( ( ( 𝑋 ≠ ∅ ∧ 𝑈 ∈ ( UnifOn ‘ 𝑋 ) ) ∧ 𝑣𝑈 ) ∧ 𝑤𝑈 ) → ( 𝑈 ∩ 𝒫 ( 𝑣𝑤 ) ) ≠ ∅ )
36 35 ralrimiva ( ( ( 𝑋 ≠ ∅ ∧ 𝑈 ∈ ( UnifOn ‘ 𝑋 ) ) ∧ 𝑣𝑈 ) → ∀ 𝑤𝑈 ( 𝑈 ∩ 𝒫 ( 𝑣𝑤 ) ) ≠ ∅ )
37 36 ralrimiva ( ( 𝑋 ≠ ∅ ∧ 𝑈 ∈ ( UnifOn ‘ 𝑋 ) ) → ∀ 𝑣𝑈𝑤𝑈 ( 𝑈 ∩ 𝒫 ( 𝑣𝑤 ) ) ≠ ∅ )
38 8 27 37 3jca ( ( 𝑋 ≠ ∅ ∧ 𝑈 ∈ ( UnifOn ‘ 𝑋 ) ) → ( 𝑈 ≠ ∅ ∧ ∅ ∉ 𝑈 ∧ ∀ 𝑣𝑈𝑤𝑈 ( 𝑈 ∩ 𝒫 ( 𝑣𝑤 ) ) ≠ ∅ ) )
39 1 1 xpexd ( 𝑈 ∈ ( UnifOn ‘ 𝑋 ) → ( 𝑋 × 𝑋 ) ∈ V )
40 isfbas ( ( 𝑋 × 𝑋 ) ∈ V → ( 𝑈 ∈ ( fBas ‘ ( 𝑋 × 𝑋 ) ) ↔ ( 𝑈 ⊆ 𝒫 ( 𝑋 × 𝑋 ) ∧ ( 𝑈 ≠ ∅ ∧ ∅ ∉ 𝑈 ∧ ∀ 𝑣𝑈𝑤𝑈 ( 𝑈 ∩ 𝒫 ( 𝑣𝑤 ) ) ≠ ∅ ) ) ) )
41 39 40 syl ( 𝑈 ∈ ( UnifOn ‘ 𝑋 ) → ( 𝑈 ∈ ( fBas ‘ ( 𝑋 × 𝑋 ) ) ↔ ( 𝑈 ⊆ 𝒫 ( 𝑋 × 𝑋 ) ∧ ( 𝑈 ≠ ∅ ∧ ∅ ∉ 𝑈 ∧ ∀ 𝑣𝑈𝑤𝑈 ( 𝑈 ∩ 𝒫 ( 𝑣𝑤 ) ) ≠ ∅ ) ) ) )
42 41 adantl ( ( 𝑋 ≠ ∅ ∧ 𝑈 ∈ ( UnifOn ‘ 𝑋 ) ) → ( 𝑈 ∈ ( fBas ‘ ( 𝑋 × 𝑋 ) ) ↔ ( 𝑈 ⊆ 𝒫 ( 𝑋 × 𝑋 ) ∧ ( 𝑈 ≠ ∅ ∧ ∅ ∉ 𝑈 ∧ ∀ 𝑣𝑈𝑤𝑈 ( 𝑈 ∩ 𝒫 ( 𝑣𝑤 ) ) ≠ ∅ ) ) ) )
43 6 38 42 mpbir2and ( ( 𝑋 ≠ ∅ ∧ 𝑈 ∈ ( UnifOn ‘ 𝑋 ) ) → 𝑈 ∈ ( fBas ‘ ( 𝑋 × 𝑋 ) ) )
44 n0 ( ( 𝑈 ∩ 𝒫 𝑤 ) ≠ ∅ ↔ ∃ 𝑣 𝑣 ∈ ( 𝑈 ∩ 𝒫 𝑤 ) )
45 elin ( 𝑣 ∈ ( 𝑈 ∩ 𝒫 𝑤 ) ↔ ( 𝑣𝑈𝑣 ∈ 𝒫 𝑤 ) )
46 velpw ( 𝑣 ∈ 𝒫 𝑤𝑣𝑤 )
47 46 anbi2i ( ( 𝑣𝑈𝑣 ∈ 𝒫 𝑤 ) ↔ ( 𝑣𝑈𝑣𝑤 ) )
48 45 47 bitri ( 𝑣 ∈ ( 𝑈 ∩ 𝒫 𝑤 ) ↔ ( 𝑣𝑈𝑣𝑤 ) )
49 48 exbii ( ∃ 𝑣 𝑣 ∈ ( 𝑈 ∩ 𝒫 𝑤 ) ↔ ∃ 𝑣 ( 𝑣𝑈𝑣𝑤 ) )
50 44 49 bitri ( ( 𝑈 ∩ 𝒫 𝑤 ) ≠ ∅ ↔ ∃ 𝑣 ( 𝑣𝑈𝑣𝑤 ) )
51 10 simp1d ( ( ( 𝑋 ≠ ∅ ∧ 𝑈 ∈ ( UnifOn ‘ 𝑋 ) ) ∧ 𝑣𝑈 ) → ∀ 𝑤 ∈ 𝒫 ( 𝑋 × 𝑋 ) ( 𝑣𝑤𝑤𝑈 ) )
52 51 r19.21bi ( ( ( ( 𝑋 ≠ ∅ ∧ 𝑈 ∈ ( UnifOn ‘ 𝑋 ) ) ∧ 𝑣𝑈 ) ∧ 𝑤 ∈ 𝒫 ( 𝑋 × 𝑋 ) ) → ( 𝑣𝑤𝑤𝑈 ) )
53 52 an32s ( ( ( ( 𝑋 ≠ ∅ ∧ 𝑈 ∈ ( UnifOn ‘ 𝑋 ) ) ∧ 𝑤 ∈ 𝒫 ( 𝑋 × 𝑋 ) ) ∧ 𝑣𝑈 ) → ( 𝑣𝑤𝑤𝑈 ) )
54 53 expimpd ( ( ( 𝑋 ≠ ∅ ∧ 𝑈 ∈ ( UnifOn ‘ 𝑋 ) ) ∧ 𝑤 ∈ 𝒫 ( 𝑋 × 𝑋 ) ) → ( ( 𝑣𝑈𝑣𝑤 ) → 𝑤𝑈 ) )
55 54 exlimdv ( ( ( 𝑋 ≠ ∅ ∧ 𝑈 ∈ ( UnifOn ‘ 𝑋 ) ) ∧ 𝑤 ∈ 𝒫 ( 𝑋 × 𝑋 ) ) → ( ∃ 𝑣 ( 𝑣𝑈𝑣𝑤 ) → 𝑤𝑈 ) )
56 50 55 syl5bi ( ( ( 𝑋 ≠ ∅ ∧ 𝑈 ∈ ( UnifOn ‘ 𝑋 ) ) ∧ 𝑤 ∈ 𝒫 ( 𝑋 × 𝑋 ) ) → ( ( 𝑈 ∩ 𝒫 𝑤 ) ≠ ∅ → 𝑤𝑈 ) )
57 56 ralrimiva ( ( 𝑋 ≠ ∅ ∧ 𝑈 ∈ ( UnifOn ‘ 𝑋 ) ) → ∀ 𝑤 ∈ 𝒫 ( 𝑋 × 𝑋 ) ( ( 𝑈 ∩ 𝒫 𝑤 ) ≠ ∅ → 𝑤𝑈 ) )
58 isfil ( 𝑈 ∈ ( Fil ‘ ( 𝑋 × 𝑋 ) ) ↔ ( 𝑈 ∈ ( fBas ‘ ( 𝑋 × 𝑋 ) ) ∧ ∀ 𝑤 ∈ 𝒫 ( 𝑋 × 𝑋 ) ( ( 𝑈 ∩ 𝒫 𝑤 ) ≠ ∅ → 𝑤𝑈 ) ) )
59 43 57 58 sylanbrc ( ( 𝑋 ≠ ∅ ∧ 𝑈 ∈ ( UnifOn ‘ 𝑋 ) ) → 𝑈 ∈ ( Fil ‘ ( 𝑋 × 𝑋 ) ) )