Paper V · Lean source

MaskPerturbation.lean

Inherited / related evidence Coverage and evidence

The edition relies on earlier or related formal evidence. That evidence is not a fresh full-edition replay.

This viewer reads the retained source; it does not run Lean or assign new claim mappings.

KomorebiPaperV/MaskPerturbation.lean91 lines

Original source pathsource/complete/original_snapshot/formalization/lean/KomorebiPaperV/MaskPerturbation.lean
Skip declarations and read code

Skip source text

1 import Mathlib.MeasureTheory.Function.LpSeminorm.Indicator
2 import Mathlib.MeasureTheory.Function.LpSeminorm.TriangleInequality
3 import Mathlib.Basic.Complex.Basic
4 import Mathlib.Tactic
5 
6 /-! Author: Komorebi P. Measurable jump-mask perturbations, with extended Lp norms. -/
7 namespace KomorebiPaperV.MaskPerturbation
8 open MeasureTheory
9 open scoped ENNReal symmDiff
10 variable {Ω : Type*} [MeasurableSpace Ω]
11 
12 noncomputable def jump (S : Set Ω) (a : ℂ) : Ω → ℂ := S.indicator (fun _ => a)
13 
14 theorem jump_measurable (S : Set Ω) (hS : MeasurableSet S) (a : ℂ) (μ : Measure Ω) :
15     AEStronglyMeasurable (jump S a) μ :=
16   (stronglyMeasurable_const.indicator hS).aestronglyMeasurable
17 
18 theorem symmetric_difference_norm (μ : Measure Ω) (S T : Set Ω)
19     (hS : MeasurableSet S) (hT : MeasurableSet T) (p : ENNReal)
20     (hp : p ≠ 0) (hpTop : p ≠ ∞) (a : ℂ) :
21     eLpNorm (jump S a-jump T a) p μ = ‖a‖ₑ * μ (S ∆ T) ^ (1 / p.toReal) := by
22   rw [jump, jump, eLpNorm_indicator_sub_indicator]
23   exact eLpNorm_indicator_const (hS.symmDiff hT) hp hpTop
24 
25 theorem indicator_difference_norm (μ : Measure Ω) (S T : Set Ω)
26     (hS : MeasurableSet S) (hT : MeasurableSet T) (p : ENNReal)
27     (hp : p ≠ 0) (hpTop : p ≠ ∞) :
28     eLpNorm (jump S 1-jump T 1) p μ = μ (S ∆ T) ^ (1 / p.toReal) := by
29   simpa using symmetric_difference_norm μ S T hS hT p hp hpTop 1
30 
31 omit [MeasurableSpace Ω] in
32 theorem jump_sub_same_set (S : Set Ω) (a b : ℂ) : jump S a-jump S b = jump S (a-b) := by
33   classical
34   funext x
35   by_cases hx : x ∈ S <;> simp [jump, hx]
36 
37 omit [MeasurableSpace Ω] in
38 theorem jump_error_decomposition (S T : Set Ω) (a b : ℂ) :
39     jump S a-jump T b = jump S (a-b)+(jump S b-jump T b) := by
40   rw [← jump_sub_same_set]
41   abel
42 
43 theorem finite_p_perturbation (μ : Measure Ω) (S T : Set Ω)
44     (hS : MeasurableSet S) (hT : MeasurableSet T) (p : ENNReal)
45     (hp : 1 ≤ p) (hpTop : p ≠ ∞) (a b : ℂ) :
46     eLpNorm (jump S a-jump T b) p μ ≤
47       ‖a-b‖ₑ * μ S ^ (1 / p.toReal) + ‖b‖ₑ * μ (S ∆ T) ^ (1 / p.toReal) := by
48   have hp0 : p ≠ 0 := ne_of_gt (lt_of_lt_of_le (by norm_num) hp)
49   rw [jump_error_decomposition]
50   calc
51     _ ≤ eLpNorm (jump S (a-b)) p μ + eLpNorm (jump S b-jump T b) p μ :=
52       eLpNorm_add_le (jump_measurable S hS (a-b) μ)
53         ((jump_measurable S hS b μ).sub (jump_measurable T hT b μ)) hp
54     _ = _ := by
55       rw [symmetric_difference_norm μ S T hS hT p hp0 hpTop,
56         jump, eLpNorm_indicator_const hS hp0 hpTop]
57 
58 omit [MeasurableSpace Ω] in
59 theorem pointwise_sup_bound (S T : Set Ω) (a b : ℂ) (x : Ω) :
60     ‖(jump S a-jump T b) x‖ ≤ ‖a-b‖ + if S ∆ T = ∅ then 0 else ‖b‖ := by
61   classical
62   rw [jump_error_decomposition]
63   calc
64     _ ≤ ‖jump S (a-b) x‖ + ‖(jump S b-jump T b) x‖ := norm_add_le _ _
65     _ ≤ ‖a-b‖ + if S ∆ T = ∅ then 0 else ‖b‖ := by
66       apply add_le_add
67       · by_cases hx : x ∈ S <;> simp [jump, hx]
68       · by_cases he : S ∆ T = ∅
69         · have hST : S = T := symmDiff_eq_bot.mp he
70           simp [hST]
71         · by_cases hx : x ∈ S <;> by_cases hy : x ∈ T <;> simp [jump, hx, hy, he]
72 
73 theorem infinity_perturbation (μ : Measure Ω) (S T : Set Ω) (a b : ℂ) :
74     eLpNorm (jump S a-jump T b) ∞ μ ≤
75       ENNReal.ofReal (‖a-b‖ + if S ∆ T = ∅ then 0 else ‖b‖) := by
76   rw [eLpNorm_exponent_top]
77   exact eLpNormEssSup_le_of_ae_bound (ae_of_all μ (pointwise_sup_bound S T a b))
78 
79 theorem full_signal_perturbation (μ : Measure Ω) (S T : Set Ω)
80     (hS : MeasurableSet S) (hT : MeasurableSet T) (p : ENNReal)
81     (hp : 1 ≤ p) (hpTop : p ≠ ∞) (a b : ℂ) (s t : Ω → ℂ)
82     (hs : AEStronglyMeasurable s μ) (ht : AEStronglyMeasurable t μ) :
83     eLpNorm ((s+jump S a)-(t+jump T b)) p μ ≤ eLpNorm (s-t) p μ +
84       (‖a-b‖ₑ * μ S ^ (1/p.toReal) + ‖b‖ₑ * μ (S ∆ T) ^ (1/p.toReal)) := by
85   have he : (s+jump S a)-(t+jump T b) = (s-t)+(jump S a-jump T b) := by abel
86   rw [he]
87   exact (eLpNorm_add_le (hs.sub ht)
88     ((jump_measurable S hS a μ).sub (jump_measurable T hT b μ)) hp).trans
89       (add_le_add_right (finite_p_perturbation μ S T hS hT p hp hpTop a b) _)
90 
91 end KomorebiPaperV.MaskPerturbation

Back to source controls

Original file and source record

This copy matches the recorded source file. Its publication here does not change the work’s review status.

SHA-256: da8dff07593e08375e9c2acc1f7f73cb9cf4b7b23d23142eef01136ca0c657e9

Original source on GitHub

Back to Paper V: Polyphase Signal Calculus