Skip to content
This repository was archived by the owner on Jul 24, 2024. It is now read-only.

Commit c5d91bc

Browse files
kappelmannsgouezelmergify[bot]
committed
feat(topology/algebra/ordered): add order topology for partial orders… (#1276)
* feat(topology/algebra/ordered): doc, add convergence in ordered groups criterion * docstring * reviewer's comments Co-authored-by: sgouezel <sebastien.gouezel@univ-rennes1.fr> Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
1 parent 25dded2 commit c5d91bc

File tree

15 files changed

+226
-151
lines changed

15 files changed

+226
-151
lines changed

scripts/nolints.txt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1340,7 +1340,7 @@ ideal.quotient_inf_to_pi_quotient
13401340
ideal.radical
13411341
ideal.radical_pow
13421342
ideal.span
1343-
induced_orderable_topology'
1343+
induced_order_topology'
13441344
inducing
13451345
infi_eq_elim
13461346
infi_real_pos_eq_infi_nnreal_pos
@@ -1718,7 +1718,7 @@ measure_theory.simple_func.range
17181718
measure_theory.simple_func.restrict
17191719
measure_theory.simple_func.seq
17201720
measure_theory.volume
1721-
mem_nhds_orderable_dest
1721+
mem_nhds_order_dest
17221722
mem_uniformity_edist
17231723
metric.Hausdorff_dist_le_of_inf_dist
17241724
metric.cauchy_iff
@@ -1869,7 +1869,7 @@ nat.totient
18691869
nat.unpaired
18701870
nat.xgcd_aux
18711871
nhds_contain_boxes
1872-
nhds_eq_orderable
1872+
nhds_eq_order
18731873
nnreal.le_of_forall_epsilon_le
18741874
nnreal.le_of_real_iff_coe_le
18751875
nnreal.of_real
@@ -2212,7 +2212,7 @@ order_iso.symm
22122212
order_iso.to_order_embedding
22132213
order_iso.trans
22142214
order_of_pos
2215-
orderable_topology_of_nhds_abs
2215+
order_topology_of_nhds_abs
22162216
ordering.compares.eq_gt
22172217
ordinal.CNF_rec
22182218
ordinal.CNF_sorted
@@ -3176,7 +3176,7 @@ tactic.unprime
31763176
tactic.using_texpr
31773177
tactic.valid_types
31783178
tactic.wlog
3179-
tendsto_orderable
3179+
tendsto_order
31803180
tensor_product
31813181
tensor_product.assoc
31823182
tensor_product.comm

src/analysis/calculus/mean_value.lean

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ begin
8989
have A : continuous_on (λ x, (f x, B x)) (Icc a b), from hf.prod hB,
9090
have : is_closed s,
9191
{ simp only [s, inter_comm],
92-
exact A.preimage_closed_of_closed is_closed_Icc (ordered_topology.is_closed_le' _) },
92+
exact A.preimage_closed_of_closed is_closed_Icc (order_closed_topology.is_closed_le' _) },
9393
apply this.Icc_subset_of_forall_exists_gt ha,
9494
rintros x ⟨hxB, xab⟩ y hy,
9595
change f x ≤ B x at hxB,

src/analysis/specific_limits.lean

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ tendsto_at_top_mul_right' (inv_pos hr) hf
8686

8787
/-- The function `x ↦ x⁻¹` tends to `+∞` on the right of `0`. -/
8888
lemma tendsto_inv_zero_at_top [discrete_linear_ordered_field α] [topological_space α]
89-
[orderable_topology α] : tendsto (λx:α, x⁻¹) (nhds_within (0 : α) (set.Ioi 0)) at_top :=
89+
[order_topology α] : tendsto (λx:α, x⁻¹) (nhds_within (0 : α) (set.Ioi 0)) at_top :=
9090
begin
9191
apply (tendsto_at_top _ _).2 (λb, _),
9292
refine mem_nhds_within_Ioi_iff_exists_Ioo_subset.2 ⟨(max b 1)⁻¹, by simp [zero_lt_one], λx hx, _⟩,
@@ -99,7 +99,7 @@ end
9999

100100
/-- The function `r ↦ r⁻¹` tends to `0` on the right as `r → +∞`. -/
101101
lemma tendsto_inv_at_top_zero' [discrete_linear_ordered_field α] [topological_space α]
102-
[orderable_topology α] : tendsto (λr:α, r⁻¹) at_top (nhds_within (0 : α) (set.Ioi 0)) :=
102+
[order_topology α] : tendsto (λr:α, r⁻¹) at_top (nhds_within (0 : α) (set.Ioi 0)) :=
103103
begin
104104
assume s hs,
105105
rw mem_nhds_within_Ioi_iff_exists_Ioc_subset at hs,
@@ -111,7 +111,7 @@ begin
111111
end
112112

113113
lemma tendsto_inv_at_top_zero [discrete_linear_ordered_field α] [topological_space α]
114-
[orderable_topology α] : tendsto (λr:α, r⁻¹) at_top (𝓝 0) :=
114+
[order_topology α] : tendsto (λr:α, r⁻¹) at_top (𝓝 0) :=
115115
tendsto_le_right inf_le_left tendsto_inv_at_top_zero'
116116

117117
lemma summable_of_absolute_convergence_real {f : ℕ → ℝ} :

src/measure_theory/ae_eq_fun.lean

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -541,7 +541,7 @@ end normed_space
541541

542542
section pos_part
543543

544-
variables {γ : Type*} [topological_space γ] [decidable_linear_order γ] [ordered_topology γ]
544+
variables {γ : Type*} [topological_space γ] [decidable_linear_order γ] [order_closed_topology γ]
545545
[second_countable_topology γ] [has_zero γ]
546546

547547
/-- Positive part of an `ae_eq_fun`. -/

src/measure_theory/borel_space.lean

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -53,11 +53,11 @@ le_antisymm
5353

5454
lemma borel_eq_generate_Iio (α)
5555
[topological_space α] [second_countable_topology α]
56-
[linear_order α] [orderable_topology α] :
56+
[linear_order α] [order_topology α] :
5757
borel α = generate_from (range Iio) :=
5858
begin
5959
refine le_antisymm _ (generate_from_le _),
60-
{ rw borel_eq_generate_from_of_subbasis (orderable_topology.topology_eq_generate_intervals α),
60+
{ rw borel_eq_generate_from_of_subbasis (order_topology.topology_eq_generate_intervals α),
6161
have H : ∀ a:α, is_measurable (measurable_space.generate_from (range Iio)) (Iio a) :=
6262
λ a, generate_measurable.basic _ ⟨_, rfl⟩,
6363
refine generate_from_le _, rintro _ ⟨a, rfl | rfl⟩; [skip, apply H],
@@ -86,11 +86,11 @@ end
8686

8787
lemma borel_eq_generate_Ioi (α)
8888
[topological_space α] [second_countable_topology α]
89-
[linear_order α] [orderable_topology α] :
89+
[linear_order α] [order_topology α] :
9090
borel α = generate_from (range (λ a, {x | a < x})) :=
9191
begin
9292
refine le_antisymm _ (generate_from_le _),
93-
{ rw borel_eq_generate_from_of_subbasis (orderable_topology.topology_eq_generate_intervals α),
93+
{ rw borel_eq_generate_from_of_subbasis (order_topology.topology_eq_generate_intervals α),
9494
have H : ∀ a:α, is_measurable (measurable_space.generate_from (range (λ a, {x | a < x}))) {x | a < x} :=
9595
λ a, generate_measurable.basic _ ⟨_, rfl⟩,
9696
refine generate_from_le _, rintro _ ⟨a, rfl | rfl⟩, {apply H},
@@ -232,25 +232,25 @@ lemma measurable.mul
232232
measurable_of_continuous2 continuous_mul
233233

234234
lemma is_measurable_le {α β}
235-
[topological_space α] [partial_order α] [ordered_topology α] [second_countable_topology α]
235+
[topological_space α] [partial_order α] [order_closed_topology α] [second_countable_topology α]
236236
[measurable_space β] {f : β → α} {g : β → α} (hf : measurable f) (hg : measurable g) :
237237
is_measurable {a | f a ≤ g a} :=
238238
have is_measurable {p : α × α | p.1 ≤ p.2},
239-
by rw borel_prod; exact is_measurable_of_is_closed (ordered_topology.is_closed_le' _),
239+
by rw borel_prod; exact is_measurable_of_is_closed (order_closed_topology.is_closed_le' _),
240240
show is_measurable {a | (f a, g a).1 ≤ (f a, g a).2},
241241
begin
242242
refine measurable.preimage _ this,
243243
exact measurable.prod_mk hf hg
244244
end
245245

246246
lemma measurable.max {α β}
247-
[topological_space α] [decidable_linear_order α] [ordered_topology α] [second_countable_topology α]
247+
[topological_space α] [decidable_linear_order α] [order_closed_topology α] [second_countable_topology α]
248248
[measurable_space β] {f : β → α} {g : β → α} (hf : measurable f) (hg : measurable g) :
249249
measurable (λa, max (f a) (g a)) :=
250250
measurable.if (is_measurable_le hf hg) hg hf
251251

252252
lemma measurable.min {α β}
253-
[topological_space α] [decidable_linear_order α] [ordered_topology α] [second_countable_topology α]
253+
[topological_space α] [decidable_linear_order α] [order_closed_topology α] [second_countable_topology α]
254254
[measurable_space β] {f : β → α} {g : β → α} (hf : measurable f) (hg : measurable g) :
255255
measurable (λa, min (f a) (g a)) :=
256256
measurable.if (is_measurable_le hf hg) hf hg
@@ -259,8 +259,8 @@ measurable.if (is_measurable_le hf hg) hf hg
259259
lemma measurable_coe_int_real : measurable (λa, a : ℤ → ℝ) :=
260260
assume s (hs : is_measurable s), by trivial
261261

262-
section ordered_topology
263-
variables [linear_order α] [ordered_topology α] {a b c : α}
262+
section order_closed_topology
263+
variables [linear_order α] [order_closed_topology α] {a b c : α}
264264

265265
lemma is_measurable_Ioo : is_measurable (Ioo a b) := is_measurable_of_is_open is_open_Ioo
266266

@@ -270,10 +270,10 @@ lemma is_measurable_Ico : is_measurable (Ico a b) :=
270270
(is_measurable_of_is_closed $ is_closed_le continuous_const continuous_id).inter
271271
is_measurable_Iio
272272

273-
end ordered_topology
273+
end order_closed_topology
274274

275275
lemma measurable.is_lub {α} [topological_space α] [linear_order α]
276-
[orderable_topology α] [second_countable_topology α]
276+
[order_topology α] [second_countable_topology α]
277277
{β} [measurable_space β] {ι} [encodable ι]
278278
{f : ι → β → α} {g : β → α} (hf : ∀ i, measurable (f i))
279279
(hg : ∀ b, is_lub {a | ∃ i, f i b = a} (g b)) :
@@ -291,7 +291,7 @@ begin
291291
end
292292

293293
lemma measurable.is_glb {α} [topological_space α] [linear_order α]
294-
[orderable_topology α] [second_countable_topology α]
294+
[order_topology α] [second_countable_topology α]
295295
{β} [measurable_space β] {ι} [encodable ι]
296296
{f : ι → β → α} {g : β → α} (hf : ∀ i, measurable (f i))
297297
(hg : ∀ b, is_glb {a | ∃ i, f i b = a} (g b)) :
@@ -309,14 +309,14 @@ begin
309309
end
310310

311311
lemma measurable.supr {α} [topological_space α] [complete_linear_order α]
312-
[orderable_topology α] [second_countable_topology α]
312+
[order_topology α] [second_countable_topology α]
313313
{β} [measurable_space β] {ι} [encodable ι]
314314
{f : ι → β → α} (hf : ∀ i, measurable (f i)) :
315315
measurable (λ b, ⨆ i, f i b) :=
316316
measurable.is_lub hf $ λ b, is_lub_supr
317317

318318
lemma measurable.infi {α} [topological_space α] [complete_linear_order α]
319-
[orderable_topology α] [second_countable_topology α]
319+
[order_topology α] [second_countable_topology α]
320320
{β} [measurable_space β] {ι} [encodable ι]
321321
{f : ι → β → α} (hf : ∀ i, measurable (f i)) :
322322
measurable (λ b, ⨅ i, f i b) :=

src/measure_theory/integration.lean

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -303,7 +303,7 @@ of the set `{i k | k ≤ n ∧ i k ≤ f a}`, see `approx_apply` and `supr_appro
303303
def approx (i : ℕ → β) (f : α → β) (n : ℕ) : α →ₛ β :=
304304
(finset.range n).sup (λk, restrict (const α (i k)) {a:α | i k ≤ f a})
305305

306-
lemma approx_apply [topological_space β] [ordered_topology β] {i : ℕ → β} {f : α → β} {n : ℕ}
306+
lemma approx_apply [topological_space β] [order_closed_topology β] {i : ℕ → β} {f : α → β} {n : ℕ}
307307
(a : α) (hf : _root_.measurable f) :
308308
(approx i f n : α →ₛ β) a = (finset.range n).sup (λk, if i k ≤ f a then i k else 0) :=
309309
begin
@@ -319,15 +319,15 @@ end
319319
lemma monotone_approx (i : ℕ → β) (f : α → β) : monotone (approx i f) :=
320320
assume n m h, finset.sup_mono $ finset.range_subset.2 h
321321

322-
lemma approx_comp [topological_space β] [ordered_topology β] [measurable_space γ]
322+
lemma approx_comp [topological_space β] [order_closed_topology β] [measurable_space γ]
323323
{i : ℕ → β} {f : γ → β} {g : α → γ} {n : ℕ} (a : α)
324324
(hf : _root_.measurable f) (hg : _root_.measurable g) :
325325
(approx i (f ∘ g) n : α →ₛ β) a = (approx i f n : γ →ₛ β) (g a) :=
326326
by rw [approx_apply _ hf, approx_apply _ (hf.comp hg)]
327327

328328
end
329329

330-
lemma supr_approx_apply [topological_space β] [complete_lattice β] [ordered_topology β] [has_zero β]
330+
lemma supr_approx_apply [topological_space β] [complete_lattice β] [order_closed_topology β] [has_zero β]
331331
(i : ℕ → β) (f : α → β) (a : α) (hf : _root_.measurable f) (h_zero : (0 : β) = ⊥) :
332332
(⨆n, (approx i f n : α →ₛ β) a) = (⨆k (h : i k ≤ f a), i k) :=
333333
begin

src/tactic/lint.lean

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -246,6 +246,12 @@ return $ let illegal := [`gt, `ge] in if d.type.contains_constant (λ n, n ∈ i
246246
errors_found := "ILLEGAL CONSTANTS IN DECLARATIONS",
247247
is_fast := ff }
248248

249+
library_note "nolint_ge" "Currently, the linter forbids the use of `>` and `≥` in definitions and
250+
statements, as they cause problems in rewrites. However, we still allow them in some contexts,
251+
for instance when expressing properties of the operator (as in `cobounded (≥)`), or in quantifiers
252+
such as `∀ ε > 0`. Such statements should be marked with the attribute `nolint` to avoid linter
253+
failures."
254+
249255
/-- checks whether an instance that always applies has priority ≥ 1000. -/
250256
-- TODO: instance_priority should also be tested on automatically-generated declarations
251257
meta def instance_priority (d : declaration) : tactic (option string) := do

src/topology/algebra/infinite_sum.lean

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -453,7 +453,7 @@ end tsum
453453
end topological_semiring
454454

455455
section order_topology
456-
variables [ordered_comm_monoid α] [topological_space α] [ordered_topology α]
456+
variables [ordered_comm_monoid α] [topological_space α] [order_closed_topology α]
457457
variables {f g : β → α} {a a₁ a₂ : α}
458458

459459
lemma has_sum_le (h : ∀b, f b ≤ g b) (hf : has_sum f a₁) (hg : has_sum g a₂) : a₁ ≤ a₂ :=

0 commit comments

Comments
 (0)