Metamath Proof Explorer


Theorem isclo

Description: A set A is clopen iff for every point x in the space there is a neighborhood y such that all the points in y are in A iff x is. (Contributed by Mario Carneiro, 10-Mar-2015)

Ref Expression
Hypothesis isclo.1 𝑋 = 𝐽
Assertion isclo ( ( 𝐽 ∈ Top ∧ 𝐴𝑋 ) → ( 𝐴 ∈ ( 𝐽 ∩ ( Clsd ‘ 𝐽 ) ) ↔ ∀ 𝑥𝑋𝑦𝐽 ( 𝑥𝑦 ∧ ∀ 𝑧𝑦 ( 𝑥𝐴𝑧𝐴 ) ) ) )

Proof

Step Hyp Ref Expression
1 isclo.1 𝑋 = 𝐽
2 elin ( 𝐴 ∈ ( 𝐽 ∩ ( Clsd ‘ 𝐽 ) ) ↔ ( 𝐴𝐽𝐴 ∈ ( Clsd ‘ 𝐽 ) ) )
3 1 iscld2 ( ( 𝐽 ∈ Top ∧ 𝐴𝑋 ) → ( 𝐴 ∈ ( Clsd ‘ 𝐽 ) ↔ ( 𝑋𝐴 ) ∈ 𝐽 ) )
4 3 anbi2d ( ( 𝐽 ∈ Top ∧ 𝐴𝑋 ) → ( ( 𝐴𝐽𝐴 ∈ ( Clsd ‘ 𝐽 ) ) ↔ ( 𝐴𝐽 ∧ ( 𝑋𝐴 ) ∈ 𝐽 ) ) )
5 eltop2 ( 𝐽 ∈ Top → ( 𝐴𝐽 ↔ ∀ 𝑥𝐴𝑦𝐽 ( 𝑥𝑦𝑦𝐴 ) ) )
6 dfss3 ( 𝑦𝐴 ↔ ∀ 𝑧𝑦 𝑧𝐴 )
7 pm5.501 ( 𝑥𝐴 → ( 𝑧𝐴 ↔ ( 𝑥𝐴𝑧𝐴 ) ) )
8 7 ralbidv ( 𝑥𝐴 → ( ∀ 𝑧𝑦 𝑧𝐴 ↔ ∀ 𝑧𝑦 ( 𝑥𝐴𝑧𝐴 ) ) )
9 6 8 syl5bb ( 𝑥𝐴 → ( 𝑦𝐴 ↔ ∀ 𝑧𝑦 ( 𝑥𝐴𝑧𝐴 ) ) )
10 9 anbi2d ( 𝑥𝐴 → ( ( 𝑥𝑦𝑦𝐴 ) ↔ ( 𝑥𝑦 ∧ ∀ 𝑧𝑦 ( 𝑥𝐴𝑧𝐴 ) ) ) )
11 10 rexbidv ( 𝑥𝐴 → ( ∃ 𝑦𝐽 ( 𝑥𝑦𝑦𝐴 ) ↔ ∃ 𝑦𝐽 ( 𝑥𝑦 ∧ ∀ 𝑧𝑦 ( 𝑥𝐴𝑧𝐴 ) ) ) )
12 11 ralbiia ( ∀ 𝑥𝐴𝑦𝐽 ( 𝑥𝑦𝑦𝐴 ) ↔ ∀ 𝑥𝐴𝑦𝐽 ( 𝑥𝑦 ∧ ∀ 𝑧𝑦 ( 𝑥𝐴𝑧𝐴 ) ) )
13 5 12 bitrdi ( 𝐽 ∈ Top → ( 𝐴𝐽 ↔ ∀ 𝑥𝐴𝑦𝐽 ( 𝑥𝑦 ∧ ∀ 𝑧𝑦 ( 𝑥𝐴𝑧𝐴 ) ) ) )
14 eltop2 ( 𝐽 ∈ Top → ( ( 𝑋𝐴 ) ∈ 𝐽 ↔ ∀ 𝑥 ∈ ( 𝑋𝐴 ) ∃ 𝑦𝐽 ( 𝑥𝑦𝑦 ⊆ ( 𝑋𝐴 ) ) ) )
15 dfss3 ( 𝑦 ⊆ ( 𝑋𝐴 ) ↔ ∀ 𝑧𝑦 𝑧 ∈ ( 𝑋𝐴 ) )
16 id ( 𝑧𝑦𝑧𝑦 )
17 simpr ( ( 𝑥 ∈ ( 𝑋𝐴 ) ∧ 𝑦𝐽 ) → 𝑦𝐽 )
18 elunii ( ( 𝑧𝑦𝑦𝐽 ) → 𝑧 𝐽 )
19 16 17 18 syl2anr ( ( ( 𝑥 ∈ ( 𝑋𝐴 ) ∧ 𝑦𝐽 ) ∧ 𝑧𝑦 ) → 𝑧 𝐽 )
20 19 1 eleqtrrdi ( ( ( 𝑥 ∈ ( 𝑋𝐴 ) ∧ 𝑦𝐽 ) ∧ 𝑧𝑦 ) → 𝑧𝑋 )
21 eldif ( 𝑧 ∈ ( 𝑋𝐴 ) ↔ ( 𝑧𝑋 ∧ ¬ 𝑧𝐴 ) )
22 21 baib ( 𝑧𝑋 → ( 𝑧 ∈ ( 𝑋𝐴 ) ↔ ¬ 𝑧𝐴 ) )
23 20 22 syl ( ( ( 𝑥 ∈ ( 𝑋𝐴 ) ∧ 𝑦𝐽 ) ∧ 𝑧𝑦 ) → ( 𝑧 ∈ ( 𝑋𝐴 ) ↔ ¬ 𝑧𝐴 ) )
24 eldifn ( 𝑥 ∈ ( 𝑋𝐴 ) → ¬ 𝑥𝐴 )
25 nbn2 ( ¬ 𝑥𝐴 → ( ¬ 𝑧𝐴 ↔ ( 𝑥𝐴𝑧𝐴 ) ) )
26 24 25 syl ( 𝑥 ∈ ( 𝑋𝐴 ) → ( ¬ 𝑧𝐴 ↔ ( 𝑥𝐴𝑧𝐴 ) ) )
27 26 ad2antrr ( ( ( 𝑥 ∈ ( 𝑋𝐴 ) ∧ 𝑦𝐽 ) ∧ 𝑧𝑦 ) → ( ¬ 𝑧𝐴 ↔ ( 𝑥𝐴𝑧𝐴 ) ) )
28 23 27 bitrd ( ( ( 𝑥 ∈ ( 𝑋𝐴 ) ∧ 𝑦𝐽 ) ∧ 𝑧𝑦 ) → ( 𝑧 ∈ ( 𝑋𝐴 ) ↔ ( 𝑥𝐴𝑧𝐴 ) ) )
29 28 ralbidva ( ( 𝑥 ∈ ( 𝑋𝐴 ) ∧ 𝑦𝐽 ) → ( ∀ 𝑧𝑦 𝑧 ∈ ( 𝑋𝐴 ) ↔ ∀ 𝑧𝑦 ( 𝑥𝐴𝑧𝐴 ) ) )
30 15 29 syl5bb ( ( 𝑥 ∈ ( 𝑋𝐴 ) ∧ 𝑦𝐽 ) → ( 𝑦 ⊆ ( 𝑋𝐴 ) ↔ ∀ 𝑧𝑦 ( 𝑥𝐴𝑧𝐴 ) ) )
31 30 anbi2d ( ( 𝑥 ∈ ( 𝑋𝐴 ) ∧ 𝑦𝐽 ) → ( ( 𝑥𝑦𝑦 ⊆ ( 𝑋𝐴 ) ) ↔ ( 𝑥𝑦 ∧ ∀ 𝑧𝑦 ( 𝑥𝐴𝑧𝐴 ) ) ) )
32 31 rexbidva ( 𝑥 ∈ ( 𝑋𝐴 ) → ( ∃ 𝑦𝐽 ( 𝑥𝑦𝑦 ⊆ ( 𝑋𝐴 ) ) ↔ ∃ 𝑦𝐽 ( 𝑥𝑦 ∧ ∀ 𝑧𝑦 ( 𝑥𝐴𝑧𝐴 ) ) ) )
33 32 ralbiia ( ∀ 𝑥 ∈ ( 𝑋𝐴 ) ∃ 𝑦𝐽 ( 𝑥𝑦𝑦 ⊆ ( 𝑋𝐴 ) ) ↔ ∀ 𝑥 ∈ ( 𝑋𝐴 ) ∃ 𝑦𝐽 ( 𝑥𝑦 ∧ ∀ 𝑧𝑦 ( 𝑥𝐴𝑧𝐴 ) ) )
34 14 33 bitrdi ( 𝐽 ∈ Top → ( ( 𝑋𝐴 ) ∈ 𝐽 ↔ ∀ 𝑥 ∈ ( 𝑋𝐴 ) ∃ 𝑦𝐽 ( 𝑥𝑦 ∧ ∀ 𝑧𝑦 ( 𝑥𝐴𝑧𝐴 ) ) ) )
35 13 34 anbi12d ( 𝐽 ∈ Top → ( ( 𝐴𝐽 ∧ ( 𝑋𝐴 ) ∈ 𝐽 ) ↔ ( ∀ 𝑥𝐴𝑦𝐽 ( 𝑥𝑦 ∧ ∀ 𝑧𝑦 ( 𝑥𝐴𝑧𝐴 ) ) ∧ ∀ 𝑥 ∈ ( 𝑋𝐴 ) ∃ 𝑦𝐽 ( 𝑥𝑦 ∧ ∀ 𝑧𝑦 ( 𝑥𝐴𝑧𝐴 ) ) ) ) )
36 35 adantr ( ( 𝐽 ∈ Top ∧ 𝐴𝑋 ) → ( ( 𝐴𝐽 ∧ ( 𝑋𝐴 ) ∈ 𝐽 ) ↔ ( ∀ 𝑥𝐴𝑦𝐽 ( 𝑥𝑦 ∧ ∀ 𝑧𝑦 ( 𝑥𝐴𝑧𝐴 ) ) ∧ ∀ 𝑥 ∈ ( 𝑋𝐴 ) ∃ 𝑦𝐽 ( 𝑥𝑦 ∧ ∀ 𝑧𝑦 ( 𝑥𝐴𝑧𝐴 ) ) ) ) )
37 ralunb ( ∀ 𝑥 ∈ ( 𝐴 ∪ ( 𝑋𝐴 ) ) ∃ 𝑦𝐽 ( 𝑥𝑦 ∧ ∀ 𝑧𝑦 ( 𝑥𝐴𝑧𝐴 ) ) ↔ ( ∀ 𝑥𝐴𝑦𝐽 ( 𝑥𝑦 ∧ ∀ 𝑧𝑦 ( 𝑥𝐴𝑧𝐴 ) ) ∧ ∀ 𝑥 ∈ ( 𝑋𝐴 ) ∃ 𝑦𝐽 ( 𝑥𝑦 ∧ ∀ 𝑧𝑦 ( 𝑥𝐴𝑧𝐴 ) ) ) )
38 simpr ( ( 𝐽 ∈ Top ∧ 𝐴𝑋 ) → 𝐴𝑋 )
39 undif ( 𝐴𝑋 ↔ ( 𝐴 ∪ ( 𝑋𝐴 ) ) = 𝑋 )
40 38 39 sylib ( ( 𝐽 ∈ Top ∧ 𝐴𝑋 ) → ( 𝐴 ∪ ( 𝑋𝐴 ) ) = 𝑋 )
41 40 raleqdv ( ( 𝐽 ∈ Top ∧ 𝐴𝑋 ) → ( ∀ 𝑥 ∈ ( 𝐴 ∪ ( 𝑋𝐴 ) ) ∃ 𝑦𝐽 ( 𝑥𝑦 ∧ ∀ 𝑧𝑦 ( 𝑥𝐴𝑧𝐴 ) ) ↔ ∀ 𝑥𝑋𝑦𝐽 ( 𝑥𝑦 ∧ ∀ 𝑧𝑦 ( 𝑥𝐴𝑧𝐴 ) ) ) )
42 37 41 bitr3id ( ( 𝐽 ∈ Top ∧ 𝐴𝑋 ) → ( ( ∀ 𝑥𝐴𝑦𝐽 ( 𝑥𝑦 ∧ ∀ 𝑧𝑦 ( 𝑥𝐴𝑧𝐴 ) ) ∧ ∀ 𝑥 ∈ ( 𝑋𝐴 ) ∃ 𝑦𝐽 ( 𝑥𝑦 ∧ ∀ 𝑧𝑦 ( 𝑥𝐴𝑧𝐴 ) ) ) ↔ ∀ 𝑥𝑋𝑦𝐽 ( 𝑥𝑦 ∧ ∀ 𝑧𝑦 ( 𝑥𝐴𝑧𝐴 ) ) ) )
43 4 36 42 3bitrd ( ( 𝐽 ∈ Top ∧ 𝐴𝑋 ) → ( ( 𝐴𝐽𝐴 ∈ ( Clsd ‘ 𝐽 ) ) ↔ ∀ 𝑥𝑋𝑦𝐽 ( 𝑥𝑦 ∧ ∀ 𝑧𝑦 ( 𝑥𝐴𝑧𝐴 ) ) ) )
44 2 43 syl5bb ( ( 𝐽 ∈ Top ∧ 𝐴𝑋 ) → ( 𝐴 ∈ ( 𝐽 ∩ ( Clsd ‘ 𝐽 ) ) ↔ ∀ 𝑥𝑋𝑦𝐽 ( 𝑥𝑦 ∧ ∀ 𝑧𝑦 ( 𝑥𝐴𝑧𝐴 ) ) ) )