Metamath Proof Explorer


Theorem tgqioo

Description: The topology generated by open intervals of reals with rational endpoints is the same as the open sets of the standard metric space on the reals. In particular, this proves that the standard topology on the reals is second-countable. (Contributed by Mario Carneiro, 17-Jun-2014)

Ref Expression
Hypothesis tgqioo.1 ⊢ Q = topGen ⁡ . ℚ × ℚ
Assertion tgqioo ⊢ topGen ⁡ ran ⁡ . = Q

Proof

Step Hyp Ref Expression
1 tgqioo.1 ⊢ Q = topGen ⁡ . ℚ × ℚ
2 imassrn ⊢ . ℚ × ℚ ⊆ ran ⁡ .
3 ioof ⊢ . : ℝ * × ℝ * ⟶ 𝒫 ℝ
4 ffn ⊢ . : ℝ * × ℝ * ⟶ 𝒫 ℝ → . Fn ℝ * × ℝ *
5 3 4 ax-mp ⊢ . Fn ℝ * × ℝ *
6 simpll ⊢ x ∈ ℝ * ∧ y ∈ ℝ * ∧ z ∈ x y → x ∈ ℝ *
7 elioo1 ⊢ x ∈ ℝ * ∧ y ∈ ℝ * → z ∈ x y ↔ z ∈ ℝ * ∧ x < z ∧ z < y
8 7 biimpa ⊢ x ∈ ℝ * ∧ y ∈ ℝ * ∧ z ∈ x y → z ∈ ℝ * ∧ x < z ∧ z < y
9 8 simp1d ⊢ x ∈ ℝ * ∧ y ∈ ℝ * ∧ z ∈ x y → z ∈ ℝ *
10 8 simp2d ⊢ x ∈ ℝ * ∧ y ∈ ℝ * ∧ z ∈ x y → x < z
11 qbtwnxr ⊢ x ∈ ℝ * ∧ z ∈ ℝ * ∧ x < z → ∃ u ∈ ℚ x < u ∧ u < z
12 6 9 10 11 syl3anc ⊢ x ∈ ℝ * ∧ y ∈ ℝ * ∧ z ∈ x y → ∃ u ∈ ℚ x < u ∧ u < z
13 simplr ⊢ x ∈ ℝ * ∧ y ∈ ℝ * ∧ z ∈ x y → y ∈ ℝ *
14 8 simp3d ⊢ x ∈ ℝ * ∧ y ∈ ℝ * ∧ z ∈ x y → z < y
15 qbtwnxr ⊢ z ∈ ℝ * ∧ y ∈ ℝ * ∧ z < y → ∃ v ∈ ℚ z < v ∧ v < y
16 9 13 14 15 syl3anc ⊢ x ∈ ℝ * ∧ y ∈ ℝ * ∧ z ∈ x y → ∃ v ∈ ℚ z < v ∧ v < y
17 reeanv ⊢ ∃ u ∈ ℚ ∃ v ∈ ℚ x < u ∧ u < z ∧ z < v ∧ v < y ↔ ∃ u ∈ ℚ x < u ∧ u < z ∧ ∃ v ∈ ℚ z < v ∧ v < y
18 df-ov ⊢ u v = . ⁡ u v
19 opelxpi ⊢ u ∈ ℚ ∧ v ∈ ℚ → u v ∈ ℚ × ℚ
20 19 3ad2ant2 ⊢ x ∈ ℝ * ∧ y ∈ ℝ * ∧ z ∈ x y ∧ u ∈ ℚ ∧ v ∈ ℚ ∧ x < u ∧ u < z ∧ z < v ∧ v < y → u v ∈ ℚ × ℚ
21 ffun ⊢ . : ℝ * × ℝ * ⟶ 𝒫 ℝ → Fun ⁡ .
22 3 21 ax-mp ⊢ Fun ⁡ .
23 qssre ⊢ ℚ ⊆ ℝ
24 ressxr ⊢ ℝ ⊆ ℝ *
25 23 24 sstri ⊢ ℚ ⊆ ℝ *
26 xpss12 ⊢ ℚ ⊆ ℝ * ∧ ℚ ⊆ ℝ * → ℚ × ℚ ⊆ ℝ * × ℝ *
27 25 25 26 mp2an ⊢ ℚ × ℚ ⊆ ℝ * × ℝ *
28 3 fdmi ⊢ dom ⁡ . = ℝ * × ℝ *
29 27 28 sseqtrri ⊢ ℚ × ℚ ⊆ dom ⁡ .
30 funfvima2 ⊢ Fun ⁡ . ∧ ℚ × ℚ ⊆ dom ⁡ . → u v ∈ ℚ × ℚ → . ⁡ u v ∈ . ℚ × ℚ
31 22 29 30 mp2an ⊢ u v ∈ ℚ × ℚ → . ⁡ u v ∈ . ℚ × ℚ
32 20 31 syl ⊢ x ∈ ℝ * ∧ y ∈ ℝ * ∧ z ∈ x y ∧ u ∈ ℚ ∧ v ∈ ℚ ∧ x < u ∧ u < z ∧ z < v ∧ v < y → . ⁡ u v ∈ . ℚ × ℚ
33 18 32 eqeltrid ⊢ x ∈ ℝ * ∧ y ∈ ℝ * ∧ z ∈ x y ∧ u ∈ ℚ ∧ v ∈ ℚ ∧ x < u ∧ u < z ∧ z < v ∧ v < y → u v ∈ . ℚ × ℚ
34 9 3ad2ant1 ⊢ x ∈ ℝ * ∧ y ∈ ℝ * ∧ z ∈ x y ∧ u ∈ ℚ ∧ v ∈ ℚ ∧ x < u ∧ u < z ∧ z < v ∧ v < y → z ∈ ℝ *
35 simp3lr ⊢ x ∈ ℝ * ∧ y ∈ ℝ * ∧ z ∈ x y ∧ u ∈ ℚ ∧ v ∈ ℚ ∧ x < u ∧ u < z ∧ z < v ∧ v < y → u < z
36 simp3rl ⊢ x ∈ ℝ * ∧ y ∈ ℝ * ∧ z ∈ x y ∧ u ∈ ℚ ∧ v ∈ ℚ ∧ x < u ∧ u < z ∧ z < v ∧ v < y → z < v
37 simp2l ⊢ x ∈ ℝ * ∧ y ∈ ℝ * ∧ z ∈ x y ∧ u ∈ ℚ ∧ v ∈ ℚ ∧ x < u ∧ u < z ∧ z < v ∧ v < y → u ∈ ℚ
38 25 37 sselid ⊢ x ∈ ℝ * ∧ y ∈ ℝ * ∧ z ∈ x y ∧ u ∈ ℚ ∧ v ∈ ℚ ∧ x < u ∧ u < z ∧ z < v ∧ v < y → u ∈ ℝ *
39 simp2r ⊢ x ∈ ℝ * ∧ y ∈ ℝ * ∧ z ∈ x y ∧ u ∈ ℚ ∧ v ∈ ℚ ∧ x < u ∧ u < z ∧ z < v ∧ v < y → v ∈ ℚ
40 25 39 sselid ⊢ x ∈ ℝ * ∧ y ∈ ℝ * ∧ z ∈ x y ∧ u ∈ ℚ ∧ v ∈ ℚ ∧ x < u ∧ u < z ∧ z < v ∧ v < y → v ∈ ℝ *
41 elioo1 ⊢ u ∈ ℝ * ∧ v ∈ ℝ * → z ∈ u v ↔ z ∈ ℝ * ∧ u < z ∧ z < v
42 38 40 41 syl2anc ⊢ x ∈ ℝ * ∧ y ∈ ℝ * ∧ z ∈ x y ∧ u ∈ ℚ ∧ v ∈ ℚ ∧ x < u ∧ u < z ∧ z < v ∧ v < y → z ∈ u v ↔ z ∈ ℝ * ∧ u < z ∧ z < v
43 34 35 36 42 mpbir3and ⊢ x ∈ ℝ * ∧ y ∈ ℝ * ∧ z ∈ x y ∧ u ∈ ℚ ∧ v ∈ ℚ ∧ x < u ∧ u < z ∧ z < v ∧ v < y → z ∈ u v
44 6 3ad2ant1 ⊢ x ∈ ℝ * ∧ y ∈ ℝ * ∧ z ∈ x y ∧ u ∈ ℚ ∧ v ∈ ℚ ∧ x < u ∧ u < z ∧ z < v ∧ v < y → x ∈ ℝ *
45 simp3ll ⊢ x ∈ ℝ * ∧ y ∈ ℝ * ∧ z ∈ x y ∧ u ∈ ℚ ∧ v ∈ ℚ ∧ x < u ∧ u < z ∧ z < v ∧ v < y → x < u
46 44 38 45 xrltled ⊢ x ∈ ℝ * ∧ y ∈ ℝ * ∧ z ∈ x y ∧ u ∈ ℚ ∧ v ∈ ℚ ∧ x < u ∧ u < z ∧ z < v ∧ v < y → x ≤ u
47 iooss1 ⊢ x ∈ ℝ * ∧ x ≤ u → u v ⊆ x v
48 44 46 47 syl2anc ⊢ x ∈ ℝ * ∧ y ∈ ℝ * ∧ z ∈ x y ∧ u ∈ ℚ ∧ v ∈ ℚ ∧ x < u ∧ u < z ∧ z < v ∧ v < y → u v ⊆ x v
49 13 3ad2ant1 ⊢ x ∈ ℝ * ∧ y ∈ ℝ * ∧ z ∈ x y ∧ u ∈ ℚ ∧ v ∈ ℚ ∧ x < u ∧ u < z ∧ z < v ∧ v < y → y ∈ ℝ *
50 simp3rr ⊢ x ∈ ℝ * ∧ y ∈ ℝ * ∧ z ∈ x y ∧ u ∈ ℚ ∧ v ∈ ℚ ∧ x < u ∧ u < z ∧ z < v ∧ v < y → v < y
51 40 49 50 xrltled ⊢ x ∈ ℝ * ∧ y ∈ ℝ * ∧ z ∈ x y ∧ u ∈ ℚ ∧ v ∈ ℚ ∧ x < u ∧ u < z ∧ z < v ∧ v < y → v ≤ y
52 iooss2 ⊢ y ∈ ℝ * ∧ v ≤ y → x v ⊆ x y
53 49 51 52 syl2anc ⊢ x ∈ ℝ * ∧ y ∈ ℝ * ∧ z ∈ x y ∧ u ∈ ℚ ∧ v ∈ ℚ ∧ x < u ∧ u < z ∧ z < v ∧ v < y → x v ⊆ x y
54 48 53 sstrd ⊢ x ∈ ℝ * ∧ y ∈ ℝ * ∧ z ∈ x y ∧ u ∈ ℚ ∧ v ∈ ℚ ∧ x < u ∧ u < z ∧ z < v ∧ v < y → u v ⊆ x y
55 eleq2 ⊢ w = u v → z ∈ w ↔ z ∈ u v
56 sseq1 ⊢ w = u v → w ⊆ x y ↔ u v ⊆ x y
57 55 56 anbi12d ⊢ w = u v → z ∈ w ∧ w ⊆ x y ↔ z ∈ u v ∧ u v ⊆ x y
58 57 rspcev ⊢ u v ∈ . ℚ × ℚ ∧ z ∈ u v ∧ u v ⊆ x y → ∃ w ∈ . ℚ × ℚ z ∈ w ∧ w ⊆ x y
59 33 43 54 58 syl12anc ⊢ x ∈ ℝ * ∧ y ∈ ℝ * ∧ z ∈ x y ∧ u ∈ ℚ ∧ v ∈ ℚ ∧ x < u ∧ u < z ∧ z < v ∧ v < y → ∃ w ∈ . ℚ × ℚ z ∈ w ∧ w ⊆ x y
60 59 3exp ⊢ x ∈ ℝ * ∧ y ∈ ℝ * ∧ z ∈ x y → u ∈ ℚ ∧ v ∈ ℚ → x < u ∧ u < z ∧ z < v ∧ v < y → ∃ w ∈ . ℚ × ℚ z ∈ w ∧ w ⊆ x y
61 60 rexlimdvv ⊢ x ∈ ℝ * ∧ y ∈ ℝ * ∧ z ∈ x y → ∃ u ∈ ℚ ∃ v ∈ ℚ x < u ∧ u < z ∧ z < v ∧ v < y → ∃ w ∈ . ℚ × ℚ z ∈ w ∧ w ⊆ x y
62 17 61 biimtrrid ⊢ x ∈ ℝ * ∧ y ∈ ℝ * ∧ z ∈ x y → ∃ u ∈ ℚ x < u ∧ u < z ∧ ∃ v ∈ ℚ z < v ∧ v < y → ∃ w ∈ . ℚ × ℚ z ∈ w ∧ w ⊆ x y
63 12 16 62 mp2and ⊢ x ∈ ℝ * ∧ y ∈ ℝ * ∧ z ∈ x y → ∃ w ∈ . ℚ × ℚ z ∈ w ∧ w ⊆ x y
64 63 ralrimiva ⊢ x ∈ ℝ * ∧ y ∈ ℝ * → ∀ z ∈ x y ∃ w ∈ . ℚ × ℚ z ∈ w ∧ w ⊆ x y
65 qtopbas ⊢ . ℚ × ℚ ∈ TopBases
66 eltg2b ⊢ . ℚ × ℚ ∈ TopBases → x y ∈ topGen ⁡ . ℚ × ℚ ↔ ∀ z ∈ x y ∃ w ∈ . ℚ × ℚ z ∈ w ∧ w ⊆ x y
67 65 66 ax-mp ⊢ x y ∈ topGen ⁡ . ℚ × ℚ ↔ ∀ z ∈ x y ∃ w ∈ . ℚ × ℚ z ∈ w ∧ w ⊆ x y
68 64 67 sylibr ⊢ x ∈ ℝ * ∧ y ∈ ℝ * → x y ∈ topGen ⁡ . ℚ × ℚ
69 68 rgen2 ⊢ ∀ x ∈ ℝ * ∀ y ∈ ℝ * x y ∈ topGen ⁡ . ℚ × ℚ
70 ffnov ⊢ . : ℝ * × ℝ * ⟶ topGen ⁡ . ℚ × ℚ ↔ . Fn ℝ * × ℝ * ∧ ∀ x ∈ ℝ * ∀ y ∈ ℝ * x y ∈ topGen ⁡ . ℚ × ℚ
71 5 69 70 mpbir2an ⊢ . : ℝ * × ℝ * ⟶ topGen ⁡ . ℚ × ℚ
72 frn ⊢ . : ℝ * × ℝ * ⟶ topGen ⁡ . ℚ × ℚ → ran ⁡ . ⊆ topGen ⁡ . ℚ × ℚ
73 71 72 ax-mp ⊢ ran ⁡ . ⊆ topGen ⁡ . ℚ × ℚ
74 2basgen ⊢ . ℚ × ℚ ⊆ ran ⁡ . ∧ ran ⁡ . ⊆ topGen ⁡ . ℚ × ℚ → topGen ⁡ . ℚ × ℚ = topGen ⁡ ran ⁡ .
75 2 73 74 mp2an ⊢ topGen ⁡ . ℚ × ℚ = topGen ⁡ ran ⁡ .
76 1 75 eqtr2i ⊢ topGen ⁡ ran ⁡ . = Q