Metamath Proof Explorer


Theorem qndenserrn

Description: n-dimensional rational numbers are dense in the space of n-dimensional real numbers, with respect to the n-dimensional standard topology. (Contributed by Glauco Siliprandi, 24-Dec-2020)

Ref Expression
Hypotheses qndenserrn.i ( 𝜑𝐼 ∈ Fin )
qndenserrn.j 𝐽 = ( TopOpen ‘ ( ℝ^ ‘ 𝐼 ) )
Assertion qndenserrn ( 𝜑 → ( ( cls ‘ 𝐽 ) ‘ ( ℚ ↑m 𝐼 ) ) = ( ℝ ↑m 𝐼 ) )

Proof

Step Hyp Ref Expression
1 qndenserrn.i ( 𝜑𝐼 ∈ Fin )
2 qndenserrn.j 𝐽 = ( TopOpen ‘ ( ℝ^ ‘ 𝐼 ) )
3 2 rrxtop ( 𝐼 ∈ Fin → 𝐽 ∈ Top )
4 1 3 syl ( 𝜑𝐽 ∈ Top )
5 reex ℝ ∈ V
6 qssre ℚ ⊆ ℝ
7 mapss ( ( ℝ ∈ V ∧ ℚ ⊆ ℝ ) → ( ℚ ↑m 𝐼 ) ⊆ ( ℝ ↑m 𝐼 ) )
8 5 6 7 mp2an ( ℚ ↑m 𝐼 ) ⊆ ( ℝ ↑m 𝐼 )
9 8 a1i ( 𝜑 → ( ℚ ↑m 𝐼 ) ⊆ ( ℝ ↑m 𝐼 ) )
10 eqid ( ℝ^ ‘ 𝐼 ) = ( ℝ^ ‘ 𝐼 )
11 eqid ( Base ‘ ( ℝ^ ‘ 𝐼 ) ) = ( Base ‘ ( ℝ^ ‘ 𝐼 ) )
12 1 10 11 rrxbasefi ( 𝜑 → ( Base ‘ ( ℝ^ ‘ 𝐼 ) ) = ( ℝ ↑m 𝐼 ) )
13 12 eqcomd ( 𝜑 → ( ℝ ↑m 𝐼 ) = ( Base ‘ ( ℝ^ ‘ 𝐼 ) ) )
14 rrxtps ( 𝐼 ∈ Fin → ( ℝ^ ‘ 𝐼 ) ∈ TopSp )
15 eqid ( TopOpen ‘ ( ℝ^ ‘ 𝐼 ) ) = ( TopOpen ‘ ( ℝ^ ‘ 𝐼 ) )
16 11 15 tpsuni ( ( ℝ^ ‘ 𝐼 ) ∈ TopSp → ( Base ‘ ( ℝ^ ‘ 𝐼 ) ) = ( TopOpen ‘ ( ℝ^ ‘ 𝐼 ) ) )
17 1 14 16 3syl ( 𝜑 → ( Base ‘ ( ℝ^ ‘ 𝐼 ) ) = ( TopOpen ‘ ( ℝ^ ‘ 𝐼 ) ) )
18 2 unieqi 𝐽 = ( TopOpen ‘ ( ℝ^ ‘ 𝐼 ) )
19 18 eqcomi ( TopOpen ‘ ( ℝ^ ‘ 𝐼 ) ) = 𝐽
20 19 a1i ( 𝜑 ( TopOpen ‘ ( ℝ^ ‘ 𝐼 ) ) = 𝐽 )
21 13 17 20 3eqtrd ( 𝜑 → ( ℝ ↑m 𝐼 ) = 𝐽 )
22 9 21 sseqtrd ( 𝜑 → ( ℚ ↑m 𝐼 ) ⊆ 𝐽 )
23 eqid 𝐽 = 𝐽
24 23 clsss3 ( ( 𝐽 ∈ Top ∧ ( ℚ ↑m 𝐼 ) ⊆ 𝐽 ) → ( ( cls ‘ 𝐽 ) ‘ ( ℚ ↑m 𝐼 ) ) ⊆ 𝐽 )
25 4 22 24 syl2anc ( 𝜑 → ( ( cls ‘ 𝐽 ) ‘ ( ℚ ↑m 𝐼 ) ) ⊆ 𝐽 )
26 21 eqcomd ( 𝜑 𝐽 = ( ℝ ↑m 𝐼 ) )
27 25 26 sseqtrd ( 𝜑 → ( ( cls ‘ 𝐽 ) ‘ ( ℚ ↑m 𝐼 ) ) ⊆ ( ℝ ↑m 𝐼 ) )
28 1 ad2antrr ( ( ( 𝜑𝑣𝐽 ) ∧ 𝑥𝑣 ) → 𝐼 ∈ Fin )
29 id ( 𝑣𝐽𝑣𝐽 )
30 29 2 eleqtrdi ( 𝑣𝐽𝑣 ∈ ( TopOpen ‘ ( ℝ^ ‘ 𝐼 ) ) )
31 30 ad2antlr ( ( ( 𝜑𝑣𝐽 ) ∧ 𝑥𝑣 ) → 𝑣 ∈ ( TopOpen ‘ ( ℝ^ ‘ 𝐼 ) ) )
32 ne0i ( 𝑥𝑣𝑣 ≠ ∅ )
33 32 adantl ( ( ( 𝜑𝑣𝐽 ) ∧ 𝑥𝑣 ) → 𝑣 ≠ ∅ )
34 28 15 31 33 qndenserrnopn ( ( ( 𝜑𝑣𝐽 ) ∧ 𝑥𝑣 ) → ∃ 𝑦 ∈ ( ℚ ↑m 𝐼 ) 𝑦𝑣 )
35 df-rex ( ∃ 𝑦 ∈ ( ℚ ↑m 𝐼 ) 𝑦𝑣 ↔ ∃ 𝑦 ( 𝑦 ∈ ( ℚ ↑m 𝐼 ) ∧ 𝑦𝑣 ) )
36 34 35 sylib ( ( ( 𝜑𝑣𝐽 ) ∧ 𝑥𝑣 ) → ∃ 𝑦 ( 𝑦 ∈ ( ℚ ↑m 𝐼 ) ∧ 𝑦𝑣 ) )
37 simpr ( ( 𝑦 ∈ ( ℚ ↑m 𝐼 ) ∧ 𝑦𝑣 ) → 𝑦𝑣 )
38 simpl ( ( 𝑦 ∈ ( ℚ ↑m 𝐼 ) ∧ 𝑦𝑣 ) → 𝑦 ∈ ( ℚ ↑m 𝐼 ) )
39 37 38 elind ( ( 𝑦 ∈ ( ℚ ↑m 𝐼 ) ∧ 𝑦𝑣 ) → 𝑦 ∈ ( 𝑣 ∩ ( ℚ ↑m 𝐼 ) ) )
40 39 a1i ( ( ( 𝜑𝑣𝐽 ) ∧ 𝑥𝑣 ) → ( ( 𝑦 ∈ ( ℚ ↑m 𝐼 ) ∧ 𝑦𝑣 ) → 𝑦 ∈ ( 𝑣 ∩ ( ℚ ↑m 𝐼 ) ) ) )
41 40 eximdv ( ( ( 𝜑𝑣𝐽 ) ∧ 𝑥𝑣 ) → ( ∃ 𝑦 ( 𝑦 ∈ ( ℚ ↑m 𝐼 ) ∧ 𝑦𝑣 ) → ∃ 𝑦 𝑦 ∈ ( 𝑣 ∩ ( ℚ ↑m 𝐼 ) ) ) )
42 36 41 mpd ( ( ( 𝜑𝑣𝐽 ) ∧ 𝑥𝑣 ) → ∃ 𝑦 𝑦 ∈ ( 𝑣 ∩ ( ℚ ↑m 𝐼 ) ) )
43 n0 ( ( 𝑣 ∩ ( ℚ ↑m 𝐼 ) ) ≠ ∅ ↔ ∃ 𝑦 𝑦 ∈ ( 𝑣 ∩ ( ℚ ↑m 𝐼 ) ) )
44 42 43 sylibr ( ( ( 𝜑𝑣𝐽 ) ∧ 𝑥𝑣 ) → ( 𝑣 ∩ ( ℚ ↑m 𝐼 ) ) ≠ ∅ )
45 44 ex ( ( 𝜑𝑣𝐽 ) → ( 𝑥𝑣 → ( 𝑣 ∩ ( ℚ ↑m 𝐼 ) ) ≠ ∅ ) )
46 45 adantlr ( ( ( 𝜑𝑥 ∈ ( ℝ ↑m 𝐼 ) ) ∧ 𝑣𝐽 ) → ( 𝑥𝑣 → ( 𝑣 ∩ ( ℚ ↑m 𝐼 ) ) ≠ ∅ ) )
47 46 ralrimiva ( ( 𝜑𝑥 ∈ ( ℝ ↑m 𝐼 ) ) → ∀ 𝑣𝐽 ( 𝑥𝑣 → ( 𝑣 ∩ ( ℚ ↑m 𝐼 ) ) ≠ ∅ ) )
48 4 adantr ( ( 𝜑𝑥 ∈ ( ℝ ↑m 𝐼 ) ) → 𝐽 ∈ Top )
49 22 adantr ( ( 𝜑𝑥 ∈ ( ℝ ↑m 𝐼 ) ) → ( ℚ ↑m 𝐼 ) ⊆ 𝐽 )
50 simpr ( ( 𝜑𝑥 ∈ ( ℝ ↑m 𝐼 ) ) → 𝑥 ∈ ( ℝ ↑m 𝐼 ) )
51 21 adantr ( ( 𝜑𝑥 ∈ ( ℝ ↑m 𝐼 ) ) → ( ℝ ↑m 𝐼 ) = 𝐽 )
52 50 51 eleqtrd ( ( 𝜑𝑥 ∈ ( ℝ ↑m 𝐼 ) ) → 𝑥 𝐽 )
53 23 elcls ( ( 𝐽 ∈ Top ∧ ( ℚ ↑m 𝐼 ) ⊆ 𝐽𝑥 𝐽 ) → ( 𝑥 ∈ ( ( cls ‘ 𝐽 ) ‘ ( ℚ ↑m 𝐼 ) ) ↔ ∀ 𝑣𝐽 ( 𝑥𝑣 → ( 𝑣 ∩ ( ℚ ↑m 𝐼 ) ) ≠ ∅ ) ) )
54 48 49 52 53 syl3anc ( ( 𝜑𝑥 ∈ ( ℝ ↑m 𝐼 ) ) → ( 𝑥 ∈ ( ( cls ‘ 𝐽 ) ‘ ( ℚ ↑m 𝐼 ) ) ↔ ∀ 𝑣𝐽 ( 𝑥𝑣 → ( 𝑣 ∩ ( ℚ ↑m 𝐼 ) ) ≠ ∅ ) ) )
55 47 54 mpbird ( ( 𝜑𝑥 ∈ ( ℝ ↑m 𝐼 ) ) → 𝑥 ∈ ( ( cls ‘ 𝐽 ) ‘ ( ℚ ↑m 𝐼 ) ) )
56 27 55 eqelssd ( 𝜑 → ( ( cls ‘ 𝐽 ) ‘ ( ℚ ↑m 𝐼 ) ) = ( ℝ ↑m 𝐼 ) )