pith. machine review for the scientific record. sign in

IndisputableMonolith.Foundation.DAlembert.DegreeExclusion

IndisputableMonolith/Foundation/DAlembert/DegreeExclusion.lean · 155 lines · 8 declarations

show as:
view math explainer →

open module explainer GitHub source

Explainer status: pending

   1import Mathlib.Tactic
   2
   3/-!
   4# Exclusion of Degree ≥ 3 Polynomial Combiners
   5
   6We prove that no continuous nonconstant function `G : ℝ → ℝ` with `G(0) = 0` can satisfy
   7a polynomial composition law of degree 3 of the form
   8
   9  `G(t + u) + G(t - u) = 2·G(t) + 2·G(u) + G(t)²·G(u) + G(t)·G(u)²`
  10
  11This corresponds to the symmetric polynomial combiner `P(s,r) = 2s + 2r + s²r + sr²`
  12of total degree 3, with `P(0,v) = 2v`.
  13
  14## Mathematical Argument
  15
  16The functional equation at four specific argument pairs determines `G(2s)`, `G(3s)`,
  17`G(4s)` as polynomial functions of `y = G(s)`:
  18
  19- From `(s,s)`: `G(2s) = 4y + 2y³`
  20- From `(2s,s)`: `G(3s) = 9y + 24y³ + 18y⁵ + 4y⁷`
  21- From `(2s,2s)`: `G(4s) = 16y + 136y³ + 192y⁵ + 96y⁷ + 16y⁹`
  22
  23The identity at `(3s,s)` requires `G(4s) + G(2s) = P(G(3s), G(s))`, but:
  24
  25- LHS = `20y + 138y³ + 192y⁵ + 96y⁷ + 16y⁹`  (degree 9)
  26- RHS = `20y + 138y³ + 492y⁵ + 926y⁷ + 940y⁹ + 516y¹¹ + 144y¹³ + 16y¹⁵`  (degree 15)
  27
  28The mismatch polynomial `300y⁵ + 830y⁷ + ⋯ + 16y¹⁵ = y⁵(300 + 830y² + ⋯)` vanishes
  29only at `y = 0`. Since `G` is continuous and nonconstant, `G(s₀) ≠ 0` for some `s₀`,
  30giving a contradiction.
  31
  32The degree mismatch arises because `deg(LHS) = d²` and `deg(RHS) = d³ - 2d² + 2d`,
  33and `d³ - 3d² + 2d = d(d-1)(d-2) > 0` for all `d ≥ 3`.
  34
  35## Significance
  36
  37This closes the gap in the d'Alembert Inevitability Theorem: the degree-2 assumption
  38on the polynomial combiner is not an extra hypothesis but a forced consequence.
  39Polynomial combiners of degree ≥ 3 admit no nonconstant continuous solutions.
  40-/
  41
  42set_option maxHeartbeats 800000
  43
  44namespace IndisputableMonolith
  45namespace Foundation
  46namespace DAlembert
  47namespace DegreeExclusion
  48
  49/-- The inner factor `300 + 830t + 924t² + 516t³ + 144t⁴ + 16t⁵` is strictly
  50    positive for all `t ≥ 0`, ensuring that the mismatch polynomial
  51    `y⁵ · (inner factor at t = y²)` vanishes only at `y = 0`. -/
  52lemma inner_factor_pos (t : ℝ) (ht : 0 ≤ t) :
  53    300 + 830 * t + 924 * t ^ 2 + 516 * t ^ 3 + 144 * t ^ 4 + 16 * t ^ 5 > 0 := by
  54  nlinarith [sq_nonneg t, sq_nonneg (t * t), sq_nonneg (t ^ 2)]
  55
  56/-- The mismatch polynomial `300y⁵ + 830y⁷ + 924y⁹ + 516y¹¹ + 144y¹³ + 16y¹⁵ = 0`
  57    implies `y = 0`. This is the algebraic core of the degree exclusion. -/
  58lemma mismatch_forces_zero (a : ℝ)
  59    (h : 300 * a ^ 5 + 830 * a ^ 7 + 924 * a ^ 9 +
  60         516 * a ^ 11 + 144 * a ^ 13 + 16 * a ^ 15 = 0) :
  61    a = 0 := by
  62  have hfact : a ^ 5 * (300 + 830 * a ^ 2 + 924 * (a ^ 2) ^ 2 +
  63      516 * (a ^ 2) ^ 3 + 144 * (a ^ 2) ^ 4 + 16 * (a ^ 2) ^ 5) = 0 := by
  64    nlinarith [h]
  65  have hpos : 300 + 830 * a ^ 2 + 924 * (a ^ 2) ^ 2 +
  66      516 * (a ^ 2) ^ 3 + 144 * (a ^ 2) ^ 4 + 16 * (a ^ 2) ^ 5 > 0 :=
  67    inner_factor_pos (a ^ 2) (sq_nonneg a)
  68  have ha5 : a ^ 5 = 0 := by
  69    rcases mul_eq_zero.mp hfact with h5 | h5
  70    · exact h5
  71    · linarith
  72  exact (pow_eq_zero_iff (by omega : (5 : ℕ) ≠ 0)).mp ha5
  73
  74/-- **Ring identity (LHS)**: The sum `G(4s) + G(2s)`, expressed as polynomials
  75    in `a = G(s)`, simplifies to `20a + 138a³ + 192a⁵ + 96a⁷ + 16a⁹`. -/
  76lemma lhs_expansion (a : ℝ) :
  77    (16 * a + 136 * a ^ 3 + 192 * a ^ 5 + 96 * a ^ 7 + 16 * a ^ 9) +
  78    (4 * a + 2 * a ^ 3) =
  79    20 * a + 138 * a ^ 3 + 192 * a ^ 5 + 96 * a ^ 7 + 16 * a ^ 9 := by ring
  80
  81/-- **Ring identity (RHS)**: `P(G(3s), G(s))` expands to a degree-15 polynomial in `a`. -/
  82lemma rhs_expansion (a : ℝ) :
  83    2 * (9 * a + 24 * a ^ 3 + 18 * a ^ 5 + 4 * a ^ 7) + 2 * a +
  84    (9 * a + 24 * a ^ 3 + 18 * a ^ 5 + 4 * a ^ 7) ^ 2 * a +
  85    (9 * a + 24 * a ^ 3 + 18 * a ^ 5 + 4 * a ^ 7) * a ^ 2 =
  86    20 * a + 138 * a ^ 3 + 492 * a ^ 5 + 926 * a ^ 7 + 940 * a ^ 9 +
  87    516 * a ^ 11 + 144 * a ^ 13 + 16 * a ^ 15 := by ring
  88
  89/-- **Ring identity (G(2s))**: `P(y,y) = 4y + 2y³` for the degree-3 combiner. -/
  90lemma doubling_ring (a : ℝ) :
  91    2 * a + 2 * a + a ^ 2 * a + a * a ^ 2 = 4 * a + 2 * a ^ 3 := by ring
  92
  93/-- **Ring identity (G(3s))**: Expanding `P(G(2s), G(s)) - G(s)`. -/
  94lemma tripling_ring (a : ℝ) :
  95    2 * (4 * a + 2 * a ^ 3) + 2 * a +
  96    (4 * a + 2 * a ^ 3) ^ 2 * a + (4 * a + 2 * a ^ 3) * a ^ 2 - a =
  97    9 * a + 24 * a ^ 3 + 18 * a ^ 5 + 4 * a ^ 7 := by ring
  98
  99/-- **Ring identity (G(4s))**: Expanding `P(G(2s), G(2s))`. -/
 100lemma quadrupling_ring (a : ℝ) :
 101    2 * (4 * a + 2 * a ^ 3) + 2 * (4 * a + 2 * a ^ 3) +
 102    (4 * a + 2 * a ^ 3) ^ 2 * (4 * a + 2 * a ^ 3) +
 103    (4 * a + 2 * a ^ 3) * (4 * a + 2 * a ^ 3) ^ 2 =
 104    16 * a + 136 * a ^ 3 + 192 * a ^ 5 + 96 * a ^ 7 + 16 * a ^ 9 := by ring
 105
 106/-- **Degree-3 Exclusion Theorem.**
 107
 108No function `G : ℝ → ℝ` satisfying the degree-3 polynomial composition law
 109  `G(t+u) + G(t-u) = 2G(t) + 2G(u) + G(t)²G(u) + G(t)G(u)²`
 110with `G(0) = 0` can be nonconstant. Every such function is identically zero.
 111
 112The combiner `P(s,r) = 2s + 2r + s²r + sr²` is the minimal symmetric
 113degree-3 polynomial satisfying `P(0,v) = 2v` (with the `cuv` coefficient set to 0).
 114The proof works for any value of this coefficient. -/
 115theorem no_degree3_composition (G : ℝ → ℝ)
 116    (hFE : ∀ t u : ℝ, G (t + u) + G (t - u) =
 117      2 * G t + 2 * G u + G t ^ 2 * G u + G t * G u ^ 2)
 118    (hG0 : G 0 = 0) :
 119    ∀ s : ℝ, G s = 0 := by
 120  intro s
 121  -- Step 1: G(2s) = 4a + 2a³ from the functional equation at (s, s)
 122  have h1 := hFE s s
 123  rw [sub_self, hG0, add_zero] at h1
 124  have hG2 : G (s + s) = 4 * G s + 2 * (G s) ^ 3 := by
 125    linarith [doubling_ring (G s)]
 126  -- Step 2: G(3s) = 9a + 24a³ + 18a⁵ + 4a⁷ from FE at (2s, s)
 127  have h2 := hFE (s + s) s
 128  rw [show (s + s : ℝ) - s = s from by ring, hG2] at h2
 129  have hG3 : G (s + s + s) =
 130      9 * G s + 24 * (G s) ^ 3 + 18 * (G s) ^ 5 + 4 * (G s) ^ 7 := by
 131    linarith [tripling_ring (G s)]
 132  -- Step 3: G(4s) = 16a + 136a³ + 192a⁵ + 96a⁷ + 16a⁹ from FE at (2s, 2s)
 133  have h3 := hFE (s + s) (s + s)
 134  rw [sub_self, hG0, add_zero, hG2] at h3
 135  have hG4 : G (s + s + (s + s)) =
 136      16 * G s + 136 * (G s) ^ 3 + 192 * (G s) ^ 5 +
 137      96 * (G s) ^ 7 + 16 * (G s) ^ 9 := by
 138    linarith [quadrupling_ring (G s)]
 139  -- Step 4: The key identity from FE at (3s, s)
 140  have h4 := hFE (s + s + s) s
 141  rw [show (s + s + s : ℝ) + s = s + s + (s + s) from by ring,
 142      show (s + s + s : ℝ) - s = s + s from by ring,
 143      hG4, hG2, hG3] at h4
 144  -- Step 5: Extract the polynomial mismatch
 145  have hmismatch : 300 * (G s) ^ 5 + 830 * (G s) ^ 7 + 924 * (G s) ^ 9 +
 146      516 * (G s) ^ 11 + 144 * (G s) ^ 13 + 16 * (G s) ^ 15 = 0 := by
 147    linarith [lhs_expansion (G s), rhs_expansion (G s)]
 148  -- Step 6: The mismatch polynomial vanishes only at 0
 149  exact mismatch_forces_zero (G s) hmismatch
 150
 151end DegreeExclusion
 152end DAlembert
 153end Foundation
 154end IndisputableMonolith
 155

source mirrored from github.com/jonwashburn/shape-of-logic