topology.instances.rat_lemmas
⟷
Mathlib.Topology.Instances.RatLemmas
The following section lists changes to this file in mathlib3 and mathlib4 that occured after the initial port. Most recent changes are shown first. Hovering over a commit will show all commits associated with the same mathlib3 commit.
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(last sync)
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -5,7 +5,7 @@ Authors: Yury Kudryashov
-/
import Topology.Instances.Irrational
import Topology.Instances.Rat
-import Topology.Alexandroff
+import Topology.Compactification.OnePoint
#align_import topology.instances.rat_lemmas from "leanprover-community/mathlib"@"a87d22575d946e1e156fc1edd1e1269600a8a282"
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -68,7 +68,7 @@ theorem not_countably_generated_cocompact : ¬IsCountablyGenerated (cocompact
by
intro H
rcases exists_seq_tendsto (cocompact ℚ ⊓ 𝓝 0) with ⟨x, hx⟩
- rw [tendsto_inf] at hx ; rcases hx with ⟨hxc, hx0⟩
+ rw [tendsto_inf] at hx; rcases hx with ⟨hxc, hx0⟩
obtain ⟨n, hn⟩ : ∃ n : ℕ, x n ∉ insert (0 : ℚ) (range x)
exact (hxc.eventually hx0.is_compact_insert_range.compl_mem_cocompact).exists
exact hn (Or.inr ⟨n, rfl⟩)
@@ -80,7 +80,7 @@ theorem not_countably_generated_nhds_infty_opc : ¬IsCountablyGenerated (𝓝 (
by
intro
have : is_countably_generated (comap (coe : ℚ → ℚ∞) (𝓝 ∞)) := by infer_instance
- rw [OnePoint.comap_coe_nhds_infty, coclosed_compact_eq_cocompact] at this
+ rw [OnePoint.comap_coe_nhds_infty, coclosed_compact_eq_cocompact] at this
exact not_countably_generated_cocompact this
#align rat.not_countably_generated_nhds_infty_alexandroff Rat.not_countably_generated_nhds_infty_opc
-/
@@ -105,7 +105,7 @@ instance : TotallyDisconnectedSpace ℚ :=
· exact this s hs y hy x hx H.symm (H.lt_or_lt.resolve_left hlt)
rcases exists_irrational_btwn (Rat.cast_lt.2 hlt) with ⟨z, hz, hxz, hzy⟩
have := hs.image coe continuous_coe_real.continuous_on
- rw [isPreconnected_iff_ordConnected] at this
+ rw [isPreconnected_iff_ordConnected] at this
have : z ∈ coe '' s := this.out (mem_image_of_mem _ hx) (mem_image_of_mem _ hy) ⟨hxz.le, hzy.le⟩
exact hz (image_subset_range _ _ this)
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -100,7 +100,7 @@ theorem not_secondCountableTopology_opc : ¬SecondCountableTopology ℚ∞ := by
instance : TotallyDisconnectedSpace ℚ :=
by
refine' ⟨fun s hsu hs x hx y hy => _⟩; clear hsu
- by_contra' H : x ≠ y
+ by_contra! H : x ≠ y
wlog hlt : x < y
· exact this s hs y hy x hx H.symm (H.lt_or_lt.resolve_left hlt)
rcases exists_irrational_btwn (Rat.cast_lt.2 hlt) with ⟨z, hz, hxz, hzy⟩
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce64cd319bb6b3e82f31c2d38e79080d377be451
@@ -3,9 +3,9 @@ Copyright (c) 2022 Yury Kudryashov. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Yury Kudryashov
-/
-import Mathbin.Topology.Instances.Irrational
-import Mathbin.Topology.Instances.Rat
-import Mathbin.Topology.Alexandroff
+import Topology.Instances.Irrational
+import Topology.Instances.Rat
+import Topology.Alexandroff
#align_import topology.instances.rat_lemmas from "leanprover-community/mathlib"@"a87d22575d946e1e156fc1edd1e1269600a8a282"
mathlib commit https://github.com/leanprover-community/mathlib/commit/8ea5598db6caeddde6cb734aa179cc2408dbd345
@@ -2,16 +2,13 @@
Copyright (c) 2022 Yury Kudryashov. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Yury Kudryashov
-
-! This file was ported from Lean 3 source module topology.instances.rat_lemmas
-! leanprover-community/mathlib commit a87d22575d946e1e156fc1edd1e1269600a8a282
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathbin.Topology.Instances.Irrational
import Mathbin.Topology.Instances.Rat
import Mathbin.Topology.Alexandroff
+#align_import topology.instances.rat_lemmas from "leanprover-community/mathlib"@"a87d22575d946e1e156fc1edd1e1269600a8a282"
+
/-!
# Additional lemmas about the topology on rational numbers
mathlib commit https://github.com/leanprover-community/mathlib/commit/9fb8964792b4237dac6200193a0d533f1b3f7423
@@ -39,27 +39,32 @@ open Set Metric Filter TopologicalSpace
open scoped Topology OnePoint
--- mathport name: «exprℚ∞»
local notation "ℚ∞" => OnePoint ℚ
namespace Rat
variable {p q : ℚ} {s t : Set ℚ}
+#print Rat.interior_compact_eq_empty /-
theorem interior_compact_eq_empty (hs : IsCompact s) : interior s = ∅ :=
denseEmbedding_coe_real.to_denseInducing.interior_compact_eq_empty dense_irrational hs
#align rat.interior_compact_eq_empty Rat.interior_compact_eq_empty
+-/
+#print Rat.dense_compl_compact /-
theorem dense_compl_compact (hs : IsCompact s) : Dense (sᶜ) :=
interior_eq_empty_iff_dense_compl.1 (interior_compact_eq_empty hs)
#align rat.dense_compl_compact Rat.dense_compl_compact
+-/
+#print Rat.cocompact_inf_nhds_neBot /-
instance cocompact_inf_nhds_neBot : NeBot (cocompact ℚ ⊓ 𝓝 p) :=
by
refine' (has_basis_cocompact.inf (nhds_basis_opens _)).neBot_iff.2 _
rintro ⟨s, o⟩ ⟨hs, hpo, ho⟩; rw [inter_comm]
exact (dense_compl_compact hs).inter_open_nonempty _ ho ⟨p, hpo⟩
#align rat.cocompact_inf_nhds_ne_bot Rat.cocompact_inf_nhds_neBot
+-/
#print Rat.not_countably_generated_cocompact /-
theorem not_countably_generated_cocompact : ¬IsCountablyGenerated (cocompact ℚ) :=
@@ -73,6 +78,7 @@ theorem not_countably_generated_cocompact : ¬IsCountablyGenerated (cocompact
#align rat.not_countably_generated_cocompact Rat.not_countably_generated_cocompact
-/
+#print Rat.not_countably_generated_nhds_infty_opc /-
theorem not_countably_generated_nhds_infty_opc : ¬IsCountablyGenerated (𝓝 (∞ : ℚ∞)) :=
by
intro
@@ -80,14 +86,19 @@ theorem not_countably_generated_nhds_infty_opc : ¬IsCountablyGenerated (𝓝 (
rw [OnePoint.comap_coe_nhds_infty, coclosed_compact_eq_cocompact] at this
exact not_countably_generated_cocompact this
#align rat.not_countably_generated_nhds_infty_alexandroff Rat.not_countably_generated_nhds_infty_opc
+-/
+#print Rat.not_firstCountableTopology_opc /-
theorem not_firstCountableTopology_opc : ¬FirstCountableTopology ℚ∞ := by intro;
exact not_countably_generated_nhds_infty_alexandroff inferInstance
#align rat.not_first_countable_topology_alexandroff Rat.not_firstCountableTopology_opc
+-/
+#print Rat.not_secondCountableTopology_opc /-
theorem not_secondCountableTopology_opc : ¬SecondCountableTopology ℚ∞ := by intro;
exact not_first_countable_topology_alexandroff inferInstance
#align rat.not_second_countable_topology_alexandroff Rat.not_secondCountableTopology_opc
+-/
instance : TotallyDisconnectedSpace ℚ :=
by
mathlib commit https://github.com/leanprover-community/mathlib/commit/cca40788df1b8755d5baf17ab2f27dacc2e17acb
@@ -66,7 +66,7 @@ theorem not_countably_generated_cocompact : ¬IsCountablyGenerated (cocompact
by
intro H
rcases exists_seq_tendsto (cocompact ℚ ⊓ 𝓝 0) with ⟨x, hx⟩
- rw [tendsto_inf] at hx; rcases hx with ⟨hxc, hx0⟩
+ rw [tendsto_inf] at hx ; rcases hx with ⟨hxc, hx0⟩
obtain ⟨n, hn⟩ : ∃ n : ℕ, x n ∉ insert (0 : ℚ) (range x)
exact (hxc.eventually hx0.is_compact_insert_range.compl_mem_cocompact).exists
exact hn (Or.inr ⟨n, rfl⟩)
@@ -77,15 +77,15 @@ theorem not_countably_generated_nhds_infty_opc : ¬IsCountablyGenerated (𝓝 (
by
intro
have : is_countably_generated (comap (coe : ℚ → ℚ∞) (𝓝 ∞)) := by infer_instance
- rw [OnePoint.comap_coe_nhds_infty, coclosed_compact_eq_cocompact] at this
+ rw [OnePoint.comap_coe_nhds_infty, coclosed_compact_eq_cocompact] at this
exact not_countably_generated_cocompact this
#align rat.not_countably_generated_nhds_infty_alexandroff Rat.not_countably_generated_nhds_infty_opc
-theorem not_firstCountableTopology_opc : ¬FirstCountableTopology ℚ∞ := by intro ;
+theorem not_firstCountableTopology_opc : ¬FirstCountableTopology ℚ∞ := by intro;
exact not_countably_generated_nhds_infty_alexandroff inferInstance
#align rat.not_first_countable_topology_alexandroff Rat.not_firstCountableTopology_opc
-theorem not_secondCountableTopology_opc : ¬SecondCountableTopology ℚ∞ := by intro ;
+theorem not_secondCountableTopology_opc : ¬SecondCountableTopology ℚ∞ := by intro;
exact not_first_countable_topology_alexandroff inferInstance
#align rat.not_second_countable_topology_alexandroff Rat.not_secondCountableTopology_opc
@@ -97,7 +97,7 @@ instance : TotallyDisconnectedSpace ℚ :=
· exact this s hs y hy x hx H.symm (H.lt_or_lt.resolve_left hlt)
rcases exists_irrational_btwn (Rat.cast_lt.2 hlt) with ⟨z, hz, hxz, hzy⟩
have := hs.image coe continuous_coe_real.continuous_on
- rw [isPreconnected_iff_ordConnected] at this
+ rw [isPreconnected_iff_ordConnected] at this
have : z ∈ coe '' s := this.out (mem_image_of_mem _ hx) (mem_image_of_mem _ hy) ⟨hxz.le, hzy.le⟩
exact hz (image_subset_range _ _ this)
mathlib commit https://github.com/leanprover-community/mathlib/commit/cca40788df1b8755d5baf17ab2f27dacc2e17acb
@@ -37,10 +37,10 @@ compactification.
open Set Metric Filter TopologicalSpace
-open scoped Topology Alexandroff
+open scoped Topology OnePoint
-- mathport name: «exprℚ∞»
-local notation "ℚ∞" => Alexandroff ℚ
+local notation "ℚ∞" => OnePoint ℚ
namespace Rat
@@ -73,21 +73,21 @@ theorem not_countably_generated_cocompact : ¬IsCountablyGenerated (cocompact
#align rat.not_countably_generated_cocompact Rat.not_countably_generated_cocompact
-/
-theorem not_countably_generated_nhds_infty_alexandroff : ¬IsCountablyGenerated (𝓝 (∞ : ℚ∞)) :=
+theorem not_countably_generated_nhds_infty_opc : ¬IsCountablyGenerated (𝓝 (∞ : ℚ∞)) :=
by
intro
have : is_countably_generated (comap (coe : ℚ → ℚ∞) (𝓝 ∞)) := by infer_instance
- rw [Alexandroff.comap_coe_nhds_infty, coclosed_compact_eq_cocompact] at this
+ rw [OnePoint.comap_coe_nhds_infty, coclosed_compact_eq_cocompact] at this
exact not_countably_generated_cocompact this
-#align rat.not_countably_generated_nhds_infty_alexandroff Rat.not_countably_generated_nhds_infty_alexandroff
+#align rat.not_countably_generated_nhds_infty_alexandroff Rat.not_countably_generated_nhds_infty_opc
-theorem not_firstCountableTopology_alexandroff : ¬FirstCountableTopology ℚ∞ := by intro ;
+theorem not_firstCountableTopology_opc : ¬FirstCountableTopology ℚ∞ := by intro ;
exact not_countably_generated_nhds_infty_alexandroff inferInstance
-#align rat.not_first_countable_topology_alexandroff Rat.not_firstCountableTopology_alexandroff
+#align rat.not_first_countable_topology_alexandroff Rat.not_firstCountableTopology_opc
-theorem not_secondCountableTopology_alexandroff : ¬SecondCountableTopology ℚ∞ := by intro ;
+theorem not_secondCountableTopology_opc : ¬SecondCountableTopology ℚ∞ := by intro ;
exact not_first_countable_topology_alexandroff inferInstance
-#align rat.not_second_countable_topology_alexandroff Rat.not_secondCountableTopology_alexandroff
+#align rat.not_second_countable_topology_alexandroff Rat.not_secondCountableTopology_opc
instance : TotallyDisconnectedSpace ℚ :=
by
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -37,7 +37,7 @@ compactification.
open Set Metric Filter TopologicalSpace
-open Topology Alexandroff
+open scoped Topology Alexandroff
-- mathport name: «exprℚ∞»
local notation "ℚ∞" => Alexandroff ℚ
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -46,32 +46,14 @@ namespace Rat
variable {p q : ℚ} {s t : Set ℚ}
-/- warning: rat.interior_compact_eq_empty -> Rat.interior_compact_eq_empty is a dubious translation:
-lean 3 declaration is
- forall {s : Set.{0} Rat}, (IsCompact.{0} Rat (UniformSpace.toTopologicalSpace.{0} Rat (PseudoMetricSpace.toUniformSpace.{0} Rat (MetricSpace.toPseudoMetricSpace.{0} Rat Rat.metricSpace))) s) -> (Eq.{1} (Set.{0} Rat) (interior.{0} Rat (UniformSpace.toTopologicalSpace.{0} Rat (PseudoMetricSpace.toUniformSpace.{0} Rat (MetricSpace.toPseudoMetricSpace.{0} Rat Rat.metricSpace))) s) (EmptyCollection.emptyCollection.{0} (Set.{0} Rat) (Set.hasEmptyc.{0} Rat)))
-but is expected to have type
- forall {s : Set.{0} Rat}, (IsCompact.{0} Rat (UniformSpace.toTopologicalSpace.{0} Rat (PseudoMetricSpace.toUniformSpace.{0} Rat (MetricSpace.toPseudoMetricSpace.{0} Rat Rat.instMetricSpaceRat))) s) -> (Eq.{1} (Set.{0} Rat) (interior.{0} Rat (UniformSpace.toTopologicalSpace.{0} Rat (PseudoMetricSpace.toUniformSpace.{0} Rat (MetricSpace.toPseudoMetricSpace.{0} Rat Rat.instMetricSpaceRat))) s) (EmptyCollection.emptyCollection.{0} (Set.{0} Rat) (Set.instEmptyCollectionSet.{0} Rat)))
-Case conversion may be inaccurate. Consider using '#align rat.interior_compact_eq_empty Rat.interior_compact_eq_emptyₓ'. -/
theorem interior_compact_eq_empty (hs : IsCompact s) : interior s = ∅ :=
denseEmbedding_coe_real.to_denseInducing.interior_compact_eq_empty dense_irrational hs
#align rat.interior_compact_eq_empty Rat.interior_compact_eq_empty
-/- warning: rat.dense_compl_compact -> Rat.dense_compl_compact is a dubious translation:
-lean 3 declaration is
- forall {s : Set.{0} Rat}, (IsCompact.{0} Rat (UniformSpace.toTopologicalSpace.{0} Rat (PseudoMetricSpace.toUniformSpace.{0} Rat (MetricSpace.toPseudoMetricSpace.{0} Rat Rat.metricSpace))) s) -> (Dense.{0} Rat (UniformSpace.toTopologicalSpace.{0} Rat (PseudoMetricSpace.toUniformSpace.{0} Rat (MetricSpace.toPseudoMetricSpace.{0} Rat Rat.metricSpace))) (HasCompl.compl.{0} (Set.{0} Rat) (BooleanAlgebra.toHasCompl.{0} (Set.{0} Rat) (Set.booleanAlgebra.{0} Rat)) s))
-but is expected to have type
- forall {s : Set.{0} Rat}, (IsCompact.{0} Rat (UniformSpace.toTopologicalSpace.{0} Rat (PseudoMetricSpace.toUniformSpace.{0} Rat (MetricSpace.toPseudoMetricSpace.{0} Rat Rat.instMetricSpaceRat))) s) -> (Dense.{0} Rat (UniformSpace.toTopologicalSpace.{0} Rat (PseudoMetricSpace.toUniformSpace.{0} Rat (MetricSpace.toPseudoMetricSpace.{0} Rat Rat.instMetricSpaceRat))) (HasCompl.compl.{0} (Set.{0} Rat) (BooleanAlgebra.toHasCompl.{0} (Set.{0} Rat) (Set.instBooleanAlgebraSet.{0} Rat)) s))
-Case conversion may be inaccurate. Consider using '#align rat.dense_compl_compact Rat.dense_compl_compactₓ'. -/
theorem dense_compl_compact (hs : IsCompact s) : Dense (sᶜ) :=
interior_eq_empty_iff_dense_compl.1 (interior_compact_eq_empty hs)
#align rat.dense_compl_compact Rat.dense_compl_compact
-/- warning: rat.cocompact_inf_nhds_ne_bot -> Rat.cocompact_inf_nhds_neBot is a dubious translation:
-lean 3 declaration is
- forall {p : Rat}, Filter.NeBot.{0} Rat (Inf.inf.{0} (Filter.{0} Rat) (Filter.hasInf.{0} Rat) (Filter.cocompact.{0} Rat (UniformSpace.toTopologicalSpace.{0} Rat (PseudoMetricSpace.toUniformSpace.{0} Rat (MetricSpace.toPseudoMetricSpace.{0} Rat Rat.metricSpace)))) (nhds.{0} Rat (UniformSpace.toTopologicalSpace.{0} Rat (PseudoMetricSpace.toUniformSpace.{0} Rat (MetricSpace.toPseudoMetricSpace.{0} Rat Rat.metricSpace))) p))
-but is expected to have type
- forall {p : Rat}, Filter.NeBot.{0} Rat (Inf.inf.{0} (Filter.{0} Rat) (Filter.instInfFilter.{0} Rat) (Filter.cocompact.{0} Rat (UniformSpace.toTopologicalSpace.{0} Rat (PseudoMetricSpace.toUniformSpace.{0} Rat (MetricSpace.toPseudoMetricSpace.{0} Rat Rat.instMetricSpaceRat)))) (nhds.{0} Rat (UniformSpace.toTopologicalSpace.{0} Rat (PseudoMetricSpace.toUniformSpace.{0} Rat (MetricSpace.toPseudoMetricSpace.{0} Rat Rat.instMetricSpaceRat))) p))
-Case conversion may be inaccurate. Consider using '#align rat.cocompact_inf_nhds_ne_bot Rat.cocompact_inf_nhds_neBotₓ'. -/
instance cocompact_inf_nhds_neBot : NeBot (cocompact ℚ ⊓ 𝓝 p) :=
by
refine' (has_basis_cocompact.inf (nhds_basis_opens _)).neBot_iff.2 _
@@ -91,12 +73,6 @@ theorem not_countably_generated_cocompact : ¬IsCountablyGenerated (cocompact
#align rat.not_countably_generated_cocompact Rat.not_countably_generated_cocompact
-/
-/- warning: rat.not_countably_generated_nhds_infty_alexandroff -> Rat.not_countably_generated_nhds_infty_alexandroff is a dubious translation:
-lean 3 declaration is
- Not (Filter.IsCountablyGenerated.{0} (Alexandroff.{0} Rat) (nhds.{0} (Alexandroff.{0} Rat) (Alexandroff.topologicalSpace.{0} Rat (UniformSpace.toTopologicalSpace.{0} Rat (PseudoMetricSpace.toUniformSpace.{0} Rat (MetricSpace.toPseudoMetricSpace.{0} Rat Rat.metricSpace)))) (Alexandroff.infty.{0} Rat)))
-but is expected to have type
- Not (Filter.IsCountablyGenerated.{0} (Alexandroff.{0} Rat) (nhds.{0} (Alexandroff.{0} Rat) (Alexandroff.instTopologicalSpaceAlexandroff.{0} Rat (UniformSpace.toTopologicalSpace.{0} Rat (PseudoMetricSpace.toUniformSpace.{0} Rat (MetricSpace.toPseudoMetricSpace.{0} Rat Rat.instMetricSpaceRat)))) (Alexandroff.infty.{0} Rat)))
-Case conversion may be inaccurate. Consider using '#align rat.not_countably_generated_nhds_infty_alexandroff Rat.not_countably_generated_nhds_infty_alexandroffₓ'. -/
theorem not_countably_generated_nhds_infty_alexandroff : ¬IsCountablyGenerated (𝓝 (∞ : ℚ∞)) :=
by
intro
@@ -105,22 +81,10 @@ theorem not_countably_generated_nhds_infty_alexandroff : ¬IsCountablyGenerated
exact not_countably_generated_cocompact this
#align rat.not_countably_generated_nhds_infty_alexandroff Rat.not_countably_generated_nhds_infty_alexandroff
-/- warning: rat.not_first_countable_topology_alexandroff -> Rat.not_firstCountableTopology_alexandroff is a dubious translation:
-lean 3 declaration is
- Not (TopologicalSpace.FirstCountableTopology.{0} (Alexandroff.{0} Rat) (Alexandroff.topologicalSpace.{0} Rat (UniformSpace.toTopologicalSpace.{0} Rat (PseudoMetricSpace.toUniformSpace.{0} Rat (MetricSpace.toPseudoMetricSpace.{0} Rat Rat.metricSpace)))))
-but is expected to have type
- Not (TopologicalSpace.FirstCountableTopology.{0} (Alexandroff.{0} Rat) (Alexandroff.instTopologicalSpaceAlexandroff.{0} Rat (UniformSpace.toTopologicalSpace.{0} Rat (PseudoMetricSpace.toUniformSpace.{0} Rat (MetricSpace.toPseudoMetricSpace.{0} Rat Rat.instMetricSpaceRat)))))
-Case conversion may be inaccurate. Consider using '#align rat.not_first_countable_topology_alexandroff Rat.not_firstCountableTopology_alexandroffₓ'. -/
theorem not_firstCountableTopology_alexandroff : ¬FirstCountableTopology ℚ∞ := by intro ;
exact not_countably_generated_nhds_infty_alexandroff inferInstance
#align rat.not_first_countable_topology_alexandroff Rat.not_firstCountableTopology_alexandroff
-/- warning: rat.not_second_countable_topology_alexandroff -> Rat.not_secondCountableTopology_alexandroff is a dubious translation:
-lean 3 declaration is
- Not (TopologicalSpace.SecondCountableTopology.{0} (Alexandroff.{0} Rat) (Alexandroff.topologicalSpace.{0} Rat (UniformSpace.toTopologicalSpace.{0} Rat (PseudoMetricSpace.toUniformSpace.{0} Rat (MetricSpace.toPseudoMetricSpace.{0} Rat Rat.metricSpace)))))
-but is expected to have type
- Not (TopologicalSpace.SecondCountableTopology.{0} (Alexandroff.{0} Rat) (Alexandroff.instTopologicalSpaceAlexandroff.{0} Rat (UniformSpace.toTopologicalSpace.{0} Rat (PseudoMetricSpace.toUniformSpace.{0} Rat (MetricSpace.toPseudoMetricSpace.{0} Rat Rat.instMetricSpaceRat)))))
-Case conversion may be inaccurate. Consider using '#align rat.not_second_countable_topology_alexandroff Rat.not_secondCountableTopology_alexandroffₓ'. -/
theorem not_secondCountableTopology_alexandroff : ¬SecondCountableTopology ℚ∞ := by intro ;
exact not_first_countable_topology_alexandroff inferInstance
#align rat.not_second_countable_topology_alexandroff Rat.not_secondCountableTopology_alexandroff
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -111,9 +111,7 @@ lean 3 declaration is
but is expected to have type
Not (TopologicalSpace.FirstCountableTopology.{0} (Alexandroff.{0} Rat) (Alexandroff.instTopologicalSpaceAlexandroff.{0} Rat (UniformSpace.toTopologicalSpace.{0} Rat (PseudoMetricSpace.toUniformSpace.{0} Rat (MetricSpace.toPseudoMetricSpace.{0} Rat Rat.instMetricSpaceRat)))))
Case conversion may be inaccurate. Consider using '#align rat.not_first_countable_topology_alexandroff Rat.not_firstCountableTopology_alexandroffₓ'. -/
-theorem not_firstCountableTopology_alexandroff : ¬FirstCountableTopology ℚ∞ :=
- by
- intro
+theorem not_firstCountableTopology_alexandroff : ¬FirstCountableTopology ℚ∞ := by intro ;
exact not_countably_generated_nhds_infty_alexandroff inferInstance
#align rat.not_first_countable_topology_alexandroff Rat.not_firstCountableTopology_alexandroff
@@ -123,9 +121,7 @@ lean 3 declaration is
but is expected to have type
Not (TopologicalSpace.SecondCountableTopology.{0} (Alexandroff.{0} Rat) (Alexandroff.instTopologicalSpaceAlexandroff.{0} Rat (UniformSpace.toTopologicalSpace.{0} Rat (PseudoMetricSpace.toUniformSpace.{0} Rat (MetricSpace.toPseudoMetricSpace.{0} Rat Rat.instMetricSpaceRat)))))
Case conversion may be inaccurate. Consider using '#align rat.not_second_countable_topology_alexandroff Rat.not_secondCountableTopology_alexandroffₓ'. -/
-theorem not_secondCountableTopology_alexandroff : ¬SecondCountableTopology ℚ∞ :=
- by
- intro
+theorem not_secondCountableTopology_alexandroff : ¬SecondCountableTopology ℚ∞ := by intro ;
exact not_first_countable_topology_alexandroff inferInstance
#align rat.not_second_countable_topology_alexandroff Rat.not_secondCountableTopology_alexandroff
mathlib commit https://github.com/leanprover-community/mathlib/commit/e1a18cad9cd462973d760af7de36b05776b8811c
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Yury Kudryashov
! This file was ported from Lean 3 source module topology.instances.rat_lemmas
-! leanprover-community/mathlib commit 92ca63f0fb391a9ca5f22d2409a6080e786d99f7
+! leanprover-community/mathlib commit a87d22575d946e1e156fc1edd1e1269600a8a282
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
@@ -15,6 +15,9 @@ import Mathbin.Topology.Alexandroff
/-!
# Additional lemmas about the topology on rational numbers
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
The structure of a metric space on `ℚ` (`rat.metric_space`) is introduced elsewhere, induced from
`ℝ`. In this file we prove some properties of this topological space and its one-point
compactification.
mathlib commit https://github.com/leanprover-community/mathlib/commit/8d33f09cd7089ecf074b4791907588245aec5d1b
@@ -43,14 +43,32 @@ namespace Rat
variable {p q : ℚ} {s t : Set ℚ}
+/- warning: rat.interior_compact_eq_empty -> Rat.interior_compact_eq_empty is a dubious translation:
+lean 3 declaration is
+ forall {s : Set.{0} Rat}, (IsCompact.{0} Rat (UniformSpace.toTopologicalSpace.{0} Rat (PseudoMetricSpace.toUniformSpace.{0} Rat (MetricSpace.toPseudoMetricSpace.{0} Rat Rat.metricSpace))) s) -> (Eq.{1} (Set.{0} Rat) (interior.{0} Rat (UniformSpace.toTopologicalSpace.{0} Rat (PseudoMetricSpace.toUniformSpace.{0} Rat (MetricSpace.toPseudoMetricSpace.{0} Rat Rat.metricSpace))) s) (EmptyCollection.emptyCollection.{0} (Set.{0} Rat) (Set.hasEmptyc.{0} Rat)))
+but is expected to have type
+ forall {s : Set.{0} Rat}, (IsCompact.{0} Rat (UniformSpace.toTopologicalSpace.{0} Rat (PseudoMetricSpace.toUniformSpace.{0} Rat (MetricSpace.toPseudoMetricSpace.{0} Rat Rat.instMetricSpaceRat))) s) -> (Eq.{1} (Set.{0} Rat) (interior.{0} Rat (UniformSpace.toTopologicalSpace.{0} Rat (PseudoMetricSpace.toUniformSpace.{0} Rat (MetricSpace.toPseudoMetricSpace.{0} Rat Rat.instMetricSpaceRat))) s) (EmptyCollection.emptyCollection.{0} (Set.{0} Rat) (Set.instEmptyCollectionSet.{0} Rat)))
+Case conversion may be inaccurate. Consider using '#align rat.interior_compact_eq_empty Rat.interior_compact_eq_emptyₓ'. -/
theorem interior_compact_eq_empty (hs : IsCompact s) : interior s = ∅ :=
denseEmbedding_coe_real.to_denseInducing.interior_compact_eq_empty dense_irrational hs
#align rat.interior_compact_eq_empty Rat.interior_compact_eq_empty
+/- warning: rat.dense_compl_compact -> Rat.dense_compl_compact is a dubious translation:
+lean 3 declaration is
+ forall {s : Set.{0} Rat}, (IsCompact.{0} Rat (UniformSpace.toTopologicalSpace.{0} Rat (PseudoMetricSpace.toUniformSpace.{0} Rat (MetricSpace.toPseudoMetricSpace.{0} Rat Rat.metricSpace))) s) -> (Dense.{0} Rat (UniformSpace.toTopologicalSpace.{0} Rat (PseudoMetricSpace.toUniformSpace.{0} Rat (MetricSpace.toPseudoMetricSpace.{0} Rat Rat.metricSpace))) (HasCompl.compl.{0} (Set.{0} Rat) (BooleanAlgebra.toHasCompl.{0} (Set.{0} Rat) (Set.booleanAlgebra.{0} Rat)) s))
+but is expected to have type
+ forall {s : Set.{0} Rat}, (IsCompact.{0} Rat (UniformSpace.toTopologicalSpace.{0} Rat (PseudoMetricSpace.toUniformSpace.{0} Rat (MetricSpace.toPseudoMetricSpace.{0} Rat Rat.instMetricSpaceRat))) s) -> (Dense.{0} Rat (UniformSpace.toTopologicalSpace.{0} Rat (PseudoMetricSpace.toUniformSpace.{0} Rat (MetricSpace.toPseudoMetricSpace.{0} Rat Rat.instMetricSpaceRat))) (HasCompl.compl.{0} (Set.{0} Rat) (BooleanAlgebra.toHasCompl.{0} (Set.{0} Rat) (Set.instBooleanAlgebraSet.{0} Rat)) s))
+Case conversion may be inaccurate. Consider using '#align rat.dense_compl_compact Rat.dense_compl_compactₓ'. -/
theorem dense_compl_compact (hs : IsCompact s) : Dense (sᶜ) :=
interior_eq_empty_iff_dense_compl.1 (interior_compact_eq_empty hs)
#align rat.dense_compl_compact Rat.dense_compl_compact
+/- warning: rat.cocompact_inf_nhds_ne_bot -> Rat.cocompact_inf_nhds_neBot is a dubious translation:
+lean 3 declaration is
+ forall {p : Rat}, Filter.NeBot.{0} Rat (Inf.inf.{0} (Filter.{0} Rat) (Filter.hasInf.{0} Rat) (Filter.cocompact.{0} Rat (UniformSpace.toTopologicalSpace.{0} Rat (PseudoMetricSpace.toUniformSpace.{0} Rat (MetricSpace.toPseudoMetricSpace.{0} Rat Rat.metricSpace)))) (nhds.{0} Rat (UniformSpace.toTopologicalSpace.{0} Rat (PseudoMetricSpace.toUniformSpace.{0} Rat (MetricSpace.toPseudoMetricSpace.{0} Rat Rat.metricSpace))) p))
+but is expected to have type
+ forall {p : Rat}, Filter.NeBot.{0} Rat (Inf.inf.{0} (Filter.{0} Rat) (Filter.instInfFilter.{0} Rat) (Filter.cocompact.{0} Rat (UniformSpace.toTopologicalSpace.{0} Rat (PseudoMetricSpace.toUniformSpace.{0} Rat (MetricSpace.toPseudoMetricSpace.{0} Rat Rat.instMetricSpaceRat)))) (nhds.{0} Rat (UniformSpace.toTopologicalSpace.{0} Rat (PseudoMetricSpace.toUniformSpace.{0} Rat (MetricSpace.toPseudoMetricSpace.{0} Rat Rat.instMetricSpaceRat))) p))
+Case conversion may be inaccurate. Consider using '#align rat.cocompact_inf_nhds_ne_bot Rat.cocompact_inf_nhds_neBotₓ'. -/
instance cocompact_inf_nhds_neBot : NeBot (cocompact ℚ ⊓ 𝓝 p) :=
by
refine' (has_basis_cocompact.inf (nhds_basis_opens _)).neBot_iff.2 _
@@ -58,6 +76,7 @@ instance cocompact_inf_nhds_neBot : NeBot (cocompact ℚ ⊓ 𝓝 p) :=
exact (dense_compl_compact hs).inter_open_nonempty _ ho ⟨p, hpo⟩
#align rat.cocompact_inf_nhds_ne_bot Rat.cocompact_inf_nhds_neBot
+#print Rat.not_countably_generated_cocompact /-
theorem not_countably_generated_cocompact : ¬IsCountablyGenerated (cocompact ℚ) :=
by
intro H
@@ -67,7 +86,14 @@ theorem not_countably_generated_cocompact : ¬IsCountablyGenerated (cocompact
exact (hxc.eventually hx0.is_compact_insert_range.compl_mem_cocompact).exists
exact hn (Or.inr ⟨n, rfl⟩)
#align rat.not_countably_generated_cocompact Rat.not_countably_generated_cocompact
+-/
+/- warning: rat.not_countably_generated_nhds_infty_alexandroff -> Rat.not_countably_generated_nhds_infty_alexandroff is a dubious translation:
+lean 3 declaration is
+ Not (Filter.IsCountablyGenerated.{0} (Alexandroff.{0} Rat) (nhds.{0} (Alexandroff.{0} Rat) (Alexandroff.topologicalSpace.{0} Rat (UniformSpace.toTopologicalSpace.{0} Rat (PseudoMetricSpace.toUniformSpace.{0} Rat (MetricSpace.toPseudoMetricSpace.{0} Rat Rat.metricSpace)))) (Alexandroff.infty.{0} Rat)))
+but is expected to have type
+ Not (Filter.IsCountablyGenerated.{0} (Alexandroff.{0} Rat) (nhds.{0} (Alexandroff.{0} Rat) (Alexandroff.instTopologicalSpaceAlexandroff.{0} Rat (UniformSpace.toTopologicalSpace.{0} Rat (PseudoMetricSpace.toUniformSpace.{0} Rat (MetricSpace.toPseudoMetricSpace.{0} Rat Rat.instMetricSpaceRat)))) (Alexandroff.infty.{0} Rat)))
+Case conversion may be inaccurate. Consider using '#align rat.not_countably_generated_nhds_infty_alexandroff Rat.not_countably_generated_nhds_infty_alexandroffₓ'. -/
theorem not_countably_generated_nhds_infty_alexandroff : ¬IsCountablyGenerated (𝓝 (∞ : ℚ∞)) :=
by
intro
@@ -76,12 +102,24 @@ theorem not_countably_generated_nhds_infty_alexandroff : ¬IsCountablyGenerated
exact not_countably_generated_cocompact this
#align rat.not_countably_generated_nhds_infty_alexandroff Rat.not_countably_generated_nhds_infty_alexandroff
+/- warning: rat.not_first_countable_topology_alexandroff -> Rat.not_firstCountableTopology_alexandroff is a dubious translation:
+lean 3 declaration is
+ Not (TopologicalSpace.FirstCountableTopology.{0} (Alexandroff.{0} Rat) (Alexandroff.topologicalSpace.{0} Rat (UniformSpace.toTopologicalSpace.{0} Rat (PseudoMetricSpace.toUniformSpace.{0} Rat (MetricSpace.toPseudoMetricSpace.{0} Rat Rat.metricSpace)))))
+but is expected to have type
+ Not (TopologicalSpace.FirstCountableTopology.{0} (Alexandroff.{0} Rat) (Alexandroff.instTopologicalSpaceAlexandroff.{0} Rat (UniformSpace.toTopologicalSpace.{0} Rat (PseudoMetricSpace.toUniformSpace.{0} Rat (MetricSpace.toPseudoMetricSpace.{0} Rat Rat.instMetricSpaceRat)))))
+Case conversion may be inaccurate. Consider using '#align rat.not_first_countable_topology_alexandroff Rat.not_firstCountableTopology_alexandroffₓ'. -/
theorem not_firstCountableTopology_alexandroff : ¬FirstCountableTopology ℚ∞ :=
by
intro
exact not_countably_generated_nhds_infty_alexandroff inferInstance
#align rat.not_first_countable_topology_alexandroff Rat.not_firstCountableTopology_alexandroff
+/- warning: rat.not_second_countable_topology_alexandroff -> Rat.not_secondCountableTopology_alexandroff is a dubious translation:
+lean 3 declaration is
+ Not (TopologicalSpace.SecondCountableTopology.{0} (Alexandroff.{0} Rat) (Alexandroff.topologicalSpace.{0} Rat (UniformSpace.toTopologicalSpace.{0} Rat (PseudoMetricSpace.toUniformSpace.{0} Rat (MetricSpace.toPseudoMetricSpace.{0} Rat Rat.metricSpace)))))
+but is expected to have type
+ Not (TopologicalSpace.SecondCountableTopology.{0} (Alexandroff.{0} Rat) (Alexandroff.instTopologicalSpaceAlexandroff.{0} Rat (UniformSpace.toTopologicalSpace.{0} Rat (PseudoMetricSpace.toUniformSpace.{0} Rat (MetricSpace.toPseudoMetricSpace.{0} Rat Rat.instMetricSpaceRat)))))
+Case conversion may be inaccurate. Consider using '#align rat.not_second_countable_topology_alexandroff Rat.not_secondCountableTopology_alexandroffₓ'. -/
theorem not_secondCountableTopology_alexandroff : ¬SecondCountableTopology ℚ∞ :=
by
intro
mathlib commit https://github.com/leanprover-community/mathlib/commit/bd9851ca476957ea4549eb19b40e7b5ade9428cc
@@ -81,7 +81,7 @@ theorem not_secondCountableTopology_opc : ¬SecondCountableTopology ℚ∞ := by
instance : TotallyDisconnectedSpace ℚ := by
refine' ⟨fun s hsu hs x hx y hy => _⟩; clear hsu
- by_contra' H : x ≠ y
+ by_contra! H : x ≠ y
wlog hlt : x < y
· refine' this s hs y hy x hx H.symm <| H.lt_or_lt.resolve_left hlt <;> assumption
rcases exists_irrational_btwn (Rat.cast_lt.2 hlt) with ⟨z, hz, hxz, hzy⟩
@@ -2,16 +2,13 @@
Copyright (c) 2022 Yury Kudryashov. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Yury Kudryashov
-
-! This file was ported from Lean 3 source module topology.instances.rat_lemmas
-! leanprover-community/mathlib commit 92ca63f0fb391a9ca5f22d2409a6080e786d99f7
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathlib.Topology.Instances.Irrational
import Mathlib.Topology.Instances.Rat
import Mathlib.Topology.Compactification.OnePoint
+#align_import topology.instances.rat_lemmas from "leanprover-community/mathlib"@"92ca63f0fb391a9ca5f22d2409a6080e786d99f7"
+
/-!
# Additional lemmas about the topology on rational numbers
This PR is the result of running
find . -type f -name "*.lean" -exec sed -i -E 's/^( +)\. /\1· /' {} \;
find . -type f -name "*.lean" -exec sed -i -E 'N;s/^( +·)\n +(.*)$/\1 \2/;P;D' {} \;
which firstly replaces .
focusing dots with ·
and secondly removes isolated instances of such dots, unifying them with the following line. A new rule is placed in the style linter to verify this.
@@ -86,7 +86,7 @@ instance : TotallyDisconnectedSpace ℚ := by
refine' ⟨fun s hsu hs x hx y hy => _⟩; clear hsu
by_contra' H : x ≠ y
wlog hlt : x < y
- . refine' this s hs y hy x hx H.symm <| H.lt_or_lt.resolve_left hlt <;> assumption
+ · refine' this s hs y hy x hx H.symm <| H.lt_or_lt.resolve_left hlt <;> assumption
rcases exists_irrational_btwn (Rat.cast_lt.2 hlt) with ⟨z, hz, hxz, hzy⟩
have := hs.image _ continuous_coe_real.continuousOn
rw [isPreconnected_iff_ordConnected] at this
@@ -46,7 +46,7 @@ theorem interior_compact_eq_empty (hs : IsCompact s) : interior s = ∅ :=
denseEmbedding_coe_real.toDenseInducing.interior_compact_eq_empty dense_irrational hs
#align rat.interior_compact_eq_empty Rat.interior_compact_eq_empty
-theorem dense_compl_compact (hs : IsCompact s) : Dense (sᶜ) :=
+theorem dense_compl_compact (hs : IsCompact s) : Dense sᶜ :=
interior_eq_empty_iff_dense_compl.1 (interior_compact_eq_empty hs)
#align rat.dense_compl_compact Rat.dense_compl_compact
We rename Alexandroff to Compactification.OnePoint to avoid future name conflicts (with e.g. Alexandroff topological spaces). See this zulip thread.
@@ -10,7 +10,7 @@ Authors: Yury Kudryashov
-/
import Mathlib.Topology.Instances.Irrational
import Mathlib.Topology.Instances.Rat
-import Mathlib.Topology.Alexandroff
+import Mathlib.Topology.Compactification.OnePoint
/-!
# Additional lemmas about the topology on rational numbers
@@ -23,20 +23,20 @@ compactification.
- `Rat.TotallyDisconnectedSpace`: `ℚ` is a totally disconnected space;
-- `Rat.not_countably_generated_nhds_infty_alexandroff`: the filter of neighbourhoods of infinity in
- `Alexandroff ℚ` is not countably generated.
+- `Rat.not_countably_generated_nhds_infty_opc`: the filter of neighbourhoods of infinity in
+ `OnePoint ℚ` is not countably generated.
## Notation
-- `ℚ∞` is used as a local notation for `Alexandroff ℚ`
+- `ℚ∞` is used as a local notation for `OnePoint ℚ`
-/
open Set Metric Filter TopologicalSpace
-open Topology Alexandroff
+open Topology OnePoint
-local notation "ℚ∞" => Alexandroff ℚ
+local notation "ℚ∞" => OnePoint ℚ
namespace Rat
@@ -65,22 +65,22 @@ theorem not_countably_generated_cocompact : ¬IsCountablyGenerated (cocompact
exact hn (Or.inr ⟨n, rfl⟩)
#align rat.not_countably_generated_cocompact Rat.not_countably_generated_cocompact
-theorem not_countably_generated_nhds_infty_alexandroff : ¬IsCountablyGenerated (𝓝 (∞ : ℚ∞)) := by
+theorem not_countably_generated_nhds_infty_opc : ¬IsCountablyGenerated (𝓝 (∞ : ℚ∞)) := by
intro
- have : IsCountablyGenerated (comap (Alexandroff.some : ℚ → ℚ∞) (𝓝 ∞)) := by infer_instance
- rw [Alexandroff.comap_coe_nhds_infty, coclosedCompact_eq_cocompact] at this
+ have : IsCountablyGenerated (comap (OnePoint.some : ℚ → ℚ∞) (𝓝 ∞)) := by infer_instance
+ rw [OnePoint.comap_coe_nhds_infty, coclosedCompact_eq_cocompact] at this
exact not_countably_generated_cocompact this
-#align rat.not_countably_generated_nhds_infty_alexandroff Rat.not_countably_generated_nhds_infty_alexandroff
+#align rat.not_countably_generated_nhds_infty_alexandroff Rat.not_countably_generated_nhds_infty_opc
-theorem not_firstCountableTopology_alexandroff : ¬FirstCountableTopology ℚ∞ := by
+theorem not_firstCountableTopology_opc : ¬FirstCountableTopology ℚ∞ := by
intro
- exact not_countably_generated_nhds_infty_alexandroff inferInstance
-#align rat.not_first_countable_topology_alexandroff Rat.not_firstCountableTopology_alexandroff
+ exact not_countably_generated_nhds_infty_opc inferInstance
+#align rat.not_first_countable_topology_alexandroff Rat.not_firstCountableTopology_opc
-theorem not_secondCountableTopology_alexandroff : ¬SecondCountableTopology ℚ∞ := by
+theorem not_secondCountableTopology_opc : ¬SecondCountableTopology ℚ∞ := by
intro
- exact not_firstCountableTopology_alexandroff inferInstance
-#align rat.not_second_countable_topology_alexandroff Rat.not_secondCountableTopology_alexandroff
+ exact not_firstCountableTopology_opc inferInstance
+#align rat.not_second_countable_topology_alexandroff Rat.not_secondCountableTopology_opc
instance : TotallyDisconnectedSpace ℚ := by
refine' ⟨fun s hsu hs x hx y hy => _⟩; clear hsu
The unported dependencies are
algebra.order.module
init.core
linear_algebra.free_module.finite.rank
algebra.order.monoid.cancel.defs
algebra.abs
algebra.group_power.lemmas
init.data.list.basic
linear_algebra.free_module.rank
algebra.order.monoid.cancel.basic
init.data.list.default
topology.subset_properties
init.logic
The following 1 dependencies have changed in mathlib3 since they were ported, which may complicate porting this file