Metamath Proof Explorer


Theorem bcth3

Description: Baire's Category Theorem, version 3: The intersection of countably many dense open sets is dense. (Contributed by Mario Carneiro, 10-Jan-2014)

Ref Expression
Hypothesis bcth.2 𝐽 = ( MetOpen ‘ 𝐷 )
Assertion bcth3 ( ( 𝐷 ∈ ( CMet ‘ 𝑋 ) ∧ 𝑀 : ℕ ⟶ 𝐽 ∧ ∀ 𝑘 ∈ ℕ ( ( cls ‘ 𝐽 ) ‘ ( 𝑀𝑘 ) ) = 𝑋 ) → ( ( cls ‘ 𝐽 ) ‘ ran 𝑀 ) = 𝑋 )

Proof

Step Hyp Ref Expression
1 bcth.2 𝐽 = ( MetOpen ‘ 𝐷 )
2 cmetmet ( 𝐷 ∈ ( CMet ‘ 𝑋 ) → 𝐷 ∈ ( Met ‘ 𝑋 ) )
3 metxmet ( 𝐷 ∈ ( Met ‘ 𝑋 ) → 𝐷 ∈ ( ∞Met ‘ 𝑋 ) )
4 2 3 syl ( 𝐷 ∈ ( CMet ‘ 𝑋 ) → 𝐷 ∈ ( ∞Met ‘ 𝑋 ) )
5 1 mopntop ( 𝐷 ∈ ( ∞Met ‘ 𝑋 ) → 𝐽 ∈ Top )
6 5 ad2antrr ( ( ( 𝐷 ∈ ( ∞Met ‘ 𝑋 ) ∧ 𝑀 : ℕ ⟶ 𝐽 ) ∧ 𝑘 ∈ ℕ ) → 𝐽 ∈ Top )
7 ffvelrn ( ( 𝑀 : ℕ ⟶ 𝐽𝑘 ∈ ℕ ) → ( 𝑀𝑘 ) ∈ 𝐽 )
8 elssuni ( ( 𝑀𝑘 ) ∈ 𝐽 → ( 𝑀𝑘 ) ⊆ 𝐽 )
9 7 8 syl ( ( 𝑀 : ℕ ⟶ 𝐽𝑘 ∈ ℕ ) → ( 𝑀𝑘 ) ⊆ 𝐽 )
10 9 adantll ( ( ( 𝐷 ∈ ( ∞Met ‘ 𝑋 ) ∧ 𝑀 : ℕ ⟶ 𝐽 ) ∧ 𝑘 ∈ ℕ ) → ( 𝑀𝑘 ) ⊆ 𝐽 )
11 eqid 𝐽 = 𝐽
12 11 clsval2 ( ( 𝐽 ∈ Top ∧ ( 𝑀𝑘 ) ⊆ 𝐽 ) → ( ( cls ‘ 𝐽 ) ‘ ( 𝑀𝑘 ) ) = ( 𝐽 ∖ ( ( int ‘ 𝐽 ) ‘ ( 𝐽 ∖ ( 𝑀𝑘 ) ) ) ) )
13 6 10 12 syl2anc ( ( ( 𝐷 ∈ ( ∞Met ‘ 𝑋 ) ∧ 𝑀 : ℕ ⟶ 𝐽 ) ∧ 𝑘 ∈ ℕ ) → ( ( cls ‘ 𝐽 ) ‘ ( 𝑀𝑘 ) ) = ( 𝐽 ∖ ( ( int ‘ 𝐽 ) ‘ ( 𝐽 ∖ ( 𝑀𝑘 ) ) ) ) )
14 1 mopnuni ( 𝐷 ∈ ( ∞Met ‘ 𝑋 ) → 𝑋 = 𝐽 )
15 14 ad2antrr ( ( ( 𝐷 ∈ ( ∞Met ‘ 𝑋 ) ∧ 𝑀 : ℕ ⟶ 𝐽 ) ∧ 𝑘 ∈ ℕ ) → 𝑋 = 𝐽 )
16 13 15 eqeq12d ( ( ( 𝐷 ∈ ( ∞Met ‘ 𝑋 ) ∧ 𝑀 : ℕ ⟶ 𝐽 ) ∧ 𝑘 ∈ ℕ ) → ( ( ( cls ‘ 𝐽 ) ‘ ( 𝑀𝑘 ) ) = 𝑋 ↔ ( 𝐽 ∖ ( ( int ‘ 𝐽 ) ‘ ( 𝐽 ∖ ( 𝑀𝑘 ) ) ) ) = 𝐽 ) )
17 difeq2 ( ( 𝐽 ∖ ( ( int ‘ 𝐽 ) ‘ ( 𝐽 ∖ ( 𝑀𝑘 ) ) ) ) = 𝐽 → ( 𝐽 ∖ ( 𝐽 ∖ ( ( int ‘ 𝐽 ) ‘ ( 𝐽 ∖ ( 𝑀𝑘 ) ) ) ) ) = ( 𝐽 𝐽 ) )
18 difid ( 𝐽 𝐽 ) = ∅
19 17 18 eqtrdi ( ( 𝐽 ∖ ( ( int ‘ 𝐽 ) ‘ ( 𝐽 ∖ ( 𝑀𝑘 ) ) ) ) = 𝐽 → ( 𝐽 ∖ ( 𝐽 ∖ ( ( int ‘ 𝐽 ) ‘ ( 𝐽 ∖ ( 𝑀𝑘 ) ) ) ) ) = ∅ )
20 difss ( 𝐽 ∖ ( 𝑀𝑘 ) ) ⊆ 𝐽
21 11 ntropn ( ( 𝐽 ∈ Top ∧ ( 𝐽 ∖ ( 𝑀𝑘 ) ) ⊆ 𝐽 ) → ( ( int ‘ 𝐽 ) ‘ ( 𝐽 ∖ ( 𝑀𝑘 ) ) ) ∈ 𝐽 )
22 6 20 21 sylancl ( ( ( 𝐷 ∈ ( ∞Met ‘ 𝑋 ) ∧ 𝑀 : ℕ ⟶ 𝐽 ) ∧ 𝑘 ∈ ℕ ) → ( ( int ‘ 𝐽 ) ‘ ( 𝐽 ∖ ( 𝑀𝑘 ) ) ) ∈ 𝐽 )
23 elssuni ( ( ( int ‘ 𝐽 ) ‘ ( 𝐽 ∖ ( 𝑀𝑘 ) ) ) ∈ 𝐽 → ( ( int ‘ 𝐽 ) ‘ ( 𝐽 ∖ ( 𝑀𝑘 ) ) ) ⊆ 𝐽 )
24 22 23 syl ( ( ( 𝐷 ∈ ( ∞Met ‘ 𝑋 ) ∧ 𝑀 : ℕ ⟶ 𝐽 ) ∧ 𝑘 ∈ ℕ ) → ( ( int ‘ 𝐽 ) ‘ ( 𝐽 ∖ ( 𝑀𝑘 ) ) ) ⊆ 𝐽 )
25 dfss4 ( ( ( int ‘ 𝐽 ) ‘ ( 𝐽 ∖ ( 𝑀𝑘 ) ) ) ⊆ 𝐽 ↔ ( 𝐽 ∖ ( 𝐽 ∖ ( ( int ‘ 𝐽 ) ‘ ( 𝐽 ∖ ( 𝑀𝑘 ) ) ) ) ) = ( ( int ‘ 𝐽 ) ‘ ( 𝐽 ∖ ( 𝑀𝑘 ) ) ) )
26 24 25 sylib ( ( ( 𝐷 ∈ ( ∞Met ‘ 𝑋 ) ∧ 𝑀 : ℕ ⟶ 𝐽 ) ∧ 𝑘 ∈ ℕ ) → ( 𝐽 ∖ ( 𝐽 ∖ ( ( int ‘ 𝐽 ) ‘ ( 𝐽 ∖ ( 𝑀𝑘 ) ) ) ) ) = ( ( int ‘ 𝐽 ) ‘ ( 𝐽 ∖ ( 𝑀𝑘 ) ) ) )
27 id ( 𝑘 ∈ ℕ → 𝑘 ∈ ℕ )
28 elfvdm ( 𝐷 ∈ ( ∞Met ‘ 𝑋 ) → 𝑋 ∈ dom ∞Met )
29 difexg ( 𝑋 ∈ dom ∞Met → ( 𝑋 ∖ ( 𝑀𝑘 ) ) ∈ V )
30 28 29 syl ( 𝐷 ∈ ( ∞Met ‘ 𝑋 ) → ( 𝑋 ∖ ( 𝑀𝑘 ) ) ∈ V )
31 30 adantr ( ( 𝐷 ∈ ( ∞Met ‘ 𝑋 ) ∧ 𝑀 : ℕ ⟶ 𝐽 ) → ( 𝑋 ∖ ( 𝑀𝑘 ) ) ∈ V )
32 fveq2 ( 𝑥 = 𝑘 → ( 𝑀𝑥 ) = ( 𝑀𝑘 ) )
33 32 difeq2d ( 𝑥 = 𝑘 → ( 𝑋 ∖ ( 𝑀𝑥 ) ) = ( 𝑋 ∖ ( 𝑀𝑘 ) ) )
34 eqid ( 𝑥 ∈ ℕ ↦ ( 𝑋 ∖ ( 𝑀𝑥 ) ) ) = ( 𝑥 ∈ ℕ ↦ ( 𝑋 ∖ ( 𝑀𝑥 ) ) )
35 33 34 fvmptg ( ( 𝑘 ∈ ℕ ∧ ( 𝑋 ∖ ( 𝑀𝑘 ) ) ∈ V ) → ( ( 𝑥 ∈ ℕ ↦ ( 𝑋 ∖ ( 𝑀𝑥 ) ) ) ‘ 𝑘 ) = ( 𝑋 ∖ ( 𝑀𝑘 ) ) )
36 27 31 35 syl2anr ( ( ( 𝐷 ∈ ( ∞Met ‘ 𝑋 ) ∧ 𝑀 : ℕ ⟶ 𝐽 ) ∧ 𝑘 ∈ ℕ ) → ( ( 𝑥 ∈ ℕ ↦ ( 𝑋 ∖ ( 𝑀𝑥 ) ) ) ‘ 𝑘 ) = ( 𝑋 ∖ ( 𝑀𝑘 ) ) )
37 15 difeq1d ( ( ( 𝐷 ∈ ( ∞Met ‘ 𝑋 ) ∧ 𝑀 : ℕ ⟶ 𝐽 ) ∧ 𝑘 ∈ ℕ ) → ( 𝑋 ∖ ( 𝑀𝑘 ) ) = ( 𝐽 ∖ ( 𝑀𝑘 ) ) )
38 36 37 eqtrd ( ( ( 𝐷 ∈ ( ∞Met ‘ 𝑋 ) ∧ 𝑀 : ℕ ⟶ 𝐽 ) ∧ 𝑘 ∈ ℕ ) → ( ( 𝑥 ∈ ℕ ↦ ( 𝑋 ∖ ( 𝑀𝑥 ) ) ) ‘ 𝑘 ) = ( 𝐽 ∖ ( 𝑀𝑘 ) ) )
39 38 fveq2d ( ( ( 𝐷 ∈ ( ∞Met ‘ 𝑋 ) ∧ 𝑀 : ℕ ⟶ 𝐽 ) ∧ 𝑘 ∈ ℕ ) → ( ( int ‘ 𝐽 ) ‘ ( ( 𝑥 ∈ ℕ ↦ ( 𝑋 ∖ ( 𝑀𝑥 ) ) ) ‘ 𝑘 ) ) = ( ( int ‘ 𝐽 ) ‘ ( 𝐽 ∖ ( 𝑀𝑘 ) ) ) )
40 26 39 eqtr4d ( ( ( 𝐷 ∈ ( ∞Met ‘ 𝑋 ) ∧ 𝑀 : ℕ ⟶ 𝐽 ) ∧ 𝑘 ∈ ℕ ) → ( 𝐽 ∖ ( 𝐽 ∖ ( ( int ‘ 𝐽 ) ‘ ( 𝐽 ∖ ( 𝑀𝑘 ) ) ) ) ) = ( ( int ‘ 𝐽 ) ‘ ( ( 𝑥 ∈ ℕ ↦ ( 𝑋 ∖ ( 𝑀𝑥 ) ) ) ‘ 𝑘 ) ) )
41 40 eqeq1d ( ( ( 𝐷 ∈ ( ∞Met ‘ 𝑋 ) ∧ 𝑀 : ℕ ⟶ 𝐽 ) ∧ 𝑘 ∈ ℕ ) → ( ( 𝐽 ∖ ( 𝐽 ∖ ( ( int ‘ 𝐽 ) ‘ ( 𝐽 ∖ ( 𝑀𝑘 ) ) ) ) ) = ∅ ↔ ( ( int ‘ 𝐽 ) ‘ ( ( 𝑥 ∈ ℕ ↦ ( 𝑋 ∖ ( 𝑀𝑥 ) ) ) ‘ 𝑘 ) ) = ∅ ) )
42 19 41 syl5ib ( ( ( 𝐷 ∈ ( ∞Met ‘ 𝑋 ) ∧ 𝑀 : ℕ ⟶ 𝐽 ) ∧ 𝑘 ∈ ℕ ) → ( ( 𝐽 ∖ ( ( int ‘ 𝐽 ) ‘ ( 𝐽 ∖ ( 𝑀𝑘 ) ) ) ) = 𝐽 → ( ( int ‘ 𝐽 ) ‘ ( ( 𝑥 ∈ ℕ ↦ ( 𝑋 ∖ ( 𝑀𝑥 ) ) ) ‘ 𝑘 ) ) = ∅ ) )
43 16 42 sylbid ( ( ( 𝐷 ∈ ( ∞Met ‘ 𝑋 ) ∧ 𝑀 : ℕ ⟶ 𝐽 ) ∧ 𝑘 ∈ ℕ ) → ( ( ( cls ‘ 𝐽 ) ‘ ( 𝑀𝑘 ) ) = 𝑋 → ( ( int ‘ 𝐽 ) ‘ ( ( 𝑥 ∈ ℕ ↦ ( 𝑋 ∖ ( 𝑀𝑥 ) ) ) ‘ 𝑘 ) ) = ∅ ) )
44 43 ralimdva ( ( 𝐷 ∈ ( ∞Met ‘ 𝑋 ) ∧ 𝑀 : ℕ ⟶ 𝐽 ) → ( ∀ 𝑘 ∈ ℕ ( ( cls ‘ 𝐽 ) ‘ ( 𝑀𝑘 ) ) = 𝑋 → ∀ 𝑘 ∈ ℕ ( ( int ‘ 𝐽 ) ‘ ( ( 𝑥 ∈ ℕ ↦ ( 𝑋 ∖ ( 𝑀𝑥 ) ) ) ‘ 𝑘 ) ) = ∅ ) )
45 4 44 sylan ( ( 𝐷 ∈ ( CMet ‘ 𝑋 ) ∧ 𝑀 : ℕ ⟶ 𝐽 ) → ( ∀ 𝑘 ∈ ℕ ( ( cls ‘ 𝐽 ) ‘ ( 𝑀𝑘 ) ) = 𝑋 → ∀ 𝑘 ∈ ℕ ( ( int ‘ 𝐽 ) ‘ ( ( 𝑥 ∈ ℕ ↦ ( 𝑋 ∖ ( 𝑀𝑥 ) ) ) ‘ 𝑘 ) ) = ∅ ) )
46 ffvelrn ( ( 𝑀 : ℕ ⟶ 𝐽𝑥 ∈ ℕ ) → ( 𝑀𝑥 ) ∈ 𝐽 )
47 14 difeq1d ( 𝐷 ∈ ( ∞Met ‘ 𝑋 ) → ( 𝑋 ∖ ( 𝑀𝑥 ) ) = ( 𝐽 ∖ ( 𝑀𝑥 ) ) )
48 47 adantr ( ( 𝐷 ∈ ( ∞Met ‘ 𝑋 ) ∧ ( 𝑀𝑥 ) ∈ 𝐽 ) → ( 𝑋 ∖ ( 𝑀𝑥 ) ) = ( 𝐽 ∖ ( 𝑀𝑥 ) ) )
49 11 opncld ( ( 𝐽 ∈ Top ∧ ( 𝑀𝑥 ) ∈ 𝐽 ) → ( 𝐽 ∖ ( 𝑀𝑥 ) ) ∈ ( Clsd ‘ 𝐽 ) )
50 5 49 sylan ( ( 𝐷 ∈ ( ∞Met ‘ 𝑋 ) ∧ ( 𝑀𝑥 ) ∈ 𝐽 ) → ( 𝐽 ∖ ( 𝑀𝑥 ) ) ∈ ( Clsd ‘ 𝐽 ) )
51 48 50 eqeltrd ( ( 𝐷 ∈ ( ∞Met ‘ 𝑋 ) ∧ ( 𝑀𝑥 ) ∈ 𝐽 ) → ( 𝑋 ∖ ( 𝑀𝑥 ) ) ∈ ( Clsd ‘ 𝐽 ) )
52 46 51 sylan2 ( ( 𝐷 ∈ ( ∞Met ‘ 𝑋 ) ∧ ( 𝑀 : ℕ ⟶ 𝐽𝑥 ∈ ℕ ) ) → ( 𝑋 ∖ ( 𝑀𝑥 ) ) ∈ ( Clsd ‘ 𝐽 ) )
53 52 anassrs ( ( ( 𝐷 ∈ ( ∞Met ‘ 𝑋 ) ∧ 𝑀 : ℕ ⟶ 𝐽 ) ∧ 𝑥 ∈ ℕ ) → ( 𝑋 ∖ ( 𝑀𝑥 ) ) ∈ ( Clsd ‘ 𝐽 ) )
54 53 ralrimiva ( ( 𝐷 ∈ ( ∞Met ‘ 𝑋 ) ∧ 𝑀 : ℕ ⟶ 𝐽 ) → ∀ 𝑥 ∈ ℕ ( 𝑋 ∖ ( 𝑀𝑥 ) ) ∈ ( Clsd ‘ 𝐽 ) )
55 4 54 sylan ( ( 𝐷 ∈ ( CMet ‘ 𝑋 ) ∧ 𝑀 : ℕ ⟶ 𝐽 ) → ∀ 𝑥 ∈ ℕ ( 𝑋 ∖ ( 𝑀𝑥 ) ) ∈ ( Clsd ‘ 𝐽 ) )
56 34 fmpt ( ∀ 𝑥 ∈ ℕ ( 𝑋 ∖ ( 𝑀𝑥 ) ) ∈ ( Clsd ‘ 𝐽 ) ↔ ( 𝑥 ∈ ℕ ↦ ( 𝑋 ∖ ( 𝑀𝑥 ) ) ) : ℕ ⟶ ( Clsd ‘ 𝐽 ) )
57 55 56 sylib ( ( 𝐷 ∈ ( CMet ‘ 𝑋 ) ∧ 𝑀 : ℕ ⟶ 𝐽 ) → ( 𝑥 ∈ ℕ ↦ ( 𝑋 ∖ ( 𝑀𝑥 ) ) ) : ℕ ⟶ ( Clsd ‘ 𝐽 ) )
58 nne ( ¬ ( ( int ‘ 𝐽 ) ‘ ( ( 𝑥 ∈ ℕ ↦ ( 𝑋 ∖ ( 𝑀𝑥 ) ) ) ‘ 𝑘 ) ) ≠ ∅ ↔ ( ( int ‘ 𝐽 ) ‘ ( ( 𝑥 ∈ ℕ ↦ ( 𝑋 ∖ ( 𝑀𝑥 ) ) ) ‘ 𝑘 ) ) = ∅ )
59 58 ralbii ( ∀ 𝑘 ∈ ℕ ¬ ( ( int ‘ 𝐽 ) ‘ ( ( 𝑥 ∈ ℕ ↦ ( 𝑋 ∖ ( 𝑀𝑥 ) ) ) ‘ 𝑘 ) ) ≠ ∅ ↔ ∀ 𝑘 ∈ ℕ ( ( int ‘ 𝐽 ) ‘ ( ( 𝑥 ∈ ℕ ↦ ( 𝑋 ∖ ( 𝑀𝑥 ) ) ) ‘ 𝑘 ) ) = ∅ )
60 ralnex ( ∀ 𝑘 ∈ ℕ ¬ ( ( int ‘ 𝐽 ) ‘ ( ( 𝑥 ∈ ℕ ↦ ( 𝑋 ∖ ( 𝑀𝑥 ) ) ) ‘ 𝑘 ) ) ≠ ∅ ↔ ¬ ∃ 𝑘 ∈ ℕ ( ( int ‘ 𝐽 ) ‘ ( ( 𝑥 ∈ ℕ ↦ ( 𝑋 ∖ ( 𝑀𝑥 ) ) ) ‘ 𝑘 ) ) ≠ ∅ )
61 59 60 bitr3i ( ∀ 𝑘 ∈ ℕ ( ( int ‘ 𝐽 ) ‘ ( ( 𝑥 ∈ ℕ ↦ ( 𝑋 ∖ ( 𝑀𝑥 ) ) ) ‘ 𝑘 ) ) = ∅ ↔ ¬ ∃ 𝑘 ∈ ℕ ( ( int ‘ 𝐽 ) ‘ ( ( 𝑥 ∈ ℕ ↦ ( 𝑋 ∖ ( 𝑀𝑥 ) ) ) ‘ 𝑘 ) ) ≠ ∅ )
62 1 bcth ( ( 𝐷 ∈ ( CMet ‘ 𝑋 ) ∧ ( 𝑥 ∈ ℕ ↦ ( 𝑋 ∖ ( 𝑀𝑥 ) ) ) : ℕ ⟶ ( Clsd ‘ 𝐽 ) ∧ ( ( int ‘ 𝐽 ) ‘ ran ( 𝑥 ∈ ℕ ↦ ( 𝑋 ∖ ( 𝑀𝑥 ) ) ) ) ≠ ∅ ) → ∃ 𝑘 ∈ ℕ ( ( int ‘ 𝐽 ) ‘ ( ( 𝑥 ∈ ℕ ↦ ( 𝑋 ∖ ( 𝑀𝑥 ) ) ) ‘ 𝑘 ) ) ≠ ∅ )
63 62 3expia ( ( 𝐷 ∈ ( CMet ‘ 𝑋 ) ∧ ( 𝑥 ∈ ℕ ↦ ( 𝑋 ∖ ( 𝑀𝑥 ) ) ) : ℕ ⟶ ( Clsd ‘ 𝐽 ) ) → ( ( ( int ‘ 𝐽 ) ‘ ran ( 𝑥 ∈ ℕ ↦ ( 𝑋 ∖ ( 𝑀𝑥 ) ) ) ) ≠ ∅ → ∃ 𝑘 ∈ ℕ ( ( int ‘ 𝐽 ) ‘ ( ( 𝑥 ∈ ℕ ↦ ( 𝑋 ∖ ( 𝑀𝑥 ) ) ) ‘ 𝑘 ) ) ≠ ∅ ) )
64 63 necon1bd ( ( 𝐷 ∈ ( CMet ‘ 𝑋 ) ∧ ( 𝑥 ∈ ℕ ↦ ( 𝑋 ∖ ( 𝑀𝑥 ) ) ) : ℕ ⟶ ( Clsd ‘ 𝐽 ) ) → ( ¬ ∃ 𝑘 ∈ ℕ ( ( int ‘ 𝐽 ) ‘ ( ( 𝑥 ∈ ℕ ↦ ( 𝑋 ∖ ( 𝑀𝑥 ) ) ) ‘ 𝑘 ) ) ≠ ∅ → ( ( int ‘ 𝐽 ) ‘ ran ( 𝑥 ∈ ℕ ↦ ( 𝑋 ∖ ( 𝑀𝑥 ) ) ) ) = ∅ ) )
65 61 64 syl5bi ( ( 𝐷 ∈ ( CMet ‘ 𝑋 ) ∧ ( 𝑥 ∈ ℕ ↦ ( 𝑋 ∖ ( 𝑀𝑥 ) ) ) : ℕ ⟶ ( Clsd ‘ 𝐽 ) ) → ( ∀ 𝑘 ∈ ℕ ( ( int ‘ 𝐽 ) ‘ ( ( 𝑥 ∈ ℕ ↦ ( 𝑋 ∖ ( 𝑀𝑥 ) ) ) ‘ 𝑘 ) ) = ∅ → ( ( int ‘ 𝐽 ) ‘ ran ( 𝑥 ∈ ℕ ↦ ( 𝑋 ∖ ( 𝑀𝑥 ) ) ) ) = ∅ ) )
66 57 65 syldan ( ( 𝐷 ∈ ( CMet ‘ 𝑋 ) ∧ 𝑀 : ℕ ⟶ 𝐽 ) → ( ∀ 𝑘 ∈ ℕ ( ( int ‘ 𝐽 ) ‘ ( ( 𝑥 ∈ ℕ ↦ ( 𝑋 ∖ ( 𝑀𝑥 ) ) ) ‘ 𝑘 ) ) = ∅ → ( ( int ‘ 𝐽 ) ‘ ran ( 𝑥 ∈ ℕ ↦ ( 𝑋 ∖ ( 𝑀𝑥 ) ) ) ) = ∅ ) )
67 difeq2 ( ( ( int ‘ 𝐽 ) ‘ ran ( 𝑥 ∈ ℕ ↦ ( 𝑋 ∖ ( 𝑀𝑥 ) ) ) ) = ∅ → ( 𝐽 ∖ ( ( int ‘ 𝐽 ) ‘ ran ( 𝑥 ∈ ℕ ↦ ( 𝑋 ∖ ( 𝑀𝑥 ) ) ) ) ) = ( 𝐽 ∖ ∅ ) )
68 difexg ( 𝑋 ∈ dom ∞Met → ( 𝑋 ∖ ( 𝑀𝑥 ) ) ∈ V )
69 28 68 syl ( 𝐷 ∈ ( ∞Met ‘ 𝑋 ) → ( 𝑋 ∖ ( 𝑀𝑥 ) ) ∈ V )
70 69 ad2antrr ( ( ( 𝐷 ∈ ( ∞Met ‘ 𝑋 ) ∧ 𝑀 : ℕ ⟶ 𝐽 ) ∧ 𝑥 ∈ ℕ ) → ( 𝑋 ∖ ( 𝑀𝑥 ) ) ∈ V )
71 70 ralrimiva ( ( 𝐷 ∈ ( ∞Met ‘ 𝑋 ) ∧ 𝑀 : ℕ ⟶ 𝐽 ) → ∀ 𝑥 ∈ ℕ ( 𝑋 ∖ ( 𝑀𝑥 ) ) ∈ V )
72 34 fnmpt ( ∀ 𝑥 ∈ ℕ ( 𝑋 ∖ ( 𝑀𝑥 ) ) ∈ V → ( 𝑥 ∈ ℕ ↦ ( 𝑋 ∖ ( 𝑀𝑥 ) ) ) Fn ℕ )
73 fniunfv ( ( 𝑥 ∈ ℕ ↦ ( 𝑋 ∖ ( 𝑀𝑥 ) ) ) Fn ℕ → 𝑘 ∈ ℕ ( ( 𝑥 ∈ ℕ ↦ ( 𝑋 ∖ ( 𝑀𝑥 ) ) ) ‘ 𝑘 ) = ran ( 𝑥 ∈ ℕ ↦ ( 𝑋 ∖ ( 𝑀𝑥 ) ) ) )
74 71 72 73 3syl ( ( 𝐷 ∈ ( ∞Met ‘ 𝑋 ) ∧ 𝑀 : ℕ ⟶ 𝐽 ) → 𝑘 ∈ ℕ ( ( 𝑥 ∈ ℕ ↦ ( 𝑋 ∖ ( 𝑀𝑥 ) ) ) ‘ 𝑘 ) = ran ( 𝑥 ∈ ℕ ↦ ( 𝑋 ∖ ( 𝑀𝑥 ) ) ) )
75 36 iuneq2dv ( ( 𝐷 ∈ ( ∞Met ‘ 𝑋 ) ∧ 𝑀 : ℕ ⟶ 𝐽 ) → 𝑘 ∈ ℕ ( ( 𝑥 ∈ ℕ ↦ ( 𝑋 ∖ ( 𝑀𝑥 ) ) ) ‘ 𝑘 ) = 𝑘 ∈ ℕ ( 𝑋 ∖ ( 𝑀𝑘 ) ) )
76 33 cbviunv 𝑥 ∈ ℕ ( 𝑋 ∖ ( 𝑀𝑥 ) ) = 𝑘 ∈ ℕ ( 𝑋 ∖ ( 𝑀𝑘 ) )
77 75 76 eqtr4di ( ( 𝐷 ∈ ( ∞Met ‘ 𝑋 ) ∧ 𝑀 : ℕ ⟶ 𝐽 ) → 𝑘 ∈ ℕ ( ( 𝑥 ∈ ℕ ↦ ( 𝑋 ∖ ( 𝑀𝑥 ) ) ) ‘ 𝑘 ) = 𝑥 ∈ ℕ ( 𝑋 ∖ ( 𝑀𝑥 ) ) )
78 74 77 eqtr3d ( ( 𝐷 ∈ ( ∞Met ‘ 𝑋 ) ∧ 𝑀 : ℕ ⟶ 𝐽 ) → ran ( 𝑥 ∈ ℕ ↦ ( 𝑋 ∖ ( 𝑀𝑥 ) ) ) = 𝑥 ∈ ℕ ( 𝑋 ∖ ( 𝑀𝑥 ) ) )
79 iundif2 𝑥 ∈ ℕ ( 𝑋 ∖ ( 𝑀𝑥 ) ) = ( 𝑋 𝑥 ∈ ℕ ( 𝑀𝑥 ) )
80 78 79 eqtrdi ( ( 𝐷 ∈ ( ∞Met ‘ 𝑋 ) ∧ 𝑀 : ℕ ⟶ 𝐽 ) → ran ( 𝑥 ∈ ℕ ↦ ( 𝑋 ∖ ( 𝑀𝑥 ) ) ) = ( 𝑋 𝑥 ∈ ℕ ( 𝑀𝑥 ) ) )
81 ffn ( 𝑀 : ℕ ⟶ 𝐽𝑀 Fn ℕ )
82 81 adantl ( ( 𝐷 ∈ ( ∞Met ‘ 𝑋 ) ∧ 𝑀 : ℕ ⟶ 𝐽 ) → 𝑀 Fn ℕ )
83 fniinfv ( 𝑀 Fn ℕ → 𝑥 ∈ ℕ ( 𝑀𝑥 ) = ran 𝑀 )
84 82 83 syl ( ( 𝐷 ∈ ( ∞Met ‘ 𝑋 ) ∧ 𝑀 : ℕ ⟶ 𝐽 ) → 𝑥 ∈ ℕ ( 𝑀𝑥 ) = ran 𝑀 )
85 84 difeq2d ( ( 𝐷 ∈ ( ∞Met ‘ 𝑋 ) ∧ 𝑀 : ℕ ⟶ 𝐽 ) → ( 𝑋 𝑥 ∈ ℕ ( 𝑀𝑥 ) ) = ( 𝑋 ran 𝑀 ) )
86 14 adantr ( ( 𝐷 ∈ ( ∞Met ‘ 𝑋 ) ∧ 𝑀 : ℕ ⟶ 𝐽 ) → 𝑋 = 𝐽 )
87 86 difeq1d ( ( 𝐷 ∈ ( ∞Met ‘ 𝑋 ) ∧ 𝑀 : ℕ ⟶ 𝐽 ) → ( 𝑋 ran 𝑀 ) = ( 𝐽 ran 𝑀 ) )
88 80 85 87 3eqtrd ( ( 𝐷 ∈ ( ∞Met ‘ 𝑋 ) ∧ 𝑀 : ℕ ⟶ 𝐽 ) → ran ( 𝑥 ∈ ℕ ↦ ( 𝑋 ∖ ( 𝑀𝑥 ) ) ) = ( 𝐽 ran 𝑀 ) )
89 88 fveq2d ( ( 𝐷 ∈ ( ∞Met ‘ 𝑋 ) ∧ 𝑀 : ℕ ⟶ 𝐽 ) → ( ( int ‘ 𝐽 ) ‘ ran ( 𝑥 ∈ ℕ ↦ ( 𝑋 ∖ ( 𝑀𝑥 ) ) ) ) = ( ( int ‘ 𝐽 ) ‘ ( 𝐽 ran 𝑀 ) ) )
90 89 difeq2d ( ( 𝐷 ∈ ( ∞Met ‘ 𝑋 ) ∧ 𝑀 : ℕ ⟶ 𝐽 ) → ( 𝐽 ∖ ( ( int ‘ 𝐽 ) ‘ ran ( 𝑥 ∈ ℕ ↦ ( 𝑋 ∖ ( 𝑀𝑥 ) ) ) ) ) = ( 𝐽 ∖ ( ( int ‘ 𝐽 ) ‘ ( 𝐽 ran 𝑀 ) ) ) )
91 5 adantr ( ( 𝐷 ∈ ( ∞Met ‘ 𝑋 ) ∧ 𝑀 : ℕ ⟶ 𝐽 ) → 𝐽 ∈ Top )
92 1nn 1 ∈ ℕ
93 biidd ( 𝑘 = 1 → ( ( ( 𝐷 ∈ ( ∞Met ‘ 𝑋 ) ∧ 𝑀 : ℕ ⟶ 𝐽 ) → ran 𝑀 𝐽 ) ↔ ( ( 𝐷 ∈ ( ∞Met ‘ 𝑋 ) ∧ 𝑀 : ℕ ⟶ 𝐽 ) → ran 𝑀 𝐽 ) ) )
94 fnfvelrn ( ( 𝑀 Fn ℕ ∧ 𝑘 ∈ ℕ ) → ( 𝑀𝑘 ) ∈ ran 𝑀 )
95 82 94 sylan ( ( ( 𝐷 ∈ ( ∞Met ‘ 𝑋 ) ∧ 𝑀 : ℕ ⟶ 𝐽 ) ∧ 𝑘 ∈ ℕ ) → ( 𝑀𝑘 ) ∈ ran 𝑀 )
96 intss1 ( ( 𝑀𝑘 ) ∈ ran 𝑀 ran 𝑀 ⊆ ( 𝑀𝑘 ) )
97 95 96 syl ( ( ( 𝐷 ∈ ( ∞Met ‘ 𝑋 ) ∧ 𝑀 : ℕ ⟶ 𝐽 ) ∧ 𝑘 ∈ ℕ ) → ran 𝑀 ⊆ ( 𝑀𝑘 ) )
98 97 10 sstrd ( ( ( 𝐷 ∈ ( ∞Met ‘ 𝑋 ) ∧ 𝑀 : ℕ ⟶ 𝐽 ) ∧ 𝑘 ∈ ℕ ) → ran 𝑀 𝐽 )
99 98 expcom ( 𝑘 ∈ ℕ → ( ( 𝐷 ∈ ( ∞Met ‘ 𝑋 ) ∧ 𝑀 : ℕ ⟶ 𝐽 ) → ran 𝑀 𝐽 ) )
100 93 99 vtoclga ( 1 ∈ ℕ → ( ( 𝐷 ∈ ( ∞Met ‘ 𝑋 ) ∧ 𝑀 : ℕ ⟶ 𝐽 ) → ran 𝑀 𝐽 ) )
101 92 100 ax-mp ( ( 𝐷 ∈ ( ∞Met ‘ 𝑋 ) ∧ 𝑀 : ℕ ⟶ 𝐽 ) → ran 𝑀 𝐽 )
102 11 clsval2 ( ( 𝐽 ∈ Top ∧ ran 𝑀 𝐽 ) → ( ( cls ‘ 𝐽 ) ‘ ran 𝑀 ) = ( 𝐽 ∖ ( ( int ‘ 𝐽 ) ‘ ( 𝐽 ran 𝑀 ) ) ) )
103 91 101 102 syl2anc ( ( 𝐷 ∈ ( ∞Met ‘ 𝑋 ) ∧ 𝑀 : ℕ ⟶ 𝐽 ) → ( ( cls ‘ 𝐽 ) ‘ ran 𝑀 ) = ( 𝐽 ∖ ( ( int ‘ 𝐽 ) ‘ ( 𝐽 ran 𝑀 ) ) ) )
104 90 103 eqtr4d ( ( 𝐷 ∈ ( ∞Met ‘ 𝑋 ) ∧ 𝑀 : ℕ ⟶ 𝐽 ) → ( 𝐽 ∖ ( ( int ‘ 𝐽 ) ‘ ran ( 𝑥 ∈ ℕ ↦ ( 𝑋 ∖ ( 𝑀𝑥 ) ) ) ) ) = ( ( cls ‘ 𝐽 ) ‘ ran 𝑀 ) )
105 dif0 ( 𝐽 ∖ ∅ ) = 𝐽
106 105 86 eqtr4id ( ( 𝐷 ∈ ( ∞Met ‘ 𝑋 ) ∧ 𝑀 : ℕ ⟶ 𝐽 ) → ( 𝐽 ∖ ∅ ) = 𝑋 )
107 104 106 eqeq12d ( ( 𝐷 ∈ ( ∞Met ‘ 𝑋 ) ∧ 𝑀 : ℕ ⟶ 𝐽 ) → ( ( 𝐽 ∖ ( ( int ‘ 𝐽 ) ‘ ran ( 𝑥 ∈ ℕ ↦ ( 𝑋 ∖ ( 𝑀𝑥 ) ) ) ) ) = ( 𝐽 ∖ ∅ ) ↔ ( ( cls ‘ 𝐽 ) ‘ ran 𝑀 ) = 𝑋 ) )
108 67 107 syl5ib ( ( 𝐷 ∈ ( ∞Met ‘ 𝑋 ) ∧ 𝑀 : ℕ ⟶ 𝐽 ) → ( ( ( int ‘ 𝐽 ) ‘ ran ( 𝑥 ∈ ℕ ↦ ( 𝑋 ∖ ( 𝑀𝑥 ) ) ) ) = ∅ → ( ( cls ‘ 𝐽 ) ‘ ran 𝑀 ) = 𝑋 ) )
109 4 108 sylan ( ( 𝐷 ∈ ( CMet ‘ 𝑋 ) ∧ 𝑀 : ℕ ⟶ 𝐽 ) → ( ( ( int ‘ 𝐽 ) ‘ ran ( 𝑥 ∈ ℕ ↦ ( 𝑋 ∖ ( 𝑀𝑥 ) ) ) ) = ∅ → ( ( cls ‘ 𝐽 ) ‘ ran 𝑀 ) = 𝑋 ) )
110 45 66 109 3syld ( ( 𝐷 ∈ ( CMet ‘ 𝑋 ) ∧ 𝑀 : ℕ ⟶ 𝐽 ) → ( ∀ 𝑘 ∈ ℕ ( ( cls ‘ 𝐽 ) ‘ ( 𝑀𝑘 ) ) = 𝑋 → ( ( cls ‘ 𝐽 ) ‘ ran 𝑀 ) = 𝑋 ) )
111 110 3impia ( ( 𝐷 ∈ ( CMet ‘ 𝑋 ) ∧ 𝑀 : ℕ ⟶ 𝐽 ∧ ∀ 𝑘 ∈ ℕ ( ( cls ‘ 𝐽 ) ‘ ( 𝑀𝑘 ) ) = 𝑋 ) → ( ( cls ‘ 𝐽 ) ‘ ran 𝑀 ) = 𝑋 )