Metamath Proof Explorer


Theorem ist0cld

Description: The predicate "is a T_0 space", using closed sets. (Contributed by Thierry Arnoux, 16-Aug-2020)

Ref Expression
Hypotheses ist0cls.1 ( 𝜑𝐵 = 𝐽 )
ist0cls.2 ( 𝜑𝐷 = ( Clsd ‘ 𝐽 ) )
Assertion ist0cld ( 𝜑 → ( 𝐽 ∈ Kol2 ↔ ( 𝐽 ∈ Top ∧ ∀ 𝑥𝐵𝑦𝐵 ( ∀ 𝑑𝐷 ( 𝑥𝑑𝑦𝑑 ) → 𝑥 = 𝑦 ) ) ) )

Proof

Step Hyp Ref Expression
1 ist0cls.1 ( 𝜑𝐵 = 𝐽 )
2 ist0cls.2 ( 𝜑𝐷 = ( Clsd ‘ 𝐽 ) )
3 eqid 𝐽 = 𝐽
4 3 ist0 ( 𝐽 ∈ Kol2 ↔ ( 𝐽 ∈ Top ∧ ∀ 𝑥 𝐽𝑦 𝐽 ( ∀ 𝑜𝐽 ( 𝑥𝑜𝑦𝑜 ) → 𝑥 = 𝑦 ) ) )
5 4 simplbi ( 𝐽 ∈ Kol2 → 𝐽 ∈ Top )
6 5 adantl ( ( 𝜑𝐽 ∈ Kol2 ) → 𝐽 ∈ Top )
7 4 baib ( 𝐽 ∈ Top → ( 𝐽 ∈ Kol2 ↔ ∀ 𝑥 𝐽𝑦 𝐽 ( ∀ 𝑜𝐽 ( 𝑥𝑜𝑦𝑜 ) → 𝑥 = 𝑦 ) ) )
8 7 adantl ( ( 𝜑𝐽 ∈ Top ) → ( 𝐽 ∈ Kol2 ↔ ∀ 𝑥 𝐽𝑦 𝐽 ( ∀ 𝑜𝐽 ( 𝑥𝑜𝑦𝑜 ) → 𝑥 = 𝑦 ) ) )
9 1 adantr ( ( 𝜑𝐽 ∈ Top ) → 𝐵 = 𝐽 )
10 9 eqcomd ( ( 𝜑𝐽 ∈ Top ) → 𝐽 = 𝐵 )
11 10 adantr ( ( ( 𝜑𝐽 ∈ Top ) ∧ 𝑥 𝐽 ) → 𝐽 = 𝐵 )
12 simp-4r ( ( ( ( ( 𝜑𝐽 ∈ Top ) ∧ 𝑥 𝐽 ) ∧ 𝑦 𝐽 ) ∧ 𝑜𝐽 ) → 𝐽 ∈ Top )
13 uniexg ( 𝐽 ∈ Top → 𝐽 ∈ V )
14 difexg ( 𝐽 ∈ V → ( 𝐽𝑜 ) ∈ V )
15 12 13 14 3syl ( ( ( ( ( 𝜑𝐽 ∈ Top ) ∧ 𝑥 𝐽 ) ∧ 𝑦 𝐽 ) ∧ 𝑜𝐽 ) → ( 𝐽𝑜 ) ∈ V )
16 3 iscld ( 𝐽 ∈ Top → ( 𝑑 ∈ ( Clsd ‘ 𝐽 ) ↔ ( 𝑑 𝐽 ∧ ( 𝐽𝑑 ) ∈ 𝐽 ) ) )
17 16 adantl ( ( 𝜑𝐽 ∈ Top ) → ( 𝑑 ∈ ( Clsd ‘ 𝐽 ) ↔ ( 𝑑 𝐽 ∧ ( 𝐽𝑑 ) ∈ 𝐽 ) ) )
18 2 eleq2d ( 𝜑 → ( 𝑑𝐷𝑑 ∈ ( Clsd ‘ 𝐽 ) ) )
19 18 adantr ( ( 𝜑𝐽 ∈ Top ) → ( 𝑑𝐷𝑑 ∈ ( Clsd ‘ 𝐽 ) ) )
20 simpr ( ( ( ( 𝜑𝐽 ∈ Top ) ∧ 𝑜𝐽 ) ∧ 𝑑 = ( 𝐽𝑜 ) ) → 𝑑 = ( 𝐽𝑜 ) )
21 difssd ( ( ( ( 𝜑𝐽 ∈ Top ) ∧ 𝑜𝐽 ) ∧ 𝑑 = ( 𝐽𝑜 ) ) → ( 𝐽𝑜 ) ⊆ 𝐽 )
22 20 21 eqsstrd ( ( ( ( 𝜑𝐽 ∈ Top ) ∧ 𝑜𝐽 ) ∧ 𝑑 = ( 𝐽𝑜 ) ) → 𝑑 𝐽 )
23 22 r19.29an ( ( ( 𝜑𝐽 ∈ Top ) ∧ ∃ 𝑜𝐽 𝑑 = ( 𝐽𝑜 ) ) → 𝑑 𝐽 )
24 simpr ( ( ( ( ( 𝜑𝐽 ∈ Top ) ∧ 𝑑 𝐽 ) ∧ 𝑜𝐽 ) ∧ 𝑑 = ( 𝐽𝑜 ) ) → 𝑑 = ( 𝐽𝑜 ) )
25 24 difeq2d ( ( ( ( ( 𝜑𝐽 ∈ Top ) ∧ 𝑑 𝐽 ) ∧ 𝑜𝐽 ) ∧ 𝑑 = ( 𝐽𝑜 ) ) → ( 𝐽𝑑 ) = ( 𝐽 ∖ ( 𝐽𝑜 ) ) )
26 3 eltopss ( ( 𝐽 ∈ Top ∧ 𝑜𝐽 ) → 𝑜 𝐽 )
27 26 ad5ant24 ( ( ( ( ( 𝜑𝐽 ∈ Top ) ∧ 𝑑 𝐽 ) ∧ 𝑜𝐽 ) ∧ 𝑑 = ( 𝐽𝑜 ) ) → 𝑜 𝐽 )
28 dfss4 ( 𝑜 𝐽 ↔ ( 𝐽 ∖ ( 𝐽𝑜 ) ) = 𝑜 )
29 27 28 sylib ( ( ( ( ( 𝜑𝐽 ∈ Top ) ∧ 𝑑 𝐽 ) ∧ 𝑜𝐽 ) ∧ 𝑑 = ( 𝐽𝑜 ) ) → ( 𝐽 ∖ ( 𝐽𝑜 ) ) = 𝑜 )
30 simplr ( ( ( ( ( 𝜑𝐽 ∈ Top ) ∧ 𝑑 𝐽 ) ∧ 𝑜𝐽 ) ∧ 𝑑 = ( 𝐽𝑜 ) ) → 𝑜𝐽 )
31 29 30 eqeltrd ( ( ( ( ( 𝜑𝐽 ∈ Top ) ∧ 𝑑 𝐽 ) ∧ 𝑜𝐽 ) ∧ 𝑑 = ( 𝐽𝑜 ) ) → ( 𝐽 ∖ ( 𝐽𝑜 ) ) ∈ 𝐽 )
32 25 31 eqeltrd ( ( ( ( ( 𝜑𝐽 ∈ Top ) ∧ 𝑑 𝐽 ) ∧ 𝑜𝐽 ) ∧ 𝑑 = ( 𝐽𝑜 ) ) → ( 𝐽𝑑 ) ∈ 𝐽 )
33 32 r19.29an ( ( ( ( 𝜑𝐽 ∈ Top ) ∧ 𝑑 𝐽 ) ∧ ∃ 𝑜𝐽 𝑑 = ( 𝐽𝑜 ) ) → ( 𝐽𝑑 ) ∈ 𝐽 )
34 simpr ( ( ( ( 𝜑𝐽 ∈ Top ) ∧ 𝑑 𝐽 ) ∧ ( 𝐽𝑑 ) ∈ 𝐽 ) → ( 𝐽𝑑 ) ∈ 𝐽 )
35 simpr ( ( ( ( ( 𝜑𝐽 ∈ Top ) ∧ 𝑑 𝐽 ) ∧ ( 𝐽𝑑 ) ∈ 𝐽 ) ∧ 𝑜 = ( 𝐽𝑑 ) ) → 𝑜 = ( 𝐽𝑑 ) )
36 35 difeq2d ( ( ( ( ( 𝜑𝐽 ∈ Top ) ∧ 𝑑 𝐽 ) ∧ ( 𝐽𝑑 ) ∈ 𝐽 ) ∧ 𝑜 = ( 𝐽𝑑 ) ) → ( 𝐽𝑜 ) = ( 𝐽 ∖ ( 𝐽𝑑 ) ) )
37 36 eqeq2d ( ( ( ( ( 𝜑𝐽 ∈ Top ) ∧ 𝑑 𝐽 ) ∧ ( 𝐽𝑑 ) ∈ 𝐽 ) ∧ 𝑜 = ( 𝐽𝑑 ) ) → ( 𝑑 = ( 𝐽𝑜 ) ↔ 𝑑 = ( 𝐽 ∖ ( 𝐽𝑑 ) ) ) )
38 simplr ( ( ( ( 𝜑𝐽 ∈ Top ) ∧ 𝑑 𝐽 ) ∧ ( 𝐽𝑑 ) ∈ 𝐽 ) → 𝑑 𝐽 )
39 dfss4 ( 𝑑 𝐽 ↔ ( 𝐽 ∖ ( 𝐽𝑑 ) ) = 𝑑 )
40 38 39 sylib ( ( ( ( 𝜑𝐽 ∈ Top ) ∧ 𝑑 𝐽 ) ∧ ( 𝐽𝑑 ) ∈ 𝐽 ) → ( 𝐽 ∖ ( 𝐽𝑑 ) ) = 𝑑 )
41 40 eqcomd ( ( ( ( 𝜑𝐽 ∈ Top ) ∧ 𝑑 𝐽 ) ∧ ( 𝐽𝑑 ) ∈ 𝐽 ) → 𝑑 = ( 𝐽 ∖ ( 𝐽𝑑 ) ) )
42 34 37 41 rspcedvd ( ( ( ( 𝜑𝐽 ∈ Top ) ∧ 𝑑 𝐽 ) ∧ ( 𝐽𝑑 ) ∈ 𝐽 ) → ∃ 𝑜𝐽 𝑑 = ( 𝐽𝑜 ) )
43 33 42 impbida ( ( ( 𝜑𝐽 ∈ Top ) ∧ 𝑑 𝐽 ) → ( ∃ 𝑜𝐽 𝑑 = ( 𝐽𝑜 ) ↔ ( 𝐽𝑑 ) ∈ 𝐽 ) )
44 23 43 biadanid ( ( 𝜑𝐽 ∈ Top ) → ( ∃ 𝑜𝐽 𝑑 = ( 𝐽𝑜 ) ↔ ( 𝑑 𝐽 ∧ ( 𝐽𝑑 ) ∈ 𝐽 ) ) )
45 17 19 44 3bitr4d ( ( 𝜑𝐽 ∈ Top ) → ( 𝑑𝐷 ↔ ∃ 𝑜𝐽 𝑑 = ( 𝐽𝑜 ) ) )
46 45 ad2antrr ( ( ( ( 𝜑𝐽 ∈ Top ) ∧ 𝑥 𝐽 ) ∧ 𝑦 𝐽 ) → ( 𝑑𝐷 ↔ ∃ 𝑜𝐽 𝑑 = ( 𝐽𝑜 ) ) )
47 simpr ( ( ( ( ( 𝜑𝐽 ∈ Top ) ∧ 𝑥 𝐽 ) ∧ 𝑦 𝐽 ) ∧ 𝑑 = ( 𝐽𝑜 ) ) → 𝑑 = ( 𝐽𝑜 ) )
48 47 eleq2d ( ( ( ( ( 𝜑𝐽 ∈ Top ) ∧ 𝑥 𝐽 ) ∧ 𝑦 𝐽 ) ∧ 𝑑 = ( 𝐽𝑜 ) ) → ( 𝑥𝑑𝑥 ∈ ( 𝐽𝑜 ) ) )
49 eldif ( 𝑥 ∈ ( 𝐽𝑜 ) ↔ ( 𝑥 𝐽 ∧ ¬ 𝑥𝑜 ) )
50 49 baib ( 𝑥 𝐽 → ( 𝑥 ∈ ( 𝐽𝑜 ) ↔ ¬ 𝑥𝑜 ) )
51 50 ad3antlr ( ( ( ( ( 𝜑𝐽 ∈ Top ) ∧ 𝑥 𝐽 ) ∧ 𝑦 𝐽 ) ∧ 𝑑 = ( 𝐽𝑜 ) ) → ( 𝑥 ∈ ( 𝐽𝑜 ) ↔ ¬ 𝑥𝑜 ) )
52 48 51 bitrd ( ( ( ( ( 𝜑𝐽 ∈ Top ) ∧ 𝑥 𝐽 ) ∧ 𝑦 𝐽 ) ∧ 𝑑 = ( 𝐽𝑜 ) ) → ( 𝑥𝑑 ↔ ¬ 𝑥𝑜 ) )
53 47 eleq2d ( ( ( ( ( 𝜑𝐽 ∈ Top ) ∧ 𝑥 𝐽 ) ∧ 𝑦 𝐽 ) ∧ 𝑑 = ( 𝐽𝑜 ) ) → ( 𝑦𝑑𝑦 ∈ ( 𝐽𝑜 ) ) )
54 eldif ( 𝑦 ∈ ( 𝐽𝑜 ) ↔ ( 𝑦 𝐽 ∧ ¬ 𝑦𝑜 ) )
55 54 baib ( 𝑦 𝐽 → ( 𝑦 ∈ ( 𝐽𝑜 ) ↔ ¬ 𝑦𝑜 ) )
56 55 ad2antlr ( ( ( ( ( 𝜑𝐽 ∈ Top ) ∧ 𝑥 𝐽 ) ∧ 𝑦 𝐽 ) ∧ 𝑑 = ( 𝐽𝑜 ) ) → ( 𝑦 ∈ ( 𝐽𝑜 ) ↔ ¬ 𝑦𝑜 ) )
57 53 56 bitrd ( ( ( ( ( 𝜑𝐽 ∈ Top ) ∧ 𝑥 𝐽 ) ∧ 𝑦 𝐽 ) ∧ 𝑑 = ( 𝐽𝑜 ) ) → ( 𝑦𝑑 ↔ ¬ 𝑦𝑜 ) )
58 52 57 bibi12d ( ( ( ( ( 𝜑𝐽 ∈ Top ) ∧ 𝑥 𝐽 ) ∧ 𝑦 𝐽 ) ∧ 𝑑 = ( 𝐽𝑜 ) ) → ( ( 𝑥𝑑𝑦𝑑 ) ↔ ( ¬ 𝑥𝑜 ↔ ¬ 𝑦𝑜 ) ) )
59 notbi ( ( 𝑥𝑜𝑦𝑜 ) ↔ ( ¬ 𝑥𝑜 ↔ ¬ 𝑦𝑜 ) )
60 58 59 bitr4di ( ( ( ( ( 𝜑𝐽 ∈ Top ) ∧ 𝑥 𝐽 ) ∧ 𝑦 𝐽 ) ∧ 𝑑 = ( 𝐽𝑜 ) ) → ( ( 𝑥𝑑𝑦𝑑 ) ↔ ( 𝑥𝑜𝑦𝑜 ) ) )
61 15 46 60 ralxfr2d ( ( ( ( 𝜑𝐽 ∈ Top ) ∧ 𝑥 𝐽 ) ∧ 𝑦 𝐽 ) → ( ∀ 𝑑𝐷 ( 𝑥𝑑𝑦𝑑 ) ↔ ∀ 𝑜𝐽 ( 𝑥𝑜𝑦𝑜 ) ) )
62 61 bicomd ( ( ( ( 𝜑𝐽 ∈ Top ) ∧ 𝑥 𝐽 ) ∧ 𝑦 𝐽 ) → ( ∀ 𝑜𝐽 ( 𝑥𝑜𝑦𝑜 ) ↔ ∀ 𝑑𝐷 ( 𝑥𝑑𝑦𝑑 ) ) )
63 62 imbi1d ( ( ( ( 𝜑𝐽 ∈ Top ) ∧ 𝑥 𝐽 ) ∧ 𝑦 𝐽 ) → ( ( ∀ 𝑜𝐽 ( 𝑥𝑜𝑦𝑜 ) → 𝑥 = 𝑦 ) ↔ ( ∀ 𝑑𝐷 ( 𝑥𝑑𝑦𝑑 ) → 𝑥 = 𝑦 ) ) )
64 11 63 raleqbidva ( ( ( 𝜑𝐽 ∈ Top ) ∧ 𝑥 𝐽 ) → ( ∀ 𝑦 𝐽 ( ∀ 𝑜𝐽 ( 𝑥𝑜𝑦𝑜 ) → 𝑥 = 𝑦 ) ↔ ∀ 𝑦𝐵 ( ∀ 𝑑𝐷 ( 𝑥𝑑𝑦𝑑 ) → 𝑥 = 𝑦 ) ) )
65 10 64 raleqbidva ( ( 𝜑𝐽 ∈ Top ) → ( ∀ 𝑥 𝐽𝑦 𝐽 ( ∀ 𝑜𝐽 ( 𝑥𝑜𝑦𝑜 ) → 𝑥 = 𝑦 ) ↔ ∀ 𝑥𝐵𝑦𝐵 ( ∀ 𝑑𝐷 ( 𝑥𝑑𝑦𝑑 ) → 𝑥 = 𝑦 ) ) )
66 8 65 bitrd ( ( 𝜑𝐽 ∈ Top ) → ( 𝐽 ∈ Kol2 ↔ ∀ 𝑥𝐵𝑦𝐵 ( ∀ 𝑑𝐷 ( 𝑥𝑑𝑦𝑑 ) → 𝑥 = 𝑦 ) ) )
67 6 66 biadanid ( 𝜑 → ( 𝐽 ∈ Kol2 ↔ ( 𝐽 ∈ Top ∧ ∀ 𝑥𝐵𝑦𝐵 ( ∀ 𝑑𝐷 ( 𝑥𝑑𝑦𝑑 ) → 𝑥 = 𝑦 ) ) ) )