Metamath Proof Explorer


Theorem ufileu

Description: If the ultrafilter containing a given filter is unique, the filter is an ultrafilter. (Contributed by Jeff Hankins, 3-Dec-2009) (Revised by Mario Carneiro, 2-Oct-2015)

Ref Expression
Assertion ufileu ( 𝐹 ∈ ( Fil ‘ 𝑋 ) → ( 𝐹 ∈ ( UFil ‘ 𝑋 ) ↔ ∃! 𝑓 ∈ ( UFil ‘ 𝑋 ) 𝐹𝑓 ) )

Proof

Step Hyp Ref Expression
1 ufilfil ( 𝑓 ∈ ( UFil ‘ 𝑋 ) → 𝑓 ∈ ( Fil ‘ 𝑋 ) )
2 ufilmax ( ( 𝐹 ∈ ( UFil ‘ 𝑋 ) ∧ 𝑓 ∈ ( Fil ‘ 𝑋 ) ∧ 𝐹𝑓 ) → 𝐹 = 𝑓 )
3 2 3expa ( ( ( 𝐹 ∈ ( UFil ‘ 𝑋 ) ∧ 𝑓 ∈ ( Fil ‘ 𝑋 ) ) ∧ 𝐹𝑓 ) → 𝐹 = 𝑓 )
4 3 eqcomd ( ( ( 𝐹 ∈ ( UFil ‘ 𝑋 ) ∧ 𝑓 ∈ ( Fil ‘ 𝑋 ) ) ∧ 𝐹𝑓 ) → 𝑓 = 𝐹 )
5 4 ex ( ( 𝐹 ∈ ( UFil ‘ 𝑋 ) ∧ 𝑓 ∈ ( Fil ‘ 𝑋 ) ) → ( 𝐹𝑓𝑓 = 𝐹 ) )
6 1 5 sylan2 ( ( 𝐹 ∈ ( UFil ‘ 𝑋 ) ∧ 𝑓 ∈ ( UFil ‘ 𝑋 ) ) → ( 𝐹𝑓𝑓 = 𝐹 ) )
7 6 ralrimiva ( 𝐹 ∈ ( UFil ‘ 𝑋 ) → ∀ 𝑓 ∈ ( UFil ‘ 𝑋 ) ( 𝐹𝑓𝑓 = 𝐹 ) )
8 ssid 𝐹𝐹
9 sseq2 ( 𝑓 = 𝐹 → ( 𝐹𝑓𝐹𝐹 ) )
10 9 eqreu ( ( 𝐹 ∈ ( UFil ‘ 𝑋 ) ∧ 𝐹𝐹 ∧ ∀ 𝑓 ∈ ( UFil ‘ 𝑋 ) ( 𝐹𝑓𝑓 = 𝐹 ) ) → ∃! 𝑓 ∈ ( UFil ‘ 𝑋 ) 𝐹𝑓 )
11 8 10 mp3an2 ( ( 𝐹 ∈ ( UFil ‘ 𝑋 ) ∧ ∀ 𝑓 ∈ ( UFil ‘ 𝑋 ) ( 𝐹𝑓𝑓 = 𝐹 ) ) → ∃! 𝑓 ∈ ( UFil ‘ 𝑋 ) 𝐹𝑓 )
12 7 11 mpdan ( 𝐹 ∈ ( UFil ‘ 𝑋 ) → ∃! 𝑓 ∈ ( UFil ‘ 𝑋 ) 𝐹𝑓 )
13 reu6 ( ∃! 𝑓 ∈ ( UFil ‘ 𝑋 ) 𝐹𝑓 ↔ ∃ 𝑔 ∈ ( UFil ‘ 𝑋 ) ∀ 𝑓 ∈ ( UFil ‘ 𝑋 ) ( 𝐹𝑓𝑓 = 𝑔 ) )
14 ibibr ( ( 𝑓 = 𝑔𝐹𝑓 ) ↔ ( 𝑓 = 𝑔 → ( 𝐹𝑓𝑓 = 𝑔 ) ) )
15 14 pm5.74ri ( 𝑓 = 𝑔 → ( 𝐹𝑓 ↔ ( 𝐹𝑓𝑓 = 𝑔 ) ) )
16 sseq2 ( 𝑓 = 𝑔 → ( 𝐹𝑓𝐹𝑔 ) )
17 15 16 bitr3d ( 𝑓 = 𝑔 → ( ( 𝐹𝑓𝑓 = 𝑔 ) ↔ 𝐹𝑔 ) )
18 17 rspcva ( ( 𝑔 ∈ ( UFil ‘ 𝑋 ) ∧ ∀ 𝑓 ∈ ( UFil ‘ 𝑋 ) ( 𝐹𝑓𝑓 = 𝑔 ) ) → 𝐹𝑔 )
19 18 adantll ( ( ( 𝐹 ∈ ( Fil ‘ 𝑋 ) ∧ 𝑔 ∈ ( UFil ‘ 𝑋 ) ) ∧ ∀ 𝑓 ∈ ( UFil ‘ 𝑋 ) ( 𝐹𝑓𝑓 = 𝑔 ) ) → 𝐹𝑔 )
20 ufilfil ( 𝑔 ∈ ( UFil ‘ 𝑋 ) → 𝑔 ∈ ( Fil ‘ 𝑋 ) )
21 filelss ( ( 𝑔 ∈ ( Fil ‘ 𝑋 ) ∧ 𝑥𝑔 ) → 𝑥𝑋 )
22 21 ex ( 𝑔 ∈ ( Fil ‘ 𝑋 ) → ( 𝑥𝑔𝑥𝑋 ) )
23 20 22 syl ( 𝑔 ∈ ( UFil ‘ 𝑋 ) → ( 𝑥𝑔𝑥𝑋 ) )
24 23 ad2antlr ( ( ( 𝐹 ∈ ( Fil ‘ 𝑋 ) ∧ 𝑔 ∈ ( UFil ‘ 𝑋 ) ) ∧ ∀ 𝑓 ∈ ( UFil ‘ 𝑋 ) ( 𝐹𝑓𝑓 = 𝑔 ) ) → ( 𝑥𝑔𝑥𝑋 ) )
25 filsspw ( 𝐹 ∈ ( Fil ‘ 𝑋 ) → 𝐹 ⊆ 𝒫 𝑋 )
26 25 ad2antrr ( ( ( 𝐹 ∈ ( Fil ‘ 𝑋 ) ∧ 𝑔 ∈ ( UFil ‘ 𝑋 ) ) ∧ ( 𝑥𝑋 ∧ ¬ 𝑥𝐹 ) ) → 𝐹 ⊆ 𝒫 𝑋 )
27 difss ( 𝑋𝑥 ) ⊆ 𝑋
28 filtop ( 𝐹 ∈ ( Fil ‘ 𝑋 ) → 𝑋𝐹 )
29 28 ad2antrr ( ( ( 𝐹 ∈ ( Fil ‘ 𝑋 ) ∧ 𝑔 ∈ ( UFil ‘ 𝑋 ) ) ∧ ( 𝑥𝑋 ∧ ¬ 𝑥𝐹 ) ) → 𝑋𝐹 )
30 29 difexd ( ( ( 𝐹 ∈ ( Fil ‘ 𝑋 ) ∧ 𝑔 ∈ ( UFil ‘ 𝑋 ) ) ∧ ( 𝑥𝑋 ∧ ¬ 𝑥𝐹 ) ) → ( 𝑋𝑥 ) ∈ V )
31 elpwg ( ( 𝑋𝑥 ) ∈ V → ( ( 𝑋𝑥 ) ∈ 𝒫 𝑋 ↔ ( 𝑋𝑥 ) ⊆ 𝑋 ) )
32 30 31 syl ( ( ( 𝐹 ∈ ( Fil ‘ 𝑋 ) ∧ 𝑔 ∈ ( UFil ‘ 𝑋 ) ) ∧ ( 𝑥𝑋 ∧ ¬ 𝑥𝐹 ) ) → ( ( 𝑋𝑥 ) ∈ 𝒫 𝑋 ↔ ( 𝑋𝑥 ) ⊆ 𝑋 ) )
33 27 32 mpbiri ( ( ( 𝐹 ∈ ( Fil ‘ 𝑋 ) ∧ 𝑔 ∈ ( UFil ‘ 𝑋 ) ) ∧ ( 𝑥𝑋 ∧ ¬ 𝑥𝐹 ) ) → ( 𝑋𝑥 ) ∈ 𝒫 𝑋 )
34 33 snssd ( ( ( 𝐹 ∈ ( Fil ‘ 𝑋 ) ∧ 𝑔 ∈ ( UFil ‘ 𝑋 ) ) ∧ ( 𝑥𝑋 ∧ ¬ 𝑥𝐹 ) ) → { ( 𝑋𝑥 ) } ⊆ 𝒫 𝑋 )
35 26 34 unssd ( ( ( 𝐹 ∈ ( Fil ‘ 𝑋 ) ∧ 𝑔 ∈ ( UFil ‘ 𝑋 ) ) ∧ ( 𝑥𝑋 ∧ ¬ 𝑥𝐹 ) ) → ( 𝐹 ∪ { ( 𝑋𝑥 ) } ) ⊆ 𝒫 𝑋 )
36 ssun1 𝐹 ⊆ ( 𝐹 ∪ { ( 𝑋𝑥 ) } )
37 filn0 ( 𝐹 ∈ ( Fil ‘ 𝑋 ) → 𝐹 ≠ ∅ )
38 37 ad2antrr ( ( ( 𝐹 ∈ ( Fil ‘ 𝑋 ) ∧ 𝑔 ∈ ( UFil ‘ 𝑋 ) ) ∧ ( 𝑥𝑋 ∧ ¬ 𝑥𝐹 ) ) → 𝐹 ≠ ∅ )
39 ssn0 ( ( 𝐹 ⊆ ( 𝐹 ∪ { ( 𝑋𝑥 ) } ) ∧ 𝐹 ≠ ∅ ) → ( 𝐹 ∪ { ( 𝑋𝑥 ) } ) ≠ ∅ )
40 36 38 39 sylancr ( ( ( 𝐹 ∈ ( Fil ‘ 𝑋 ) ∧ 𝑔 ∈ ( UFil ‘ 𝑋 ) ) ∧ ( 𝑥𝑋 ∧ ¬ 𝑥𝐹 ) ) → ( 𝐹 ∪ { ( 𝑋𝑥 ) } ) ≠ ∅ )
41 filelss ( ( 𝐹 ∈ ( Fil ‘ 𝑋 ) ∧ 𝑓𝐹 ) → 𝑓𝑋 )
42 41 ad2ant2rl ( ( ( 𝐹 ∈ ( Fil ‘ 𝑋 ) ∧ 𝑔 ∈ ( UFil ‘ 𝑋 ) ) ∧ ( 𝑥𝑋𝑓𝐹 ) ) → 𝑓𝑋 )
43 df-ss ( 𝑓𝑋 ↔ ( 𝑓𝑋 ) = 𝑓 )
44 42 43 sylib ( ( ( 𝐹 ∈ ( Fil ‘ 𝑋 ) ∧ 𝑔 ∈ ( UFil ‘ 𝑋 ) ) ∧ ( 𝑥𝑋𝑓𝐹 ) ) → ( 𝑓𝑋 ) = 𝑓 )
45 44 sseq1d ( ( ( 𝐹 ∈ ( Fil ‘ 𝑋 ) ∧ 𝑔 ∈ ( UFil ‘ 𝑋 ) ) ∧ ( 𝑥𝑋𝑓𝐹 ) ) → ( ( 𝑓𝑋 ) ⊆ 𝑥𝑓𝑥 ) )
46 filss ( ( 𝐹 ∈ ( Fil ‘ 𝑋 ) ∧ ( 𝑓𝐹𝑥𝑋𝑓𝑥 ) ) → 𝑥𝐹 )
47 46 3exp2 ( 𝐹 ∈ ( Fil ‘ 𝑋 ) → ( 𝑓𝐹 → ( 𝑥𝑋 → ( 𝑓𝑥𝑥𝐹 ) ) ) )
48 47 impcomd ( 𝐹 ∈ ( Fil ‘ 𝑋 ) → ( ( 𝑥𝑋𝑓𝐹 ) → ( 𝑓𝑥𝑥𝐹 ) ) )
49 48 adantr ( ( 𝐹 ∈ ( Fil ‘ 𝑋 ) ∧ 𝑔 ∈ ( UFil ‘ 𝑋 ) ) → ( ( 𝑥𝑋𝑓𝐹 ) → ( 𝑓𝑥𝑥𝐹 ) ) )
50 49 imp ( ( ( 𝐹 ∈ ( Fil ‘ 𝑋 ) ∧ 𝑔 ∈ ( UFil ‘ 𝑋 ) ) ∧ ( 𝑥𝑋𝑓𝐹 ) ) → ( 𝑓𝑥𝑥𝐹 ) )
51 45 50 sylbid ( ( ( 𝐹 ∈ ( Fil ‘ 𝑋 ) ∧ 𝑔 ∈ ( UFil ‘ 𝑋 ) ) ∧ ( 𝑥𝑋𝑓𝐹 ) ) → ( ( 𝑓𝑋 ) ⊆ 𝑥𝑥𝐹 ) )
52 51 con3d ( ( ( 𝐹 ∈ ( Fil ‘ 𝑋 ) ∧ 𝑔 ∈ ( UFil ‘ 𝑋 ) ) ∧ ( 𝑥𝑋𝑓𝐹 ) ) → ( ¬ 𝑥𝐹 → ¬ ( 𝑓𝑋 ) ⊆ 𝑥 ) )
53 52 expr ( ( ( 𝐹 ∈ ( Fil ‘ 𝑋 ) ∧ 𝑔 ∈ ( UFil ‘ 𝑋 ) ) ∧ 𝑥𝑋 ) → ( 𝑓𝐹 → ( ¬ 𝑥𝐹 → ¬ ( 𝑓𝑋 ) ⊆ 𝑥 ) ) )
54 53 com23 ( ( ( 𝐹 ∈ ( Fil ‘ 𝑋 ) ∧ 𝑔 ∈ ( UFil ‘ 𝑋 ) ) ∧ 𝑥𝑋 ) → ( ¬ 𝑥𝐹 → ( 𝑓𝐹 → ¬ ( 𝑓𝑋 ) ⊆ 𝑥 ) ) )
55 54 impr ( ( ( 𝐹 ∈ ( Fil ‘ 𝑋 ) ∧ 𝑔 ∈ ( UFil ‘ 𝑋 ) ) ∧ ( 𝑥𝑋 ∧ ¬ 𝑥𝐹 ) ) → ( 𝑓𝐹 → ¬ ( 𝑓𝑋 ) ⊆ 𝑥 ) )
56 55 imp ( ( ( ( 𝐹 ∈ ( Fil ‘ 𝑋 ) ∧ 𝑔 ∈ ( UFil ‘ 𝑋 ) ) ∧ ( 𝑥𝑋 ∧ ¬ 𝑥𝐹 ) ) ∧ 𝑓𝐹 ) → ¬ ( 𝑓𝑋 ) ⊆ 𝑥 )
57 ineq2 ( 𝑔 = ( 𝑋𝑥 ) → ( 𝑓𝑔 ) = ( 𝑓 ∩ ( 𝑋𝑥 ) ) )
58 57 neeq1d ( 𝑔 = ( 𝑋𝑥 ) → ( ( 𝑓𝑔 ) ≠ ∅ ↔ ( 𝑓 ∩ ( 𝑋𝑥 ) ) ≠ ∅ ) )
59 58 ralsng ( ( 𝑋𝑥 ) ∈ V → ( ∀ 𝑔 ∈ { ( 𝑋𝑥 ) } ( 𝑓𝑔 ) ≠ ∅ ↔ ( 𝑓 ∩ ( 𝑋𝑥 ) ) ≠ ∅ ) )
60 inssdif0 ( ( 𝑓𝑋 ) ⊆ 𝑥 ↔ ( 𝑓 ∩ ( 𝑋𝑥 ) ) = ∅ )
61 60 necon3bbii ( ¬ ( 𝑓𝑋 ) ⊆ 𝑥 ↔ ( 𝑓 ∩ ( 𝑋𝑥 ) ) ≠ ∅ )
62 59 61 bitr4di ( ( 𝑋𝑥 ) ∈ V → ( ∀ 𝑔 ∈ { ( 𝑋𝑥 ) } ( 𝑓𝑔 ) ≠ ∅ ↔ ¬ ( 𝑓𝑋 ) ⊆ 𝑥 ) )
63 30 62 syl ( ( ( 𝐹 ∈ ( Fil ‘ 𝑋 ) ∧ 𝑔 ∈ ( UFil ‘ 𝑋 ) ) ∧ ( 𝑥𝑋 ∧ ¬ 𝑥𝐹 ) ) → ( ∀ 𝑔 ∈ { ( 𝑋𝑥 ) } ( 𝑓𝑔 ) ≠ ∅ ↔ ¬ ( 𝑓𝑋 ) ⊆ 𝑥 ) )
64 63 adantr ( ( ( ( 𝐹 ∈ ( Fil ‘ 𝑋 ) ∧ 𝑔 ∈ ( UFil ‘ 𝑋 ) ) ∧ ( 𝑥𝑋 ∧ ¬ 𝑥𝐹 ) ) ∧ 𝑓𝐹 ) → ( ∀ 𝑔 ∈ { ( 𝑋𝑥 ) } ( 𝑓𝑔 ) ≠ ∅ ↔ ¬ ( 𝑓𝑋 ) ⊆ 𝑥 ) )
65 56 64 mpbird ( ( ( ( 𝐹 ∈ ( Fil ‘ 𝑋 ) ∧ 𝑔 ∈ ( UFil ‘ 𝑋 ) ) ∧ ( 𝑥𝑋 ∧ ¬ 𝑥𝐹 ) ) ∧ 𝑓𝐹 ) → ∀ 𝑔 ∈ { ( 𝑋𝑥 ) } ( 𝑓𝑔 ) ≠ ∅ )
66 65 ralrimiva ( ( ( 𝐹 ∈ ( Fil ‘ 𝑋 ) ∧ 𝑔 ∈ ( UFil ‘ 𝑋 ) ) ∧ ( 𝑥𝑋 ∧ ¬ 𝑥𝐹 ) ) → ∀ 𝑓𝐹𝑔 ∈ { ( 𝑋𝑥 ) } ( 𝑓𝑔 ) ≠ ∅ )
67 filfbas ( 𝐹 ∈ ( Fil ‘ 𝑋 ) → 𝐹 ∈ ( fBas ‘ 𝑋 ) )
68 67 ad2antrr ( ( ( 𝐹 ∈ ( Fil ‘ 𝑋 ) ∧ 𝑔 ∈ ( UFil ‘ 𝑋 ) ) ∧ ( 𝑥𝑋 ∧ ¬ 𝑥𝐹 ) ) → 𝐹 ∈ ( fBas ‘ 𝑋 ) )
69 difssd ( ( ( 𝐹 ∈ ( Fil ‘ 𝑋 ) ∧ 𝑔 ∈ ( UFil ‘ 𝑋 ) ) ∧ ( 𝑥𝑋 ∧ ¬ 𝑥𝐹 ) ) → ( 𝑋𝑥 ) ⊆ 𝑋 )
70 ssdif0 ( 𝑋𝑥 ↔ ( 𝑋𝑥 ) = ∅ )
71 eqss ( 𝑥 = 𝑋 ↔ ( 𝑥𝑋𝑋𝑥 ) )
72 71 simplbi2 ( 𝑥𝑋 → ( 𝑋𝑥𝑥 = 𝑋 ) )
73 eleq1 ( 𝑥 = 𝑋 → ( 𝑥𝐹𝑋𝐹 ) )
74 73 notbid ( 𝑥 = 𝑋 → ( ¬ 𝑥𝐹 ↔ ¬ 𝑋𝐹 ) )
75 74 biimpcd ( ¬ 𝑥𝐹 → ( 𝑥 = 𝑋 → ¬ 𝑋𝐹 ) )
76 72 75 sylan9 ( ( 𝑥𝑋 ∧ ¬ 𝑥𝐹 ) → ( 𝑋𝑥 → ¬ 𝑋𝐹 ) )
77 76 adantl ( ( ( 𝐹 ∈ ( Fil ‘ 𝑋 ) ∧ 𝑔 ∈ ( UFil ‘ 𝑋 ) ) ∧ ( 𝑥𝑋 ∧ ¬ 𝑥𝐹 ) ) → ( 𝑋𝑥 → ¬ 𝑋𝐹 ) )
78 70 77 syl5bir ( ( ( 𝐹 ∈ ( Fil ‘ 𝑋 ) ∧ 𝑔 ∈ ( UFil ‘ 𝑋 ) ) ∧ ( 𝑥𝑋 ∧ ¬ 𝑥𝐹 ) ) → ( ( 𝑋𝑥 ) = ∅ → ¬ 𝑋𝐹 ) )
79 78 necon2ad ( ( ( 𝐹 ∈ ( Fil ‘ 𝑋 ) ∧ 𝑔 ∈ ( UFil ‘ 𝑋 ) ) ∧ ( 𝑥𝑋 ∧ ¬ 𝑥𝐹 ) ) → ( 𝑋𝐹 → ( 𝑋𝑥 ) ≠ ∅ ) )
80 29 79 mpd ( ( ( 𝐹 ∈ ( Fil ‘ 𝑋 ) ∧ 𝑔 ∈ ( UFil ‘ 𝑋 ) ) ∧ ( 𝑥𝑋 ∧ ¬ 𝑥𝐹 ) ) → ( 𝑋𝑥 ) ≠ ∅ )
81 snfbas ( ( ( 𝑋𝑥 ) ⊆ 𝑋 ∧ ( 𝑋𝑥 ) ≠ ∅ ∧ 𝑋𝐹 ) → { ( 𝑋𝑥 ) } ∈ ( fBas ‘ 𝑋 ) )
82 69 80 29 81 syl3anc ( ( ( 𝐹 ∈ ( Fil ‘ 𝑋 ) ∧ 𝑔 ∈ ( UFil ‘ 𝑋 ) ) ∧ ( 𝑥𝑋 ∧ ¬ 𝑥𝐹 ) ) → { ( 𝑋𝑥 ) } ∈ ( fBas ‘ 𝑋 ) )
83 fbunfip ( ( 𝐹 ∈ ( fBas ‘ 𝑋 ) ∧ { ( 𝑋𝑥 ) } ∈ ( fBas ‘ 𝑋 ) ) → ( ¬ ∅ ∈ ( fi ‘ ( 𝐹 ∪ { ( 𝑋𝑥 ) } ) ) ↔ ∀ 𝑓𝐹𝑔 ∈ { ( 𝑋𝑥 ) } ( 𝑓𝑔 ) ≠ ∅ ) )
84 68 82 83 syl2anc ( ( ( 𝐹 ∈ ( Fil ‘ 𝑋 ) ∧ 𝑔 ∈ ( UFil ‘ 𝑋 ) ) ∧ ( 𝑥𝑋 ∧ ¬ 𝑥𝐹 ) ) → ( ¬ ∅ ∈ ( fi ‘ ( 𝐹 ∪ { ( 𝑋𝑥 ) } ) ) ↔ ∀ 𝑓𝐹𝑔 ∈ { ( 𝑋𝑥 ) } ( 𝑓𝑔 ) ≠ ∅ ) )
85 66 84 mpbird ( ( ( 𝐹 ∈ ( Fil ‘ 𝑋 ) ∧ 𝑔 ∈ ( UFil ‘ 𝑋 ) ) ∧ ( 𝑥𝑋 ∧ ¬ 𝑥𝐹 ) ) → ¬ ∅ ∈ ( fi ‘ ( 𝐹 ∪ { ( 𝑋𝑥 ) } ) ) )
86 fsubbas ( 𝑋𝐹 → ( ( fi ‘ ( 𝐹 ∪ { ( 𝑋𝑥 ) } ) ) ∈ ( fBas ‘ 𝑋 ) ↔ ( ( 𝐹 ∪ { ( 𝑋𝑥 ) } ) ⊆ 𝒫 𝑋 ∧ ( 𝐹 ∪ { ( 𝑋𝑥 ) } ) ≠ ∅ ∧ ¬ ∅ ∈ ( fi ‘ ( 𝐹 ∪ { ( 𝑋𝑥 ) } ) ) ) ) )
87 29 86 syl ( ( ( 𝐹 ∈ ( Fil ‘ 𝑋 ) ∧ 𝑔 ∈ ( UFil ‘ 𝑋 ) ) ∧ ( 𝑥𝑋 ∧ ¬ 𝑥𝐹 ) ) → ( ( fi ‘ ( 𝐹 ∪ { ( 𝑋𝑥 ) } ) ) ∈ ( fBas ‘ 𝑋 ) ↔ ( ( 𝐹 ∪ { ( 𝑋𝑥 ) } ) ⊆ 𝒫 𝑋 ∧ ( 𝐹 ∪ { ( 𝑋𝑥 ) } ) ≠ ∅ ∧ ¬ ∅ ∈ ( fi ‘ ( 𝐹 ∪ { ( 𝑋𝑥 ) } ) ) ) ) )
88 35 40 85 87 mpbir3and ( ( ( 𝐹 ∈ ( Fil ‘ 𝑋 ) ∧ 𝑔 ∈ ( UFil ‘ 𝑋 ) ) ∧ ( 𝑥𝑋 ∧ ¬ 𝑥𝐹 ) ) → ( fi ‘ ( 𝐹 ∪ { ( 𝑋𝑥 ) } ) ) ∈ ( fBas ‘ 𝑋 ) )
89 fgcl ( ( fi ‘ ( 𝐹 ∪ { ( 𝑋𝑥 ) } ) ) ∈ ( fBas ‘ 𝑋 ) → ( 𝑋 filGen ( fi ‘ ( 𝐹 ∪ { ( 𝑋𝑥 ) } ) ) ) ∈ ( Fil ‘ 𝑋 ) )
90 88 89 syl ( ( ( 𝐹 ∈ ( Fil ‘ 𝑋 ) ∧ 𝑔 ∈ ( UFil ‘ 𝑋 ) ) ∧ ( 𝑥𝑋 ∧ ¬ 𝑥𝐹 ) ) → ( 𝑋 filGen ( fi ‘ ( 𝐹 ∪ { ( 𝑋𝑥 ) } ) ) ) ∈ ( Fil ‘ 𝑋 ) )
91 filssufil ( ( 𝑋 filGen ( fi ‘ ( 𝐹 ∪ { ( 𝑋𝑥 ) } ) ) ) ∈ ( Fil ‘ 𝑋 ) → ∃ 𝑓 ∈ ( UFil ‘ 𝑋 ) ( 𝑋 filGen ( fi ‘ ( 𝐹 ∪ { ( 𝑋𝑥 ) } ) ) ) ⊆ 𝑓 )
92 90 91 syl ( ( ( 𝐹 ∈ ( Fil ‘ 𝑋 ) ∧ 𝑔 ∈ ( UFil ‘ 𝑋 ) ) ∧ ( 𝑥𝑋 ∧ ¬ 𝑥𝐹 ) ) → ∃ 𝑓 ∈ ( UFil ‘ 𝑋 ) ( 𝑋 filGen ( fi ‘ ( 𝐹 ∪ { ( 𝑋𝑥 ) } ) ) ) ⊆ 𝑓 )
93 r19.29 ( ( ∀ 𝑓 ∈ ( UFil ‘ 𝑋 ) ( 𝐹𝑓𝑓 = 𝑔 ) ∧ ∃ 𝑓 ∈ ( UFil ‘ 𝑋 ) ( 𝑋 filGen ( fi ‘ ( 𝐹 ∪ { ( 𝑋𝑥 ) } ) ) ) ⊆ 𝑓 ) → ∃ 𝑓 ∈ ( UFil ‘ 𝑋 ) ( ( 𝐹𝑓𝑓 = 𝑔 ) ∧ ( 𝑋 filGen ( fi ‘ ( 𝐹 ∪ { ( 𝑋𝑥 ) } ) ) ) ⊆ 𝑓 ) )
94 biimp ( ( 𝐹𝑓𝑓 = 𝑔 ) → ( 𝐹𝑓𝑓 = 𝑔 ) )
95 simpll ( ( ( 𝐹 ∈ ( Fil ‘ 𝑋 ) ∧ 𝑔 ∈ ( UFil ‘ 𝑋 ) ) ∧ ( 𝑥𝑋 ∧ ¬ 𝑥𝐹 ) ) → 𝐹 ∈ ( Fil ‘ 𝑋 ) )
96 snex { ( 𝑋𝑥 ) } ∈ V
97 unexg ( ( 𝐹 ∈ ( Fil ‘ 𝑋 ) ∧ { ( 𝑋𝑥 ) } ∈ V ) → ( 𝐹 ∪ { ( 𝑋𝑥 ) } ) ∈ V )
98 95 96 97 sylancl ( ( ( 𝐹 ∈ ( Fil ‘ 𝑋 ) ∧ 𝑔 ∈ ( UFil ‘ 𝑋 ) ) ∧ ( 𝑥𝑋 ∧ ¬ 𝑥𝐹 ) ) → ( 𝐹 ∪ { ( 𝑋𝑥 ) } ) ∈ V )
99 ssfii ( ( 𝐹 ∪ { ( 𝑋𝑥 ) } ) ∈ V → ( 𝐹 ∪ { ( 𝑋𝑥 ) } ) ⊆ ( fi ‘ ( 𝐹 ∪ { ( 𝑋𝑥 ) } ) ) )
100 98 99 syl ( ( ( 𝐹 ∈ ( Fil ‘ 𝑋 ) ∧ 𝑔 ∈ ( UFil ‘ 𝑋 ) ) ∧ ( 𝑥𝑋 ∧ ¬ 𝑥𝐹 ) ) → ( 𝐹 ∪ { ( 𝑋𝑥 ) } ) ⊆ ( fi ‘ ( 𝐹 ∪ { ( 𝑋𝑥 ) } ) ) )
101 ssfg ( ( fi ‘ ( 𝐹 ∪ { ( 𝑋𝑥 ) } ) ) ∈ ( fBas ‘ 𝑋 ) → ( fi ‘ ( 𝐹 ∪ { ( 𝑋𝑥 ) } ) ) ⊆ ( 𝑋 filGen ( fi ‘ ( 𝐹 ∪ { ( 𝑋𝑥 ) } ) ) ) )
102 88 101 syl ( ( ( 𝐹 ∈ ( Fil ‘ 𝑋 ) ∧ 𝑔 ∈ ( UFil ‘ 𝑋 ) ) ∧ ( 𝑥𝑋 ∧ ¬ 𝑥𝐹 ) ) → ( fi ‘ ( 𝐹 ∪ { ( 𝑋𝑥 ) } ) ) ⊆ ( 𝑋 filGen ( fi ‘ ( 𝐹 ∪ { ( 𝑋𝑥 ) } ) ) ) )
103 100 102 sstrd ( ( ( 𝐹 ∈ ( Fil ‘ 𝑋 ) ∧ 𝑔 ∈ ( UFil ‘ 𝑋 ) ) ∧ ( 𝑥𝑋 ∧ ¬ 𝑥𝐹 ) ) → ( 𝐹 ∪ { ( 𝑋𝑥 ) } ) ⊆ ( 𝑋 filGen ( fi ‘ ( 𝐹 ∪ { ( 𝑋𝑥 ) } ) ) ) )
104 103 unssad ( ( ( 𝐹 ∈ ( Fil ‘ 𝑋 ) ∧ 𝑔 ∈ ( UFil ‘ 𝑋 ) ) ∧ ( 𝑥𝑋 ∧ ¬ 𝑥𝐹 ) ) → 𝐹 ⊆ ( 𝑋 filGen ( fi ‘ ( 𝐹 ∪ { ( 𝑋𝑥 ) } ) ) ) )
105 sstr2 ( 𝐹 ⊆ ( 𝑋 filGen ( fi ‘ ( 𝐹 ∪ { ( 𝑋𝑥 ) } ) ) ) → ( ( 𝑋 filGen ( fi ‘ ( 𝐹 ∪ { ( 𝑋𝑥 ) } ) ) ) ⊆ 𝑓𝐹𝑓 ) )
106 104 105 syl ( ( ( 𝐹 ∈ ( Fil ‘ 𝑋 ) ∧ 𝑔 ∈ ( UFil ‘ 𝑋 ) ) ∧ ( 𝑥𝑋 ∧ ¬ 𝑥𝐹 ) ) → ( ( 𝑋 filGen ( fi ‘ ( 𝐹 ∪ { ( 𝑋𝑥 ) } ) ) ) ⊆ 𝑓𝐹𝑓 ) )
107 106 imim1d ( ( ( 𝐹 ∈ ( Fil ‘ 𝑋 ) ∧ 𝑔 ∈ ( UFil ‘ 𝑋 ) ) ∧ ( 𝑥𝑋 ∧ ¬ 𝑥𝐹 ) ) → ( ( 𝐹𝑓𝑓 = 𝑔 ) → ( ( 𝑋 filGen ( fi ‘ ( 𝐹 ∪ { ( 𝑋𝑥 ) } ) ) ) ⊆ 𝑓𝑓 = 𝑔 ) ) )
108 sseq2 ( 𝑓 = 𝑔 → ( ( 𝑋 filGen ( fi ‘ ( 𝐹 ∪ { ( 𝑋𝑥 ) } ) ) ) ⊆ 𝑓 ↔ ( 𝑋 filGen ( fi ‘ ( 𝐹 ∪ { ( 𝑋𝑥 ) } ) ) ) ⊆ 𝑔 ) )
109 108 biimpcd ( ( 𝑋 filGen ( fi ‘ ( 𝐹 ∪ { ( 𝑋𝑥 ) } ) ) ) ⊆ 𝑓 → ( 𝑓 = 𝑔 → ( 𝑋 filGen ( fi ‘ ( 𝐹 ∪ { ( 𝑋𝑥 ) } ) ) ) ⊆ 𝑔 ) )
110 109 a2i ( ( ( 𝑋 filGen ( fi ‘ ( 𝐹 ∪ { ( 𝑋𝑥 ) } ) ) ) ⊆ 𝑓𝑓 = 𝑔 ) → ( ( 𝑋 filGen ( fi ‘ ( 𝐹 ∪ { ( 𝑋𝑥 ) } ) ) ) ⊆ 𝑓 → ( 𝑋 filGen ( fi ‘ ( 𝐹 ∪ { ( 𝑋𝑥 ) } ) ) ) ⊆ 𝑔 ) )
111 94 107 110 syl56 ( ( ( 𝐹 ∈ ( Fil ‘ 𝑋 ) ∧ 𝑔 ∈ ( UFil ‘ 𝑋 ) ) ∧ ( 𝑥𝑋 ∧ ¬ 𝑥𝐹 ) ) → ( ( 𝐹𝑓𝑓 = 𝑔 ) → ( ( 𝑋 filGen ( fi ‘ ( 𝐹 ∪ { ( 𝑋𝑥 ) } ) ) ) ⊆ 𝑓 → ( 𝑋 filGen ( fi ‘ ( 𝐹 ∪ { ( 𝑋𝑥 ) } ) ) ) ⊆ 𝑔 ) ) )
112 111 impd ( ( ( 𝐹 ∈ ( Fil ‘ 𝑋 ) ∧ 𝑔 ∈ ( UFil ‘ 𝑋 ) ) ∧ ( 𝑥𝑋 ∧ ¬ 𝑥𝐹 ) ) → ( ( ( 𝐹𝑓𝑓 = 𝑔 ) ∧ ( 𝑋 filGen ( fi ‘ ( 𝐹 ∪ { ( 𝑋𝑥 ) } ) ) ) ⊆ 𝑓 ) → ( 𝑋 filGen ( fi ‘ ( 𝐹 ∪ { ( 𝑋𝑥 ) } ) ) ) ⊆ 𝑔 ) )
113 112 rexlimdvw ( ( ( 𝐹 ∈ ( Fil ‘ 𝑋 ) ∧ 𝑔 ∈ ( UFil ‘ 𝑋 ) ) ∧ ( 𝑥𝑋 ∧ ¬ 𝑥𝐹 ) ) → ( ∃ 𝑓 ∈ ( UFil ‘ 𝑋 ) ( ( 𝐹𝑓𝑓 = 𝑔 ) ∧ ( 𝑋 filGen ( fi ‘ ( 𝐹 ∪ { ( 𝑋𝑥 ) } ) ) ) ⊆ 𝑓 ) → ( 𝑋 filGen ( fi ‘ ( 𝐹 ∪ { ( 𝑋𝑥 ) } ) ) ) ⊆ 𝑔 ) )
114 93 113 syl5 ( ( ( 𝐹 ∈ ( Fil ‘ 𝑋 ) ∧ 𝑔 ∈ ( UFil ‘ 𝑋 ) ) ∧ ( 𝑥𝑋 ∧ ¬ 𝑥𝐹 ) ) → ( ( ∀ 𝑓 ∈ ( UFil ‘ 𝑋 ) ( 𝐹𝑓𝑓 = 𝑔 ) ∧ ∃ 𝑓 ∈ ( UFil ‘ 𝑋 ) ( 𝑋 filGen ( fi ‘ ( 𝐹 ∪ { ( 𝑋𝑥 ) } ) ) ) ⊆ 𝑓 ) → ( 𝑋 filGen ( fi ‘ ( 𝐹 ∪ { ( 𝑋𝑥 ) } ) ) ) ⊆ 𝑔 ) )
115 92 114 mpan2d ( ( ( 𝐹 ∈ ( Fil ‘ 𝑋 ) ∧ 𝑔 ∈ ( UFil ‘ 𝑋 ) ) ∧ ( 𝑥𝑋 ∧ ¬ 𝑥𝐹 ) ) → ( ∀ 𝑓 ∈ ( UFil ‘ 𝑋 ) ( 𝐹𝑓𝑓 = 𝑔 ) → ( 𝑋 filGen ( fi ‘ ( 𝐹 ∪ { ( 𝑋𝑥 ) } ) ) ) ⊆ 𝑔 ) )
116 115 imp ( ( ( ( 𝐹 ∈ ( Fil ‘ 𝑋 ) ∧ 𝑔 ∈ ( UFil ‘ 𝑋 ) ) ∧ ( 𝑥𝑋 ∧ ¬ 𝑥𝐹 ) ) ∧ ∀ 𝑓 ∈ ( UFil ‘ 𝑋 ) ( 𝐹𝑓𝑓 = 𝑔 ) ) → ( 𝑋 filGen ( fi ‘ ( 𝐹 ∪ { ( 𝑋𝑥 ) } ) ) ) ⊆ 𝑔 )
117 116 an32s ( ( ( ( 𝐹 ∈ ( Fil ‘ 𝑋 ) ∧ 𝑔 ∈ ( UFil ‘ 𝑋 ) ) ∧ ∀ 𝑓 ∈ ( UFil ‘ 𝑋 ) ( 𝐹𝑓𝑓 = 𝑔 ) ) ∧ ( 𝑥𝑋 ∧ ¬ 𝑥𝐹 ) ) → ( 𝑋 filGen ( fi ‘ ( 𝐹 ∪ { ( 𝑋𝑥 ) } ) ) ) ⊆ 𝑔 )
118 snidg ( ( 𝑋𝑥 ) ∈ V → ( 𝑋𝑥 ) ∈ { ( 𝑋𝑥 ) } )
119 30 118 syl ( ( ( 𝐹 ∈ ( Fil ‘ 𝑋 ) ∧ 𝑔 ∈ ( UFil ‘ 𝑋 ) ) ∧ ( 𝑥𝑋 ∧ ¬ 𝑥𝐹 ) ) → ( 𝑋𝑥 ) ∈ { ( 𝑋𝑥 ) } )
120 elun2 ( ( 𝑋𝑥 ) ∈ { ( 𝑋𝑥 ) } → ( 𝑋𝑥 ) ∈ ( 𝐹 ∪ { ( 𝑋𝑥 ) } ) )
121 119 120 syl ( ( ( 𝐹 ∈ ( Fil ‘ 𝑋 ) ∧ 𝑔 ∈ ( UFil ‘ 𝑋 ) ) ∧ ( 𝑥𝑋 ∧ ¬ 𝑥𝐹 ) ) → ( 𝑋𝑥 ) ∈ ( 𝐹 ∪ { ( 𝑋𝑥 ) } ) )
122 103 121 sseldd ( ( ( 𝐹 ∈ ( Fil ‘ 𝑋 ) ∧ 𝑔 ∈ ( UFil ‘ 𝑋 ) ) ∧ ( 𝑥𝑋 ∧ ¬ 𝑥𝐹 ) ) → ( 𝑋𝑥 ) ∈ ( 𝑋 filGen ( fi ‘ ( 𝐹 ∪ { ( 𝑋𝑥 ) } ) ) ) )
123 122 adantlr ( ( ( ( 𝐹 ∈ ( Fil ‘ 𝑋 ) ∧ 𝑔 ∈ ( UFil ‘ 𝑋 ) ) ∧ ∀ 𝑓 ∈ ( UFil ‘ 𝑋 ) ( 𝐹𝑓𝑓 = 𝑔 ) ) ∧ ( 𝑥𝑋 ∧ ¬ 𝑥𝐹 ) ) → ( 𝑋𝑥 ) ∈ ( 𝑋 filGen ( fi ‘ ( 𝐹 ∪ { ( 𝑋𝑥 ) } ) ) ) )
124 117 123 sseldd ( ( ( ( 𝐹 ∈ ( Fil ‘ 𝑋 ) ∧ 𝑔 ∈ ( UFil ‘ 𝑋 ) ) ∧ ∀ 𝑓 ∈ ( UFil ‘ 𝑋 ) ( 𝐹𝑓𝑓 = 𝑔 ) ) ∧ ( 𝑥𝑋 ∧ ¬ 𝑥𝐹 ) ) → ( 𝑋𝑥 ) ∈ 𝑔 )
125 simpllr ( ( ( ( 𝐹 ∈ ( Fil ‘ 𝑋 ) ∧ 𝑔 ∈ ( UFil ‘ 𝑋 ) ) ∧ ∀ 𝑓 ∈ ( UFil ‘ 𝑋 ) ( 𝐹𝑓𝑓 = 𝑔 ) ) ∧ ( 𝑥𝑋 ∧ ¬ 𝑥𝐹 ) ) → 𝑔 ∈ ( UFil ‘ 𝑋 ) )
126 simprl ( ( ( ( 𝐹 ∈ ( Fil ‘ 𝑋 ) ∧ 𝑔 ∈ ( UFil ‘ 𝑋 ) ) ∧ ∀ 𝑓 ∈ ( UFil ‘ 𝑋 ) ( 𝐹𝑓𝑓 = 𝑔 ) ) ∧ ( 𝑥𝑋 ∧ ¬ 𝑥𝐹 ) ) → 𝑥𝑋 )
127 ufilb ( ( 𝑔 ∈ ( UFil ‘ 𝑋 ) ∧ 𝑥𝑋 ) → ( ¬ 𝑥𝑔 ↔ ( 𝑋𝑥 ) ∈ 𝑔 ) )
128 125 126 127 syl2anc ( ( ( ( 𝐹 ∈ ( Fil ‘ 𝑋 ) ∧ 𝑔 ∈ ( UFil ‘ 𝑋 ) ) ∧ ∀ 𝑓 ∈ ( UFil ‘ 𝑋 ) ( 𝐹𝑓𝑓 = 𝑔 ) ) ∧ ( 𝑥𝑋 ∧ ¬ 𝑥𝐹 ) ) → ( ¬ 𝑥𝑔 ↔ ( 𝑋𝑥 ) ∈ 𝑔 ) )
129 124 128 mpbird ( ( ( ( 𝐹 ∈ ( Fil ‘ 𝑋 ) ∧ 𝑔 ∈ ( UFil ‘ 𝑋 ) ) ∧ ∀ 𝑓 ∈ ( UFil ‘ 𝑋 ) ( 𝐹𝑓𝑓 = 𝑔 ) ) ∧ ( 𝑥𝑋 ∧ ¬ 𝑥𝐹 ) ) → ¬ 𝑥𝑔 )
130 129 expr ( ( ( ( 𝐹 ∈ ( Fil ‘ 𝑋 ) ∧ 𝑔 ∈ ( UFil ‘ 𝑋 ) ) ∧ ∀ 𝑓 ∈ ( UFil ‘ 𝑋 ) ( 𝐹𝑓𝑓 = 𝑔 ) ) ∧ 𝑥𝑋 ) → ( ¬ 𝑥𝐹 → ¬ 𝑥𝑔 ) )
131 130 con4d ( ( ( ( 𝐹 ∈ ( Fil ‘ 𝑋 ) ∧ 𝑔 ∈ ( UFil ‘ 𝑋 ) ) ∧ ∀ 𝑓 ∈ ( UFil ‘ 𝑋 ) ( 𝐹𝑓𝑓 = 𝑔 ) ) ∧ 𝑥𝑋 ) → ( 𝑥𝑔𝑥𝐹 ) )
132 131 ex ( ( ( 𝐹 ∈ ( Fil ‘ 𝑋 ) ∧ 𝑔 ∈ ( UFil ‘ 𝑋 ) ) ∧ ∀ 𝑓 ∈ ( UFil ‘ 𝑋 ) ( 𝐹𝑓𝑓 = 𝑔 ) ) → ( 𝑥𝑋 → ( 𝑥𝑔𝑥𝐹 ) ) )
133 132 com23 ( ( ( 𝐹 ∈ ( Fil ‘ 𝑋 ) ∧ 𝑔 ∈ ( UFil ‘ 𝑋 ) ) ∧ ∀ 𝑓 ∈ ( UFil ‘ 𝑋 ) ( 𝐹𝑓𝑓 = 𝑔 ) ) → ( 𝑥𝑔 → ( 𝑥𝑋𝑥𝐹 ) ) )
134 24 133 mpdd ( ( ( 𝐹 ∈ ( Fil ‘ 𝑋 ) ∧ 𝑔 ∈ ( UFil ‘ 𝑋 ) ) ∧ ∀ 𝑓 ∈ ( UFil ‘ 𝑋 ) ( 𝐹𝑓𝑓 = 𝑔 ) ) → ( 𝑥𝑔𝑥𝐹 ) )
135 134 ssrdv ( ( ( 𝐹 ∈ ( Fil ‘ 𝑋 ) ∧ 𝑔 ∈ ( UFil ‘ 𝑋 ) ) ∧ ∀ 𝑓 ∈ ( UFil ‘ 𝑋 ) ( 𝐹𝑓𝑓 = 𝑔 ) ) → 𝑔𝐹 )
136 19 135 eqssd ( ( ( 𝐹 ∈ ( Fil ‘ 𝑋 ) ∧ 𝑔 ∈ ( UFil ‘ 𝑋 ) ) ∧ ∀ 𝑓 ∈ ( UFil ‘ 𝑋 ) ( 𝐹𝑓𝑓 = 𝑔 ) ) → 𝐹 = 𝑔 )
137 simplr ( ( ( 𝐹 ∈ ( Fil ‘ 𝑋 ) ∧ 𝑔 ∈ ( UFil ‘ 𝑋 ) ) ∧ ∀ 𝑓 ∈ ( UFil ‘ 𝑋 ) ( 𝐹𝑓𝑓 = 𝑔 ) ) → 𝑔 ∈ ( UFil ‘ 𝑋 ) )
138 136 137 eqeltrd ( ( ( 𝐹 ∈ ( Fil ‘ 𝑋 ) ∧ 𝑔 ∈ ( UFil ‘ 𝑋 ) ) ∧ ∀ 𝑓 ∈ ( UFil ‘ 𝑋 ) ( 𝐹𝑓𝑓 = 𝑔 ) ) → 𝐹 ∈ ( UFil ‘ 𝑋 ) )
139 138 rexlimdva2 ( 𝐹 ∈ ( Fil ‘ 𝑋 ) → ( ∃ 𝑔 ∈ ( UFil ‘ 𝑋 ) ∀ 𝑓 ∈ ( UFil ‘ 𝑋 ) ( 𝐹𝑓𝑓 = 𝑔 ) → 𝐹 ∈ ( UFil ‘ 𝑋 ) ) )
140 13 139 syl5bi ( 𝐹 ∈ ( Fil ‘ 𝑋 ) → ( ∃! 𝑓 ∈ ( UFil ‘ 𝑋 ) 𝐹𝑓𝐹 ∈ ( UFil ‘ 𝑋 ) ) )
141 12 140 impbid2 ( 𝐹 ∈ ( Fil ‘ 𝑋 ) → ( 𝐹 ∈ ( UFil ‘ 𝑋 ) ↔ ∃! 𝑓 ∈ ( UFil ‘ 𝑋 ) 𝐹𝑓 ) )