On complemented subspaces of L1[0,1]L_1[0,1]

PL1/EnfloStarbirdDyadic.lean

All source files · Download exact source

SHA-256: 8c8688b562e83033a0627ee3b27b6149f35a3b55f2b4488596013fe3114e1a28

1import PL1.EnfloStarbirdProjection2import PL1.IntervalDyadicApproximation34/-! # Dyadic verification of the quantitative Enflo–Starbird projection criterion56The operator norm on genuine interval L1 is controlled by its values on dyadic7indicators. Consequently a uniformly small dyadic reconstruction error gives8an actual complemented copy, with an explicit Neumann-series projection.9The disjoint-tree extraction from an arbitrary embedding remains separate.10-/1112noncomputable section13open MeasureTheory Filter14open scoped BigOperators Topology1516namespace PL1.EnfloStarbird17open DyadicTrace1819variable {𝕜 : Type*} [RCLike 𝕜]20variable {E : Type*} [NormedAddCommGroup E] [NormedSpace 𝕜 E]2122attribute [local instance] intervalMeasure_probability2324private theorem sum_norm_dyadic_pieces_le (n : ℕ) (f : IntervalL1 𝕜) :25    (∑ i ∈ Finset.range (2 ^ n),26      ‖PartitionAverages.coefficient intervalMeasure (cell n) (measurableSet_cell n) i f •27        dyadicVector (𝕜 := 𝕜) n i‖) ≤ ‖f‖ := by28  calc29    _ ≤ ∑ i ∈ Finset.range (2 ^ n),30        ‖TraceBounds.cellFunctional intervalMeasure (cell n) (measurableSet_cell n) i f‖ :=31      Finset.sum_le_sum (fun i _ => PartitionAverages.norm_coefficient_smul_vector_le32        intervalMeasure (cell n) (measurableSet_cell n) i f)33    _ ≤ ∑ i ∈ Finset.range (2 ^ n),34        ‖L1Masks.mask intervalMeasure (cell n i) (measurableSet_cell n i) f‖ :=35      Finset.sum_le_sum (fun i _ => TraceBounds.norm_cellFunctional_apply_le_mask36        intervalMeasure (cell n) (measurableSet_cell n) i f)37    _ ≤ ‖f‖ := L1Masks.sum_norm_mask_le intervalMeasure _ _ _ (pairwiseDisjoint_cell n) f3839/-- It suffices to check the L1 operator bound on all genuine dyadic indicators. -/40theorem opNorm_le_of_dyadic_vectors (T : IntervalL1 𝕜 →L[𝕜] E) (C : ℝ) (hC : 0 ≤ C)41    (hT : ∀ n i, i < 2 ^ n → ‖T (dyadicVector (𝕜 := 𝕜) n i)‖ ≤42      C * ‖dyadicVector (𝕜 := 𝕜) n i‖) : ‖T‖ ≤ C := by43  have ha (n : ℕ) (f : IntervalL1 𝕜) : ‖T (dyadicAverage n f)‖ ≤ C * ‖f‖ := by44    rw [PartitionAverages.average_apply, map_sum]45    calc46      _ ≤ ∑ i ∈ Finset.range (2 ^ n),47          ‖T (PartitionAverages.coefficient intervalMeasure (cell n) (measurableSet_cell n) i f •48            dyadicVector (𝕜 := 𝕜) n i)‖ := norm_sum_le _ _49      _ ≤ ∑ i ∈ Finset.range (2 ^ n), C *50          ‖PartitionAverages.coefficient intervalMeasure (cell n) (measurableSet_cell n) i f •51            dyadicVector (𝕜 := 𝕜) n i‖ := by52        apply Finset.sum_le_sum53        intro i hi54        rw [map_smul, norm_smul, norm_smul]55        calc56          _ ≤ ‖PartitionAverages.coefficient (𝕜 := 𝕜) intervalMeasure (cell n)57                (measurableSet_cell n) i f‖ * (C * ‖dyadicVector (𝕜 := 𝕜) n i‖) :=58            mul_le_mul_of_nonneg_left (hT n i (Finset.mem_range.mp hi)) (norm_nonneg _)59          _ = _ := by ring60      _ = C * ∑ i ∈ Finset.range (2 ^ n),61          ‖PartitionAverages.coefficient intervalMeasure (cell n) (measurableSet_cell n) i f •62            dyadicVector (𝕜 := 𝕜) n i‖ := (Finset.mul_sum _ _ _).symm63      _ ≤ C * ‖f‖ := mul_le_mul_of_nonneg_left (sum_norm_dyadic_pieces_le n f) hC64  apply ContinuousLinearMap.opNorm_le_bound T hC65  intro f66  exact le_of_tendsto ((T.continuous.tendsto f).comp (dyadicAverage_tendsto f)).norm67    (Filter.Eventually.of_forall (fun n => ha n f))6869theorem opNorm_le_iff_dyadic_vectors (T : IntervalL1 𝕜 →L[𝕜] E) (C : ℝ) (hC : 0 ≤ C) :70    ‖T‖ ≤ C ↔ ∀ n i, i < 2 ^ n → ‖T (dyadicVector (𝕜 := 𝕜) n i)‖ ≤71      C * ‖dyadicVector (𝕜 := 𝕜) n i‖ := by72  constructor73  · intro h n i _74    exact (T.le_opNorm _).trans (mul_le_mul_of_nonneg_right h (norm_nonneg _))75  · exact opNorm_le_of_dyadic_vectors T C hC7677/-- Dyadic reconstruction errors below one give a complemented copy of actual interval L1. -/78def complementedCopyOfDyadicError (J : IntervalL1 𝕜 →L[𝕜] E)79    (R : E →L[𝕜] IntervalL1 𝕜) (ε : ℝ) (hε : 0 ≤ ε) (hε1 : ε < 1)80    (herror : ∀ n i, i < 2 ^ n →81      ‖dyadicVector (𝕜 := 𝕜) n i - R (J (dyadicVector (𝕜 := 𝕜) n i))‖ ≤82        ε * ‖dyadicVector (𝕜 := 𝕜) n i‖) : ComplementedCopy 𝕜 (IntervalL1 𝕜) E :=83  complementedCopyOfApproximateInverse J R84    ((opNorm_le_of_dyadic_vectors (1 - R.comp J) ε hε herror).trans_lt hε1)8586theorem closedComplemented_range_of_dyadicError (J : IntervalL1 𝕜 →L[𝕜] E)87    (R : E →L[𝕜] IntervalL1 𝕜) (ε : ℝ) (hε : 0 ≤ ε) (hε1 : ε < 1)88    (herror : ∀ n i, i < 2 ^ n →89      ‖dyadicVector (𝕜 := 𝕜) n i - R (J (dyadicVector (𝕜 := 𝕜) n i))‖ ≤90        ε * ‖dyadicVector (𝕜 := 𝕜) n i‖) : J.range.ClosedComplemented :=91  (complementedCopyOfDyadicError J R ε hε hε1 herror).closedComplemented_range9293#print axioms opNorm_le_iff_dyadic_vectors94#print axioms complementedCopyOfDyadicError9596end PL1.EnfloStarbird97