Encyclopedia Constants Constants Gap Weight Projection W8 Projected Nonneg

ARTICLE 4 claims 4 theorems

Constants Gap Weight Projection W8 Projected Nonneg

A machine-checked proof that a certain spectral weight is never negative, and the explicit definition that makes the weight unambiguous.

The projection weight

The declaration w8_projected_nonneg is a formal, machine-checked proof that a specific real number, called w8_projected, is greater than or equal to zero. This number is defined in the Recognition Science framework's library as a projection weight, a numerical weight assigned to a pattern when it is decomposed onto a fixed set of eight basis modes. The proof is a lemma in the framework's formal library, a machine-checked collection of theorems, and it establishes the non-negativity of this weight as a logical consequence of its definition.

The definition of w8_projected is explicit about its two components, which were historically left implicit. First, the weight includes a factor of sin²(πk/8) for each mode k. This factor is not chosen arbitrarily; it is the spectral footprint of a discrete derivative on an 8-tick cycle, meaning it is forced by the mathematics of shifting a pattern one step at a time. Second, the weight includes a normalization factor of 64, which is the product of 8 ticks and 8 spatial vertices in the framework's fundamental cell. This normalization converts a scale-invariant fraction into a per-cell integrated weight, making the measure choice explicit.

The proof of non-negativity is not trivial. It proceeds by showing that the numerator, the denominator, and the scaling factor of the weight's defining ratio are each non-negative. The denominator, which is the total energy of the pattern, is shown to be non-negative by summing non-negative contributions from each mode. The proof then handles the case where the denominator is zero separately, showing the ratio is zero in that case. This establishes the result without any hidden assumptions about the values involved.

What this declaration does not claim is equally important. It does not claim that w8_projected equals the pipeline constant w8_from_eight_tick, which evaluates to approximately 2.49056927545. Proving that equality is a separate, tractable algebraic reduction problem that is tracked as a follow-up theorem. The declaration also does not claim that the projection weight is the only possible weight; it makes the operator and measure choice explicit, but it does not argue that this choice is uniquely forced by the framework's axioms.

THEOREM w8_projected_nonneg · IndisputableMonolith/Constants/GapWeight/Projection.lean
lemma w8_projected_nonneg : 0 ≤ w8_projected := by
  unfold w8_projected
  have hscale : 0 ≤ projectionScale := by simp [projectionScale]
  have hnum : 0 ≤ w8_dft_candidate := le_of_lt w8_dft_candidate_pos
  have hden : 0 ≤ phiDFTEnergyTotal := phiDFTEnergyTotal_nonneg
  -- If total energy is 0, then the ratio is 0 (since numerator is 0 as well). Otherwise nonneg by div_nonneg.
  by_cases hE : phiDFTEnergyTotal = 0
  · simp [hE, hnum, hscale]
  · have hdiv : 0 ≤ w8_dft_candidate / phiDFTEnergyTotal := div_nonneg hnum (le_of_lt (lt_of_le_of_ne' hden hE))
    exact mul_nonneg hscale hdiv
THEOREM diffEnergy8_mode · IndisputableMonolith/Constants/GapWeight/Projection.lean
/-- Discrete difference energy of a DFT mode is the squared magnitude of its shift eigenvalue minus 1.

This is the precise mathematical reason a `sin²(πk/8)` factor appears: it is (up to a fixed factor 4)
the spectrum of the 8-tick discrete derivative/Laplacian. -/
lemma diffEnergy8_mode (k : Fin 8) :
    diffEnergy8 (dft8_mode k) = Complex.normSq (omega8 ^ k.val - 1) := by
  unfold diffEnergy8 diff8
  -- Use that cyclic_shift (mode k) = ω^k • mode k.
  have hshift := dft8_shift_eigenvector k
  -- rewrite the difference pointwise
  have hpoint : ∀ t : Fin 8, cyclic_shift (dft8_mode k) t - dft8_mode k t =
      (omega8 ^ k.val - 1) * dft8_mode k t := by
    intro t
    have ht := congrArg (fun f => f t) hshift
    -- ht : cyclic_shift (dft8_mode k) t = (omega8 ^ k.val) • dft8_mode k t
    simp [Pi.smul_apply, smul_eq_mul] at ht
    -- subtract and factor
    calc
      cyclic_shift (dft8_mode k) t - dft8_mode k t
          = (omega8 ^ k.val) * dft8_mode k t - dft8_mode k t := by simpa [ht]
      _   = (omega8 ^ k.val - 1) * dft8_mode k t := by ring
  -- push through normSq and sum
  have hns : ∀ t : Fin 8, Complex.normSq (cyclic_shift (dft8_mode k) t - dft8_mode k t) =
      Complex.normSq (omega8 ^ k.val - 1) * Complex.normSq (dft8_mode k t) := by
    intro t
    -- use hpoint and normSq_mul
    simp [hpoint t, Complex.normSq_mul]
  simp_rw [hns]
  -- factor out the constant eigenvalue term
  have hfac :
      (∑ t : Fin 8, Complex.normSq (omega8 ^ k.val - 1) * Complex.normSq (dft8_mode k t)) =
        Complex.normSq (omega8 ^ k.val - 1) * (∑ t : Fin 8, Complex.normSq (dft8_mode k t)) := by
    -- `Finset.mul_sum` gives the reverse direction, so we use `.symm`.
    simpa using
      (Finset.mul_sum
        (s := (Finset.univ : Finset (Fin 8)))
        (f := fun t : Fin 8 => Complex.normSq (dft8_mode k t))
        (a := Complex.normSq (omega8 ^ k.val - 1))).symm
  rw [hfac, dft8_mode_normSq_sum]
  ring
THEOREM N_cell_eq · IndisputableMonolith/Constants/GapWeight/Projection.lean
@[simp] theorem N_cell_eq : N_cell = 64 := by
  -- card (Fin 8 × Fin 8) = 8 * 8
  decide
THEOREM w8_projected_nonneg · IndisputableMonolith/Constants/GapWeight/Projection.lean
lemma w8_projected_nonneg : 0 ≤ w8_projected := by
  unfold w8_projected
  have hscale : 0 ≤ projectionScale := by simp [projectionScale]
  have hnum : 0 ≤ w8_dft_candidate := le_of_lt w8_dft_candidate_pos
  have hden : 0 ≤ phiDFTEnergyTotal := phiDFTEnergyTotal_nonneg
  -- If total energy is 0, then the ratio is 0 (since numerator is 0 as well). Otherwise nonneg by div_nonneg.
  by_cases hE : phiDFTEnergyTotal = 0
  · simp [hE, hnum, hscale]
  · have hdiv : 0 ≤ w8_dft_candidate / phiDFTEnergyTotal := div_nonneg hnum (le_of_lt (lt_of_le_of_ne' hden hE))
    exact mul_nonneg hscale hdiv

What this page does not claim

The declaration does not claim that w8_projected equals the pipeline constant w8_from_eight_tick. The declaration does not claim that the projection weight is uniquely forced by the framework's axioms. The declaration does not claim that the projection weight is a measured physical quantity.

Verify this page

Every tagged claim above names its theorem. To check one yourself rather than trust this page, elaborate the source module with Lean 4 and audit its axiom basis:

$ lake env lean IndisputableMonolith/Constants/GapWeight/Projection.lean
expected axiom basis: [propext, Classical.choice, Quot.sound] (the Lean kernel's standard three; no RS-specific axioms)

A page whose claims cannot be reproduced this way does not ship. In production, every anchor links to the exact declaration in the public source release, and this block carries the build receipt for the page itself.

Derived articles

This page is generated by a question-recursion engine: the questions its answers raise become the next pages. The current agenda, with open targets marked red:

MACHINE LAYER · GROUNDED CLAIM TABLE · CLICK TO EXPAND