Documentation

MiscMath.Analysis.KolmogorovArnold.Density

Density of the approximation sets #

Support module for MiscMath.Analysis.KolmogorovArnold, where the theorem is stated and where the reader should start; Layer 2 of the development, the crux of the Baire-category proof. Its declarations are proof: machine-generated, kernel-checked and axiom-audited, and may be read by no one.

For a continuous f on the cube with ‖f‖ ≤ 1, the set approxSet lam δ θ f of tuples of inner functions admitting a one-step approximation of f — an outer g with ‖g‖ ≤ δ and ‖f - ∑_q g ∘ y_q‖ < θ — is dense in the space of tuples, for δ = 1/(2n+3) and any θ > (2n+2)/(2n+3). Together with its openness (Layer 1) this is Hedberg's Lemma 2 in general dimension, and it is the only place where the geometry of the cube enters the proof.

The proof, following Hedberg (pp. 269–271) with Kahane's general-n interval system:

  1. Given a tuple ψ₀ and ε > 0, choose N so that (2n+1)/N is below a modulus of continuity of f at δ and of the ψ₀_q at ε/4, then M large in terms of N. The approximant tuple ψ (Approximant.lean) is within ε of ψ₀ and is constant, with a rational level, on every cell of its rank.
  2. On a red cube a — a product of cells of one rank — every inner sum y_q of ψ is constant, equal to the cell-map value cellMap a, and the cell map is injective by the rational independence of the λ_p (Levels.lean; the only use of Layer 0).
  3. Define g on the finitely many cell-map values as δ · sign(f on the cube) and extend to a bounded continuous function on of the same norm by Tietze.
  4. Each point x of the cube lies in red cubes of at least n + 1 of the 2n + 1 ranks (Cells.lean), and on those the summand g(y_q(x)) is δ when f(x) > δ, when f(x) < -δ, because a red cube has diameter below the modulus of f; the remaining at most n summands are bounded by δ. This gives |f(x) - ∑_q g(y_q(x))| ≤ max(1 - δ, (2n+2)δ) = (2n+2)/(2n+3) < θ.

What this module proves #

Fix n and constants λ : Fin n → ℝ linearly independent over . For every continuous f : [0,1]ⁿ → ℝ with ‖f‖ ≤ 1 and every θ > (2n+2)/(2n+3), the set of (2n+1)-tuples of monotone continuous functions ψ_q : [0,1] → ℝ for which some bounded continuous g : ℝ → ℝ with ‖g‖ ≤ 1/(2n+3) satisfies sup_{x ∈ [0,1]ⁿ} |f(x) - ∑_{q} g(∑_p λ_p ψ_q(x_p))| < θ is dense in the space of all such tuples, with respect to uniform convergence in every component (dense_approxSet).

Source #

Sanity checks #

The theorem has hypotheses, so it needs a satisfiability witness: the examples below exhibit λ from Layer 0 (exists_pos_linearIndependent_rat), a function with ‖f‖ ≤ 1 (the zero function, and the first coordinate at n = 1), and a θ above the threshold, so that the hypotheses hold simultaneously; they also check the threshold at n = 2 is Hedberg's 6/7. The conclusion is a density statement, so it is non-vacuous as soon as the tuple space is non-empty, which it is (Inner.id).

Relation to Mathlib #

Uses Tietze's theorem in the form BoundedContinuousFunction.exists_extension_norm_eq_of_isClosedEmbedding, Metric.dense_iff, uniform continuity on compact spaces (CompactSpace.uniformContinuous_of_continuous), and Fintype.linearIndependent_iff through Levels.lean. Nothing about superpositions is in Mathlib.

@[reducible, inline]

Indices of the red cubes with cell indices at most N: a rank and, for each coordinate, a cell index.

Equations
Instances For

    The red cube with index a: the points of the cube each of whose rescaled coordinates N x_p lies in the cell of rank a.1 and index a.2 p.

    Equations
    Instances For
      theorem MiscMath.Analysis.KolmogorovArnold.mem_redCube {n N : } {a : CubeIndex n N} {y : Fin nunitInterval} :
      y redCube N a ∀ (p : Fin n), N * (y p) cell a.1 (a.2 p)
      noncomputable def MiscMath.Analysis.KolmogorovArnold.cellMap {n : } (lam : Fin n) (φ : InnerTuple n) (N M : ) (a : CubeIndex n N) :

      The cell map: the value of the inner sum of rank a.1 of the approximant tuple on the red cube a, namely ∑_p λ_p · level(a.1, a.2 p).

      Equations
      Instances For
        theorem MiscMath.Analysis.KolmogorovArnold.cellMap_injective' {n : } {lam : Fin n} (hlam : LinearIndependent lam) (φ : InnerTuple n) (N : ) {M : } (hM : 0 < M) :
        noncomputable def MiscMath.Analysis.KolmogorovArnold.cubeSign {n : } (f : C(Fin nunitInterval, )) (N : ) (a : CubeIndex n N) :

        The sign of f on the red cube a: 1 if f > 0 throughout, -1 if f < 0 throughout, and 0 otherwise.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          theorem MiscMath.Analysis.KolmogorovArnold.cubeSign_eq_one {n : } {f : C(Fin nunitInterval, )} {N : } {a : CubeIndex n N} (h : yredCube N a, 0 < f y) :
          cubeSign f N a = 1
          theorem MiscMath.Analysis.KolmogorovArnold.cubeSign_eq_neg_one {n : } {f : C(Fin nunitInterval, )} {N : } {a : CubeIndex n N} (h : yredCube N a, f y < 0) (hne : (redCube N a).Nonempty) :
          cubeSign f N a = -1
          theorem MiscMath.Analysis.KolmogorovArnold.abs_sub_le_of_estimate {n : } {δ a s : } ( : (2 * n + 3) * δ = 1) (hδpos : 0 < δ) (ha : |a| 1) (hs : |s| (2 * n + 1) * δ) (hpos : δ < aδ s) (hneg : a < -δs -δ) :
          |a - s| 1 - δ

          The arithmetic of Hedberg's estimate, abstracted: with (2n+3) δ = 1, |a| ≤ 1, |s| ≤ (2n+1) δ, and s on the side of δ when a is beyond δ, one has |a - s| ≤ 1 - δ.

          theorem MiscMath.Analysis.KolmogorovArnold.sum_ge_of_forall_ge {ι : Type u_1} [Fintype ι] {v : ι} {δ : } (hv : ∀ (i : ι), -δ v i) (S : Finset ι) (hS : iS, v i = δ) :
          (2 * S.card - (Fintype.card ι)) * δ i : ι, v i

          A sum of terms each ≥ -δ, with the terms indexed by S equal to δ, is at least (2 #S - #ι) δ.

          theorem MiscMath.Analysis.KolmogorovArnold.sum_le_of_forall_le {ι : Type u_1} [Fintype ι] {v : ι} {δ : } (hv : ∀ (i : ι), v i δ) (S : Finset ι) (hS : iS, v i = -δ) :
          i : ι, v i -((2 * S.card - (Fintype.card ι)) * δ)

          The mirror image: terms each ≤ δ, those indexed by S equal to .

          theorem MiscMath.Analysis.KolmogorovArnold.dense_approxSet {n : } {lam : Fin n} (hlam : LinearIndependent lam) {f : C(Fin nunitInterval, )} (hf : f 1) {θ : } ( : (2 * n + 2) / (2 * n + 3) < θ) :
          Dense (approxSet lam (1 / (2 * n + 3)) θ f)

          The approximation sets are dense (Hedberg, Lemma 2; Kahane, pp. 231–232). For λ linearly independent over , ‖f‖ ≤ 1 and θ > (2n+2)/(2n+3), the tuples admitting a one-step approximation of f with ‖g‖ ≤ 1/(2n+3) and error below θ are dense in InnerTuple n.

          Sanity checks #