AutoSamplingTheory.TechnicalLemmas.StochasticProcesses.LaggedDyadicApproximation
19 named declarations scanned from AutoSamplingTheory/TechnicalLemmas/StochasticProcesses/LaggedDyadicApproximation.lean.
Declarations
def AutoSamplingTheory.TechnicalLemmas.StochasticProcesses.LaggedDyadicApproximation.clippedExtensionAt Compiled Not mapped
- Zero extension of a clipped progressive process from `[0,b] x Omega`. The target measurable space on `Omega` is the filtration at time `b`.
noncomputable def clippedExtensionAt
(eta : ProgressiveL2Integrand filtration mu T) (truncationLevel : ℕ)
(b : ℝ≥0) : ℝ≥0 × Omega → ℝ :=
Function.extend
(Prod.map ((↑) : Set.Iic b → ℝ≥0) id)
(fun p : Set.Iic b × Omega =>
(clipped eta truncationLevel).process p.1 p.2)
0
AutoSamplingTheory/TechnicalLemmas/StochasticProcesses/LaggedDyadicApproximation.lean:30published source at 77184245109a
theorem AutoSamplingTheory.TechnicalLemmas.StochasticProcesses.LaggedDyadicApproximation.clippedExtensionAt_stronglyMeasurable Compiled Not mapped
No declaration docstring.
theorem clippedExtensionAt_stronglyMeasurable
(eta : ProgressiveL2Integrand filtration mu T) (truncationLevel : ℕ)
(b : ℝ≥0) :
@StronglyMeasurable (ℝ≥0 × Omega) ℝ inferInstance
(MeasurableSpace.prod inferInstance (filtration b))
(clippedExtensionAt eta truncationLevel b) := by
apply ((MeasurableEmbedding.subtype_coe measurableSet_Iic).prodMap
MeasurableEmbedding.id).stronglyMeasurable_extend
· exact (clipped eta truncationLevel).progressive b
· exact stronglyMeasurable_const
AutoSamplingTheory/TechnicalLemmas/StochasticProcesses/LaggedDyadicApproximation.lean:39published source at 77184245109a
theorem AutoSamplingTheory.TechnicalLemmas.StochasticProcesses.LaggedDyadicApproximation.clippedExtensionAt_apply_of_le Compiled Not mapped
No declaration docstring.
@[simp] theorem clippedExtensionAt_apply_of_le
(eta : ProgressiveL2Integrand filtration mu T) (truncationLevel : ℕ)
{s b : ℝ≥0} (hsb : s ≤ b) (omega : Omega) :
clippedExtensionAt eta truncationLevel b (s, omega) =
(clipped eta truncationLevel).process s omega := by
let p : Set.Iic b × Omega := (⟨s, hsb⟩, omega)
exact ((MeasurableEmbedding.subtype_coe measurableSet_Iic).prodMap
MeasurableEmbedding.id).injective.extend_apply
(fun q : Set.Iic b × Omega =>
(clipped eta truncationLevel).process q.1 q.2) 0 p
AutoSamplingTheory/TechnicalLemmas/StochasticProcesses/LaggedDyadicApproximation.lean:50published source at 77184245109a
theorem AutoSamplingTheory.TechnicalLemmas.StochasticProcesses.LaggedDyadicApproximation.clippedExtensionAt_abs_le Compiled Not mapped
No declaration docstring.
theorem clippedExtensionAt_abs_le
(eta : ProgressiveL2Integrand filtration mu T) (truncationLevel : ℕ)
(b s : ℝ≥0) (omega : Omega) :
|clippedExtensionAt eta truncationLevel b (s, omega)| ≤
(truncationLevel : ℝ) := by
by_cases hsb : s ≤ b
· rw [clippedExtensionAt_apply_of_le eta truncationLevel hsb]
exact clipped_abs_le eta truncationLevel s omega
· rw [clippedExtensionAt, Function.extend_apply']
· simp
· rintro ⟨u, hu⟩
apply hsb
have hsu := congrArg Prod.fst hu
change (u.1 : ℝ≥0) = s at hsu
have hub : (u.1 : ℝ≥0) ≤ b := by
exact Set.mem_Iic.mp u.1.property
rwa [hsu] at hub
/-- Average of the clipped process over `(a,b]`, normalized by `delta`.
The extension makes the joint measurability used by parameterized Bochner
integration explicit. -/
AutoSamplingTheory/TechnicalLemmas/StochasticProcesses/LaggedDyadicApproximation.lean:61published source at 77184245109a
def AutoSamplingTheory.TechnicalLemmas.StochasticProcesses.LaggedDyadicApproximation.laggedCellAverage Compiled Not mapped
- Average of the clipped process over `(a,b]`, normalized by `delta`. The extension makes the joint measurability used by parameterized Bochner integration explicit.
noncomputable def laggedCellAverage
(eta : ProgressiveL2Integrand filtration mu T) (truncationLevel : ℕ)
(delta a b : ℝ≥0) (omega : Omega) : ℝ :=
(delta : ℝ)⁻¹ *
∫ s, clippedExtensionAt eta truncationLevel b (s, omega)
∂((TimeMeasure.upTo T).restrict (Set.Ioc a b))
AutoSamplingTheory/TechnicalLemmas/StochasticProcesses/LaggedDyadicApproximation.lean:82published source at 77184245109a
theorem AutoSamplingTheory.TechnicalLemmas.StochasticProcesses.LaggedDyadicApproximation.laggedCellAverage_stronglyMeasurable Compiled Not mapped
No declaration docstring.
theorem laggedCellAverage_stronglyMeasurable
(eta : ProgressiveL2Integrand filtration mu T) (truncationLevel : ℕ)
(delta a b : ℝ≥0) :
@StronglyMeasurable Omega ℝ inferInstance (filtration b)
(laggedCellAverage eta truncationLevel delta a b) := by
have hintegral :
@StronglyMeasurable Omega ℝ inferInstance (filtration b)
(fun omega =>
∫ s, clippedExtensionAt eta truncationLevel b (s, omega)
∂((TimeMeasure.upTo T).restrict (Set.Ioc a b))) :=
@StronglyMeasurable.integral_prod_left'
ℝ≥0 Omega ℝ inferInstance (filtration b)
((TimeMeasure.upTo T).restrict (Set.Ioc a b)) inferInstance inferInstance inferInstance
(clippedExtensionAt eta truncationLevel b)
(clippedExtensionAt_stronglyMeasurable eta truncationLevel b)
exact stronglyMeasurable_const.mul hintegral
AutoSamplingTheory/TechnicalLemmas/StochasticProcesses/LaggedDyadicApproximation.lean:89published source at 77184245109a
theorem AutoSamplingTheory.TechnicalLemmas.StochasticProcesses.LaggedDyadicApproximation.laggedCellAverage_zero Compiled Not mapped
No declaration docstring.
theorem laggedCellAverage_zero
(eta : ProgressiveL2Integrand filtration mu T) (truncationLevel : ℕ)
(delta a : ℝ≥0) :
laggedCellAverage eta truncationLevel delta a a = 0 := by
funext omega
simp [laggedCellAverage]
AutoSamplingTheory/TechnicalLemmas/StochasticProcesses/LaggedDyadicApproximation.lean:106published source at 77184245109a
theorem AutoSamplingTheory.TechnicalLemmas.StochasticProcesses.LaggedDyadicApproximation.laggedCellAverage_abs_le Compiled Not mapped
No declaration docstring.
theorem laggedCellAverage_abs_le
(eta : ProgressiveL2Integrand filtration mu T) (truncationLevel : ℕ)
{delta a b : ℝ≥0} (hdelta : 0 < delta) (hab : a ≤ b)
(hbT : b ≤ T) (hcell : b - a = delta) (omega : Omega) :
|laggedCellAverage eta truncationLevel delta a b omega| ≤
(truncationLevel : ℝ) := by
have hmeasure :
((TimeMeasure.upTo T).restrict (Set.Ioc a b)).real Set.univ =
(delta : ℝ) := by
rw [Measure.real, Measure.restrict_apply MeasurableSet.univ]
simp only [Set.univ_inter]
rw [TimeMeasure.upTo_Ioc T a b hab]
rw [min_eq_left hbT, min_eq_left (hab.trans hbT), hcell]
simp
have hintegral :
|∫ s, clippedExtensionAt eta truncationLevel b (s, omega)
∂((TimeMeasure.upTo T).restrict (Set.Ioc a b))| ≤
(truncationLevel : ℝ) * (delta : ℝ) := by
have hbound := norm_integral_le_of_norm_le_const
(μ := (TimeMeasure.upTo T).restrict (Set.Ioc a b))
(f := fun s => clippedExtensionAt eta truncationLevel b (s, omega))
(Filter.Eventually.of_forall fun s => by
simpa only [Real.norm_eq_abs] using
clippedExtensionAt_abs_le eta truncationLevel b s omega)
simpa only [Real.norm_eq_abs, hmeasure] using hbound
have hdeltaReal : 0 < (delta : ℝ) := by exact_mod_cast hdelta
rw [laggedCellAverage, abs_mul, abs_inv, abs_of_pos hdeltaReal]
calc
(delta : ℝ)⁻¹ *
|∫ s, clippedExtensionAt eta truncationLevel b (s, omega)
∂((TimeMeasure.upTo T).restrict (Set.Ioc a b))| ≤
(delta : ℝ)⁻¹ * ((truncationLevel : ℝ) * (delta : ℝ)) :=
mul_le_mul_of_nonneg_left hintegral (inv_nonneg.mpr hdeltaReal.le)
_ = (truncationLevel : ℝ) := by
field_simp
/-- The left endpoint of the dyadic cell indexed by `i`. -/
AutoSamplingTheory/TechnicalLemmas/StochasticProcesses/LaggedDyadicApproximation.lean:113published source at 77184245109a
def AutoSamplingTheory.TechnicalLemmas.StochasticProcesses.LaggedDyadicApproximation.dyadicLeftTime Compiled Not mapped
- The left endpoint of the dyadic cell indexed by `i`.
noncomputable def dyadicLeftTime (T : ℝ≥0) (level : ℕ) (i : ℕ) : ℝ≥0 :=
(i : ℝ≥0) * dyadicMesh T level
/-- The lagged coefficient used on dyadic cell `i`. Cell zero has coefficient
zero; every later cell uses the average over the immediately preceding cell. -/
AutoSamplingTheory/TechnicalLemmas/StochasticProcesses/LaggedDyadicApproximation.lean:150published source at 77184245109a
def AutoSamplingTheory.TechnicalLemmas.StochasticProcesses.LaggedDyadicApproximation.laggedDyadicCoeff Compiled Not mapped
- The lagged coefficient used on dyadic cell `i`. Cell zero has coefficient zero; every later cell uses the average over the immediately preceding cell.
noncomputable def laggedDyadicCoeff
(eta : ProgressiveL2Integrand filtration mu T) (level truncationLevel : ℕ)
(i : Fin (2 ^ level)) (omega : Omega) : ℝ :=
if _hi : i.val = 0 then 0 else
laggedCellAverage eta truncationLevel (dyadicMesh T level)
(dyadicLeftTime T level i.val - dyadicMesh T level)
(dyadicLeftTime T level i.val) omega
AutoSamplingTheory/TechnicalLemmas/StochasticProcesses/LaggedDyadicApproximation.lean:155published source at 77184245109a
theorem AutoSamplingTheory.TechnicalLemmas.StochasticProcesses.LaggedDyadicApproximation.dyadicMesh_le_leftTime_of_ne_zero Compiled Not mapped
No declaration docstring.
theorem dyadicMesh_le_leftTime_of_ne_zero
{T : ℝ≥0} (level : ℕ) {i : ℕ} (hi : i ≠ 0) :
dyadicMesh T level ≤ dyadicLeftTime T level i := by
have hiOne : 1 ≤ i := Nat.one_le_iff_ne_zero.mpr hi
have hiOneNN : (1 : ℝ≥0) ≤ (i : ℝ≥0) := by exact_mod_cast hiOne
simpa only [dyadicLeftTime, one_mul] using
mul_le_mul_of_nonneg_right hiOneNN (by positivity)
AutoSamplingTheory/TechnicalLemmas/StochasticProcesses/LaggedDyadicApproximation.lean:163published source at 77184245109a
theorem AutoSamplingTheory.TechnicalLemmas.StochasticProcesses.LaggedDyadicApproximation.dyadicLeftTime_le_terminal Compiled Not mapped
No declaration docstring.
private theorem dyadicLeftTime_le_terminal
(eta : ProgressiveL2Integrand filtration mu T) (hT : 0 < T)
(level truncationLevel : ℕ) (i : Fin (2 ^ level)) :
dyadicLeftTime T level i.val ≤ T := by
have hmono : Monotone (regularGridTimes (dyadicMesh T level) (2 ^ level)) :=
(regularGridTimes_strictMono (dyadicMesh_pos hT level) (2 ^ level)).monotone
have hle := hmono (Fin.le_last i.castSucc)
have hlast := sampledClippedDyadic_last_time eta hT level truncationLevel
rw [sampledClippedDyadic, sampledClipped_times] at hlast
change dyadicLeftTime T level i.val ≤
regularGridTimes (dyadicMesh T level) (2 ^ level) (Fin.last (2 ^ level)) at hle
exact hle.trans_eq hlast
AutoSamplingTheory/TechnicalLemmas/StochasticProcesses/LaggedDyadicApproximation.lean:171published source at 77184245109a
theorem AutoSamplingTheory.TechnicalLemmas.StochasticProcesses.LaggedDyadicApproximation.laggedDyadicCoeff_stronglyMeasurable Compiled Not mapped
No declaration docstring.
theorem laggedDyadicCoeff_stronglyMeasurable
(eta : ProgressiveL2Integrand filtration mu T) (level truncationLevel : ℕ)
(i : Fin (2 ^ level)) :
StronglyMeasurable[filtration (dyadicLeftTime T level i.val)]
(laggedDyadicCoeff eta level truncationLevel i) := by
by_cases hi : i.val = 0
· have hzero :
@StronglyMeasurable Omega ℝ inferInstance
(filtration (dyadicLeftTime T level i.val)) (fun _ => 0) :=
stronglyMeasurable_const
convert hzero using 1
funext omega
simp [laggedDyadicCoeff, hi]
· convert laggedCellAverage_stronglyMeasurable eta truncationLevel
(dyadicMesh T level)
(dyadicLeftTime T level i.val - dyadicMesh T level)
(dyadicLeftTime T level i.val) using 1
funext omega
simp [laggedDyadicCoeff, hi]
AutoSamplingTheory/TechnicalLemmas/StochasticProcesses/LaggedDyadicApproximation.lean:184published source at 77184245109a
theorem AutoSamplingTheory.TechnicalLemmas.StochasticProcesses.LaggedDyadicApproximation.laggedDyadicCoeff_abs_le Compiled Not mapped
No declaration docstring.
theorem laggedDyadicCoeff_abs_le
(eta : ProgressiveL2Integrand filtration mu T) (hT : 0 < T)
(level truncationLevel : ℕ) (i : Fin (2 ^ level)) (omega : Omega) :
|laggedDyadicCoeff eta level truncationLevel i omega| ≤
(truncationLevel : ℝ) := by
by_cases hi : i.val = 0
· simp [laggedDyadicCoeff, hi]
· simp only [laggedDyadicCoeff, hi, ↓reduceDIte]
let delta := dyadicMesh T level
let b := dyadicLeftTime T level i.val
have hdelta : 0 < delta := dyadicMesh_pos hT level
have hdelta_b : delta ≤ b :=
dyadicMesh_le_leftTime_of_ne_zero level hi
have hcell : b - (b - delta) = delta :=
tsub_tsub_cancel_of_le hdelta_b
exact laggedCellAverage_abs_le eta truncationLevel hdelta
(tsub_le_self) (dyadicLeftTime_le_terminal eta hT level truncationLevel i)
hcell omega
/-- The bounded elementary adapted process obtained by lagging dyadic cell
averages by one cell. -/
AutoSamplingTheory/TechnicalLemmas/StochasticProcesses/LaggedDyadicApproximation.lean:204published source at 77184245109a
def AutoSamplingTheory.TechnicalLemmas.StochasticProcesses.LaggedDyadicApproximation.laggedDyadicApprox Compiled Not mapped
- The bounded elementary adapted process obtained by lagging dyadic cell averages by one cell.
noncomputable def laggedDyadicApprox
(eta : ProgressiveL2Integrand filtration mu T) (hT : 0 < T)
(level truncationLevel : ℕ) :
ElementaryAdaptedProcess filtration (2 ^ level) where
times := regularGridTimes (dyadicMesh T level) (2 ^ level)
times_strictMono := regularGridTimes_strictMono (dyadicMesh_pos hT level) _
coeff := laggedDyadicCoeff eta level truncationLevel
coeff_stronglyMeasurable := fun i => by
change StronglyMeasurable[filtration (dyadicLeftTime T level i.val)]
(laggedDyadicCoeff eta level truncationLevel i)
exact laggedDyadicCoeff_stronglyMeasurable eta level truncationLevel i
coeff_bounded := fun i =>
⟨truncationLevel, laggedDyadicCoeff_abs_le eta hT level truncationLevel i⟩
AutoSamplingTheory/TechnicalLemmas/StochasticProcesses/LaggedDyadicApproximation.lean:225published source at 77184245109a
theorem AutoSamplingTheory.TechnicalLemmas.StochasticProcesses.LaggedDyadicApproximation.laggedDyadicApprox_times Compiled Not mapped
No declaration docstring.
@[simp] theorem laggedDyadicApprox_times
(eta : ProgressiveL2Integrand filtration mu T) (hT : 0 < T)
(level truncationLevel : ℕ) :
(laggedDyadicApprox eta hT level truncationLevel).times =
regularGridTimes (dyadicMesh T level) (2 ^ level) :=
rfl
AutoSamplingTheory/TechnicalLemmas/StochasticProcesses/LaggedDyadicApproximation.lean:239published source at 77184245109a
theorem AutoSamplingTheory.TechnicalLemmas.StochasticProcesses.LaggedDyadicApproximation.laggedDyadicApprox_coeff Compiled Not mapped
No declaration docstring.
@[simp] theorem laggedDyadicApprox_coeff
(eta : ProgressiveL2Integrand filtration mu T) (hT : 0 < T)
(level truncationLevel : ℕ) (i : Fin (2 ^ level)) (omega : Omega) :
(laggedDyadicApprox eta hT level truncationLevel).coeff i omega =
laggedDyadicCoeff eta level truncationLevel i omega :=
rfl
AutoSamplingTheory/TechnicalLemmas/StochasticProcesses/LaggedDyadicApproximation.lean:246published source at 77184245109a
theorem AutoSamplingTheory.TechnicalLemmas.StochasticProcesses.LaggedDyadicApproximation.laggedDyadicApprox_last_time Compiled Not mapped
No declaration docstring.
theorem laggedDyadicApprox_last_time
(eta : ProgressiveL2Integrand filtration mu T) (hT : 0 < T)
(level truncationLevel : ℕ) :
(laggedDyadicApprox eta hT level truncationLevel).times
(Fin.last (2 ^ level)) = T := by
have hlast := sampledClippedDyadic_last_time eta hT level truncationLevel
simpa only [sampledClippedDyadic, sampledClipped_times,
laggedDyadicApprox_times] using hlast
/-- The two obligations that matter downstream: each coefficient is known at
its cell's left endpoint and remains bounded by the clipping level. -/
AutoSamplingTheory/TechnicalLemmas/StochasticProcesses/LaggedDyadicApproximation.lean:253published source at 77184245109a
theorem AutoSamplingTheory.TechnicalLemmas.StochasticProcesses.LaggedDyadicApproximation.laggedDyadicApprox_isElementaryAdapted Compiled Compiled
- The two obligations that matter downstream: each coefficient is known at its cell's left endpoint and remains bounded by the clipping level.
theorem laggedDyadicApprox_isElementaryAdapted
(eta : ProgressiveL2Integrand filtration mu T) (hT : 0 < T)
(level truncationLevel : ℕ) :
(∀ i, StronglyMeasurable[
filtration ((laggedDyadicApprox eta hT level truncationLevel).times i.castSucc)]
((laggedDyadicApprox eta hT level truncationLevel).coeff i)) ∧
(∀ i omega,
|(laggedDyadicApprox eta hT level truncationLevel).coeff i omega| ≤
(truncationLevel : ℝ)) := by
constructor
· exact (laggedDyadicApprox eta hT level truncationLevel).coeff_stronglyMeasurable
· exact laggedDyadicCoeff_abs_le eta hT level truncationLevel
end LaggedDyadicApproximation
end StochasticProcesses
end TechnicalLemmas
end AutoSamplingTheory
AutoSamplingTheory/TechnicalLemmas/StochasticProcesses/LaggedDyadicApproximation.lean:264published source at 77184245109aOpen detailed card