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

Commit e0736bb

Browse files
committed
refactor(measure_theory/function/lp_space): generalize actions from normed_field to normed_ring (#19083)
The motivation is that this makes it easier to work with integrals in non-commutative rings. This makes the proof of Hölder's inequality slightly more painful, as we can no longer use `simp_rw [norm_smul]` and have to make monotonicity arguments instead. `rel_congr` may be able to clean this up in mathlib3. The results in the `normed_space` section (including Hölder's inequality) have been largely moved to the `monotonicity` section, where they hold more generally for arbitrary binary functions. The results about scalar actions now follow as trivial special cases. This also makes the `fails_quickly` linter reject the `complete_space (Lp_meas F 𝕜 m p μ)` instance. Since Lean4 is around the corner and there are better debugging tools there, I think it's ok to just no-lint it.
1 parent 5bb9fff commit e0736bb

3 files changed

Lines changed: 215 additions & 120 deletions

File tree

src/measure_theory/function/conditional_expectation/basic.lean

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -506,6 +506,10 @@ instance [hm : fact (m ≤ m0)] [complete_space F] [hp : fact (1 ≤ p)] :
506506
complete_space (Lp_meas_subgroup F m p μ) :=
507507
by { rw (Lp_meas_subgroup_to_Lp_trim_iso F p μ hm.elim).complete_space_iff, apply_instance, }
508508

509+
-- For now just no-lint this; lean4's tree-based logging will make this easier to debug.
510+
-- One possible change might be to generalize `𝕜` from `is_R_or_C` to `normed_field`, as this
511+
-- result may well hold there.
512+
@[nolint fails_quickly]
509513
instance [hm : fact (m ≤ m0)] [complete_space F] [hp : fact (1 ≤ p)] :
510514
complete_space (Lp_meas F 𝕜 m p μ) :=
511515
by { rw (Lp_meas_subgroup_to_Lp_meas_iso F 𝕜 p μ).symm.complete_space_iff, apply_instance, }
@@ -1263,8 +1267,7 @@ lemma condexp_ind_smul_smul' [normed_space ℝ F] [smul_comm_class ℝ 𝕜 F] (
12631267
(hμs : μ s ≠ ∞) (c : 𝕜) (x : F) :
12641268
condexp_ind_smul hm hs hμs (c • x) = c • condexp_ind_smul hm hs hμs x :=
12651269
by rw [condexp_ind_smul, condexp_ind_smul, to_span_singleton_smul',
1266-
(to_span_singleton ℝ x).smul_comp_LpL_apply c
1267-
↑(condexp_L2 ℝ hm (indicator_const_Lp 2 hs hμs (1 : ℝ)))]
1270+
(to_span_singleton ℝ x).smul_comp_LpL c, smul_apply]
12681271

12691272
lemma condexp_ind_smul_ae_eq_smul (hm : m ≤ m0) (hs : measurable_set s) (hμs : μ s ≠ ∞) (x : G) :
12701273
condexp_ind_smul hm hs hμs x

src/measure_theory/function/continuous_map_dense.lean

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ begin
109109
{ refine function.support_subset_iff'.2 (λ x hx, _),
110110
simp only [hgv hx, pi.zero_apply, zero_smul] },
111111
have gc_mem : mem_ℒp (λ x, g x • c) p μ,
112-
{ apply mem_ℒp.smul_of_top_left (mem_ℒp_top_const _),
112+
{ refine mem_ℒp.smul_of_top_left (mem_ℒp_top_const _) _,
113113
refine ⟨g.continuous.ae_strongly_measurable, _⟩,
114114
have : snorm (v.indicator (λ x, (1 : ℝ))) p μ < ⊤,
115115
{ refine (snorm_indicator_const_le _ _).trans_lt _,

0 commit comments

Comments
 (0)