Metamath Proof Explorer


Theorem fclsbas

Description: Cluster points in terms of filter bases. (Contributed by Jeff Hankins, 13-Nov-2009) (Revised by Stefan O'Rear, 8-Aug-2015)

Ref Expression
Hypothesis fclsbas.f 𝐹 = ( 𝑋 filGen 𝐵 )
Assertion fclsbas ( ( 𝐽 ∈ ( TopOn ‘ 𝑋 ) ∧ 𝐵 ∈ ( fBas ‘ 𝑋 ) ) → ( 𝐴 ∈ ( 𝐽 fClus 𝐹 ) ↔ ( 𝐴𝑋 ∧ ∀ 𝑜𝐽 ( 𝐴𝑜 → ∀ 𝑠𝐵 ( 𝑜𝑠 ) ≠ ∅ ) ) ) )

Proof

Step Hyp Ref Expression
1 fclsbas.f 𝐹 = ( 𝑋 filGen 𝐵 )
2 fgcl ( 𝐵 ∈ ( fBas ‘ 𝑋 ) → ( 𝑋 filGen 𝐵 ) ∈ ( Fil ‘ 𝑋 ) )
3 2 adantl ( ( 𝐽 ∈ ( TopOn ‘ 𝑋 ) ∧ 𝐵 ∈ ( fBas ‘ 𝑋 ) ) → ( 𝑋 filGen 𝐵 ) ∈ ( Fil ‘ 𝑋 ) )
4 1 3 eqeltrid ( ( 𝐽 ∈ ( TopOn ‘ 𝑋 ) ∧ 𝐵 ∈ ( fBas ‘ 𝑋 ) ) → 𝐹 ∈ ( Fil ‘ 𝑋 ) )
5 fclsopn ( ( 𝐽 ∈ ( TopOn ‘ 𝑋 ) ∧ 𝐹 ∈ ( Fil ‘ 𝑋 ) ) → ( 𝐴 ∈ ( 𝐽 fClus 𝐹 ) ↔ ( 𝐴𝑋 ∧ ∀ 𝑜𝐽 ( 𝐴𝑜 → ∀ 𝑡𝐹 ( 𝑜𝑡 ) ≠ ∅ ) ) ) )
6 4 5 syldan ( ( 𝐽 ∈ ( TopOn ‘ 𝑋 ) ∧ 𝐵 ∈ ( fBas ‘ 𝑋 ) ) → ( 𝐴 ∈ ( 𝐽 fClus 𝐹 ) ↔ ( 𝐴𝑋 ∧ ∀ 𝑜𝐽 ( 𝐴𝑜 → ∀ 𝑡𝐹 ( 𝑜𝑡 ) ≠ ∅ ) ) ) )
7 ssfg ( 𝐵 ∈ ( fBas ‘ 𝑋 ) → 𝐵 ⊆ ( 𝑋 filGen 𝐵 ) )
8 7 ad3antlr ( ( ( ( 𝐽 ∈ ( TopOn ‘ 𝑋 ) ∧ 𝐵 ∈ ( fBas ‘ 𝑋 ) ) ∧ 𝐴𝑋 ) ∧ ( 𝑜𝐽𝐴𝑜 ) ) → 𝐵 ⊆ ( 𝑋 filGen 𝐵 ) )
9 8 1 sseqtrrdi ( ( ( ( 𝐽 ∈ ( TopOn ‘ 𝑋 ) ∧ 𝐵 ∈ ( fBas ‘ 𝑋 ) ) ∧ 𝐴𝑋 ) ∧ ( 𝑜𝐽𝐴𝑜 ) ) → 𝐵𝐹 )
10 ssralv ( 𝐵𝐹 → ( ∀ 𝑡𝐹 ( 𝑜𝑡 ) ≠ ∅ → ∀ 𝑡𝐵 ( 𝑜𝑡 ) ≠ ∅ ) )
11 9 10 syl ( ( ( ( 𝐽 ∈ ( TopOn ‘ 𝑋 ) ∧ 𝐵 ∈ ( fBas ‘ 𝑋 ) ) ∧ 𝐴𝑋 ) ∧ ( 𝑜𝐽𝐴𝑜 ) ) → ( ∀ 𝑡𝐹 ( 𝑜𝑡 ) ≠ ∅ → ∀ 𝑡𝐵 ( 𝑜𝑡 ) ≠ ∅ ) )
12 ineq2 ( 𝑡 = 𝑠 → ( 𝑜𝑡 ) = ( 𝑜𝑠 ) )
13 12 neeq1d ( 𝑡 = 𝑠 → ( ( 𝑜𝑡 ) ≠ ∅ ↔ ( 𝑜𝑠 ) ≠ ∅ ) )
14 13 cbvralvw ( ∀ 𝑡𝐵 ( 𝑜𝑡 ) ≠ ∅ ↔ ∀ 𝑠𝐵 ( 𝑜𝑠 ) ≠ ∅ )
15 11 14 syl6ib ( ( ( ( 𝐽 ∈ ( TopOn ‘ 𝑋 ) ∧ 𝐵 ∈ ( fBas ‘ 𝑋 ) ) ∧ 𝐴𝑋 ) ∧ ( 𝑜𝐽𝐴𝑜 ) ) → ( ∀ 𝑡𝐹 ( 𝑜𝑡 ) ≠ ∅ → ∀ 𝑠𝐵 ( 𝑜𝑠 ) ≠ ∅ ) )
16 1 eleq2i ( 𝑡𝐹𝑡 ∈ ( 𝑋 filGen 𝐵 ) )
17 elfg ( 𝐵 ∈ ( fBas ‘ 𝑋 ) → ( 𝑡 ∈ ( 𝑋 filGen 𝐵 ) ↔ ( 𝑡𝑋 ∧ ∃ 𝑠𝐵 𝑠𝑡 ) ) )
18 17 ad3antlr ( ( ( ( 𝐽 ∈ ( TopOn ‘ 𝑋 ) ∧ 𝐵 ∈ ( fBas ‘ 𝑋 ) ) ∧ 𝐴𝑋 ) ∧ ( 𝑜𝐽𝐴𝑜 ) ) → ( 𝑡 ∈ ( 𝑋 filGen 𝐵 ) ↔ ( 𝑡𝑋 ∧ ∃ 𝑠𝐵 𝑠𝑡 ) ) )
19 16 18 syl5bb ( ( ( ( 𝐽 ∈ ( TopOn ‘ 𝑋 ) ∧ 𝐵 ∈ ( fBas ‘ 𝑋 ) ) ∧ 𝐴𝑋 ) ∧ ( 𝑜𝐽𝐴𝑜 ) ) → ( 𝑡𝐹 ↔ ( 𝑡𝑋 ∧ ∃ 𝑠𝐵 𝑠𝑡 ) ) )
20 19 simplbda ( ( ( ( ( 𝐽 ∈ ( TopOn ‘ 𝑋 ) ∧ 𝐵 ∈ ( fBas ‘ 𝑋 ) ) ∧ 𝐴𝑋 ) ∧ ( 𝑜𝐽𝐴𝑜 ) ) ∧ 𝑡𝐹 ) → ∃ 𝑠𝐵 𝑠𝑡 )
21 r19.29r ( ( ∃ 𝑠𝐵 𝑠𝑡 ∧ ∀ 𝑠𝐵 ( 𝑜𝑠 ) ≠ ∅ ) → ∃ 𝑠𝐵 ( 𝑠𝑡 ∧ ( 𝑜𝑠 ) ≠ ∅ ) )
22 sslin ( 𝑠𝑡 → ( 𝑜𝑠 ) ⊆ ( 𝑜𝑡 ) )
23 ssn0 ( ( ( 𝑜𝑠 ) ⊆ ( 𝑜𝑡 ) ∧ ( 𝑜𝑠 ) ≠ ∅ ) → ( 𝑜𝑡 ) ≠ ∅ )
24 22 23 sylan ( ( 𝑠𝑡 ∧ ( 𝑜𝑠 ) ≠ ∅ ) → ( 𝑜𝑡 ) ≠ ∅ )
25 24 rexlimivw ( ∃ 𝑠𝐵 ( 𝑠𝑡 ∧ ( 𝑜𝑠 ) ≠ ∅ ) → ( 𝑜𝑡 ) ≠ ∅ )
26 21 25 syl ( ( ∃ 𝑠𝐵 𝑠𝑡 ∧ ∀ 𝑠𝐵 ( 𝑜𝑠 ) ≠ ∅ ) → ( 𝑜𝑡 ) ≠ ∅ )
27 26 ex ( ∃ 𝑠𝐵 𝑠𝑡 → ( ∀ 𝑠𝐵 ( 𝑜𝑠 ) ≠ ∅ → ( 𝑜𝑡 ) ≠ ∅ ) )
28 20 27 syl ( ( ( ( ( 𝐽 ∈ ( TopOn ‘ 𝑋 ) ∧ 𝐵 ∈ ( fBas ‘ 𝑋 ) ) ∧ 𝐴𝑋 ) ∧ ( 𝑜𝐽𝐴𝑜 ) ) ∧ 𝑡𝐹 ) → ( ∀ 𝑠𝐵 ( 𝑜𝑠 ) ≠ ∅ → ( 𝑜𝑡 ) ≠ ∅ ) )
29 28 ralrimdva ( ( ( ( 𝐽 ∈ ( TopOn ‘ 𝑋 ) ∧ 𝐵 ∈ ( fBas ‘ 𝑋 ) ) ∧ 𝐴𝑋 ) ∧ ( 𝑜𝐽𝐴𝑜 ) ) → ( ∀ 𝑠𝐵 ( 𝑜𝑠 ) ≠ ∅ → ∀ 𝑡𝐹 ( 𝑜𝑡 ) ≠ ∅ ) )
30 15 29 impbid ( ( ( ( 𝐽 ∈ ( TopOn ‘ 𝑋 ) ∧ 𝐵 ∈ ( fBas ‘ 𝑋 ) ) ∧ 𝐴𝑋 ) ∧ ( 𝑜𝐽𝐴𝑜 ) ) → ( ∀ 𝑡𝐹 ( 𝑜𝑡 ) ≠ ∅ ↔ ∀ 𝑠𝐵 ( 𝑜𝑠 ) ≠ ∅ ) )
31 30 anassrs ( ( ( ( ( 𝐽 ∈ ( TopOn ‘ 𝑋 ) ∧ 𝐵 ∈ ( fBas ‘ 𝑋 ) ) ∧ 𝐴𝑋 ) ∧ 𝑜𝐽 ) ∧ 𝐴𝑜 ) → ( ∀ 𝑡𝐹 ( 𝑜𝑡 ) ≠ ∅ ↔ ∀ 𝑠𝐵 ( 𝑜𝑠 ) ≠ ∅ ) )
32 31 pm5.74da ( ( ( ( 𝐽 ∈ ( TopOn ‘ 𝑋 ) ∧ 𝐵 ∈ ( fBas ‘ 𝑋 ) ) ∧ 𝐴𝑋 ) ∧ 𝑜𝐽 ) → ( ( 𝐴𝑜 → ∀ 𝑡𝐹 ( 𝑜𝑡 ) ≠ ∅ ) ↔ ( 𝐴𝑜 → ∀ 𝑠𝐵 ( 𝑜𝑠 ) ≠ ∅ ) ) )
33 32 ralbidva ( ( ( 𝐽 ∈ ( TopOn ‘ 𝑋 ) ∧ 𝐵 ∈ ( fBas ‘ 𝑋 ) ) ∧ 𝐴𝑋 ) → ( ∀ 𝑜𝐽 ( 𝐴𝑜 → ∀ 𝑡𝐹 ( 𝑜𝑡 ) ≠ ∅ ) ↔ ∀ 𝑜𝐽 ( 𝐴𝑜 → ∀ 𝑠𝐵 ( 𝑜𝑠 ) ≠ ∅ ) ) )
34 33 pm5.32da ( ( 𝐽 ∈ ( TopOn ‘ 𝑋 ) ∧ 𝐵 ∈ ( fBas ‘ 𝑋 ) ) → ( ( 𝐴𝑋 ∧ ∀ 𝑜𝐽 ( 𝐴𝑜 → ∀ 𝑡𝐹 ( 𝑜𝑡 ) ≠ ∅ ) ) ↔ ( 𝐴𝑋 ∧ ∀ 𝑜𝐽 ( 𝐴𝑜 → ∀ 𝑠𝐵 ( 𝑜𝑠 ) ≠ ∅ ) ) ) )
35 6 34 bitrd ( ( 𝐽 ∈ ( TopOn ‘ 𝑋 ) ∧ 𝐵 ∈ ( fBas ‘ 𝑋 ) ) → ( 𝐴 ∈ ( 𝐽 fClus 𝐹 ) ↔ ( 𝐴𝑋 ∧ ∀ 𝑜𝐽 ( 𝐴𝑜 → ∀ 𝑠𝐵 ( 𝑜𝑠 ) ≠ ∅ ) ) ) )