@@ -381,6 +381,11 @@ theorem uniformity_basis_dist_inv_nat_pos :
381
381
metric.mk_uniformity_basis (λ n hn, div_pos zero_lt_one $ nat.cast_pos.2 hn)
382
382
(λ ε ε0 , let ⟨n, hn⟩ := exists_nat_one_div_lt ε0 in ⟨n+1 , nat.succ_pos n, hn.le⟩)
383
383
384
+ theorem uniformity_basis_dist_pow {r : ℝ} (h0 : 0 < r) (h1 : r < 1 ) :
385
+ (𝓤 α).has_basis (λ n:ℕ, true) (λ n:ℕ, {p:α×α | dist p.1 p.2 < r ^ n }) :=
386
+ metric.mk_uniformity_basis (λ n hn, pow_pos h0 _)
387
+ (λ ε ε0 , let ⟨n, hn⟩ := exists_pow_lt_of_lt_one ε0 h1 in ⟨n, trivial, hn.le⟩)
388
+
384
389
theorem uniformity_basis_dist_lt {R : ℝ} (hR : 0 < R) :
385
390
(𝓤 α).has_basis (λ r : ℝ, 0 < r ∧ r < R) (λ r, {p : α × α | dist p.1 p.2 < r}) :=
386
391
metric.mk_uniformity_basis (λ r, and.left) $ λ r hr,
@@ -412,6 +417,11 @@ theorem uniformity_basis_dist_le :
412
417
(𝓤 α).has_basis (λ ε : ℝ, 0 < ε) (λ ε, {p:α×α | dist p.1 p.2 ≤ ε}) :=
413
418
metric.mk_uniformity_basis_le (λ _, id) (λ ε ε₀, ⟨ε, ε₀, le_refl ε⟩)
414
419
420
+ theorem uniformity_basis_dist_le_pow {r : ℝ} (h0 : 0 < r) (h1 : r < 1 ) :
421
+ (𝓤 α).has_basis (λ n:ℕ, true) (λ n:ℕ, {p:α×α | dist p.1 p.2 ≤ r ^ n }) :=
422
+ metric.mk_uniformity_basis_le (λ n hn, pow_pos h0 _)
423
+ (λ ε ε0 , let ⟨n, hn⟩ := exists_pow_lt_of_lt_one ε0 h1 in ⟨n, trivial, hn.le⟩)
424
+
415
425
theorem mem_uniformity_dist {s : set (α×α)} :
416
426
s ∈ 𝓤 α ↔ (∃ε>0 , ∀{a b:α}, dist a b < ε → (a, b) ∈ s) :=
417
427
uniformity_basis_dist.mem_uniformity_iff
@@ -559,6 +569,14 @@ theorem nhds_basis_ball_inv_nat_pos :
559
569
(𝓝 x).has_basis (λ n, 0 <n) (λ n:ℕ, ball x (1 / ↑n)) :=
560
570
nhds_basis_uniformity uniformity_basis_dist_inv_nat_pos
561
571
572
+ theorem nhds_basis_ball_pow {r : ℝ} (h0 : 0 < r) (h1 : r < 1 ) :
573
+ (𝓝 x).has_basis (λ n, true) (λ n:ℕ, ball x (r ^ n)) :=
574
+ nhds_basis_uniformity (uniformity_basis_dist_pow h0 h1)
575
+
576
+ theorem nhds_basis_closed_ball_pow {r : ℝ} (h0 : 0 < r) (h1 : r < 1 ) :
577
+ (𝓝 x).has_basis (λ n, true) (λ n:ℕ, closed_ball x (r ^ n)) :=
578
+ nhds_basis_uniformity (uniformity_basis_dist_le_pow h0 h1)
579
+
562
580
theorem is_open_iff : is_open s ↔ ∀x∈s, ∃ε>0 , ball x ε ⊆ s :=
563
581
by simp only [is_open_iff_mem_nhds, mem_nhds_iff]
564
582
@@ -820,6 +838,26 @@ theorem real.dist_eq (x y : ℝ) : dist x y = abs (x - y) := rfl
820
838
theorem real.dist_0_eq_abs (x : ℝ) : dist x 0 = abs x :=
821
839
by simp [real.dist_eq]
822
840
841
+ theorem real.dist_left_le_of_mem_interval {x y z : ℝ} (h : y ∈ interval x z) :
842
+ dist x y ≤ dist x z :=
843
+ by simpa only [dist_comm x] using abs_sub_left_of_mem_interval h
844
+
845
+ theorem real.dist_right_le_of_mem_interval {x y z : ℝ} (h : y ∈ interval x z) :
846
+ dist y z ≤ dist x z :=
847
+ by simpa only [dist_comm _ z] using abs_sub_right_of_mem_interval h
848
+
849
+ theorem real.dist_le_of_mem_interval {x y x' y' : ℝ} (hx : x ∈ interval x' y')
850
+ (hy : y ∈ interval x' y') : dist x y ≤ dist x' y' :=
851
+ abs_sub_le_of_subinterval $ interval_subset_interval (by rwa interval_swap) (by rwa interval_swap)
852
+
853
+ theorem real.dist_le_of_mem_Icc {x y x' y' : ℝ} (hx : x ∈ Icc x' y') (hy : y ∈ Icc x' y') :
854
+ dist x y ≤ dist x' y' :=
855
+ real.dist_le_of_mem_interval (Icc_subset_interval hx) (Icc_subset_interval hy)
856
+
857
+ theorem real.dist_le_of_mem_Icc_01 {x y : ℝ} (hx : x ∈ Icc (0 :ℝ) 1 ) (hy : y ∈ Icc (0 :ℝ) 1 ) :
858
+ dist x y ≤ 1 :=
859
+ by simpa [real.dist_eq] using real.dist_le_of_mem_Icc hx hy
860
+
823
861
instance : order_topology ℝ :=
824
862
order_topology_of_nhds_abs $ λ x,
825
863
by simp only [nhds_basis_ball.eq_binfi, ball, real.dist_eq, abs_sub]
0 commit comments