Encyclopedia Foundation Foundation Dalembert Degree Exclusion Doubling Ring
ARTICLE 3 claims 3 theorems
Foundation Dalembert Degree Exclusion Doubling Ring
A single algebraic identity, doubling_ring, is the first step in a proof that no continuous, nonconstant function can satisfy a degree-3 composition law.
The doubling identity
The declaration doubling_ring is a small algebraic identity used inside a larger proof. It states that for any real number a, the expression 2a + 2a + a²a + aa² simplifies to 4a + 2a³. This is a purely computational fact, verified by expanding and collecting like terms. It is not a statement about any particular function; it is a relationship between polynomial expressions that holds for every real number.
The identity appears in the proof of a theorem about functions G that satisfy a certain composition law. The law, for all real t and u, is G(t+u) + G(t−u) = 2G(t) + 2G(u) + G(t)²G(u) + G(t)G(u)². This is a degree-3 polynomial composition law, meaning the right side contains products of up to three copies of G(t) or G(u). The theorem proves that no continuous, nonconstant function G with G(0) = 0 can satisfy this law. The proof works by using the law at specific pairs of arguments to derive polynomial expressions for G(2s), G(3s), and G(4s) in terms of a = G(s). The doubling_ring identity is the step that computes G(2s) from the law applied to (s, s).
The role of doubling_ring is purely computational. It is one of several ring identities, along with tripling_ring and quadrupling_ring, that expand the right side of the composition law at different argument pairs. These identities are proved by the ring tactic, which automates polynomial simplification. They are not deep mathematical statements; they are the algebraic groundwork that makes the later contradiction possible.
The contradiction itself comes from comparing the degrees of two expressions. Applying the law at (3s, s) gives an identity that must hold. The left side, G(4s) + G(2s), expands to a polynomial of degree 9 in a. The right side, P(G(3s), G(s)), expands to a polynomial of degree 15. The difference is a polynomial 300a⁵ + 830a⁷ + ... + 16a¹⁵, which vanishes only when a = 0. Since G is continuous and nonconstant, there is some s₀ with G(s₀) ≠ 0, giving a contradiction. The degree mismatch arises because the left side has degree d² while the right side has degree d³ − 2d² + 2d, and these differ for all d ≥ 3.
The doubling_ring identity itself claims nothing about the existence or nonexistence of functions. It does not assert that no degree-3 composition law has solutions; that is the theorem no_degree3_composition. It does not involve continuity, which is used later in the proof. It is simply a polynomial identity that holds for all real numbers, and its role is to enable the computation of G(2s) in terms of G(s). Understanding doubling_ring means seeing it as one small, verified step in a chain of algebraic manipulations that leads to a significant exclusion result.
THEOREM doubling_ring · IndisputableMonolith/Foundation/DAlembert/DegreeExclusion.lean
/-- **Ring identity (G(2s))**: `P(y,y) = 4y + 2y³` for the degree-3 combiner. -/
lemma doubling_ring (a : ℝ) :
2 * a + 2 * a + a ^ 2 * a + a * a ^ 2 = 4 * a + 2 * a ^ 3 := by ring
THEOREM no_degree3_composition · IndisputableMonolith/Foundation/DAlembert/DegreeExclusion.lean
/-- **Degree-3 Exclusion Theorem.**
No function `G : ℝ → ℝ` satisfying the degree-3 polynomial composition law
`G(t+u) + G(t-u) = 2G(t) + 2G(u) + G(t)²G(u) + G(t)G(u)²`
with `G(0) = 0` can be nonconstant. Every such function is identically zero.
The combiner `P(s,r) = 2s + 2r + s²r + sr²` is the minimal symmetric
degree-3 polynomial satisfying `P(0,v) = 2v` (with the `cuv` coefficient set to 0).
The proof works for any value of this coefficient. -/
theorem no_degree3_composition (G : ℝ → ℝ)
(hFE : ∀ t u : ℝ, G (t + u) + G (t - u) =
2 * G t + 2 * G u + G t ^ 2 * G u + G t * G u ^ 2)
(hG0 : G 0 = 0) :
∀ s : ℝ, G s = 0 := by
intro s
-- Step 1: G(2s) = 4a + 2a³ from the functional equation at (s, s)
have h1 := hFE s s
rw [sub_self, hG0, add_zero] at h1
have hG2 : G (s + s) = 4 * G s + 2 * (G s) ^ 3 := by
linarith [doubling_ring (G s)]
-- Step 2: G(3s) = 9a + 24a³ + 18a⁵ + 4a⁷ from FE at (2s, s)
have h2 := hFE (s + s) s
rw [show (s + s : ℝ) - s = s from by ring, hG2] at h2
have hG3 : G (s + s + s) =
9 * G s + 24 * (G s) ^ 3 + 18 * (G s) ^ 5 + 4 * (G s) ^ 7 := by
linarith [tripling_ring (G s)]
-- Step 3: G(4s) = 16a + 136a³ + 192a⁵ + 96a⁷ + 16a⁹ from FE at (2s, 2s)
have h3 := hFE (s + s) (s + s)
rw [sub_self, hG0, add_zero, hG2] at h3
have hG4 : G (s + s + (s + s)) =
16 * G s + 136 * (G s) ^ 3 + 192 * (G s) ^ 5 +
96 * (G s) ^ 7 + 16 * (G s) ^ 9 := by
linarith [quadrupling_ring (G s)]
-- Step 4: The key identity from FE at (3s, s)
have h4 := hFE (s + s + s) s
rw [show (s + s + s : ℝ) + s = s + s + (s + s) from by ring,
show (s + s + s : ℝ) - s = s + s from by ring,
hG4, hG2, hG3] at h4
-- Step 5: Extract the polynomial mismatch
have hmismatch : 300 * (G s) ^ 5 + 830 * (G s) ^ 7 + 924 * (G s) ^ 9 +
516 * (G s) ^ 11 + 144 * (G s) ^ 13 + 16 * (G s) ^ 15 = 0 := by
linarith [lhs_expansion (G s), rhs_expansion (G s)]
-- Step 6: The mismatch polynomial vanishes only at 0
exact mismatch_forces_zero (G s) hmismatch
THEOREM mismatch_forces_zero · IndisputableMonolith/Foundation/DAlembert/DegreeExclusion.lean
/-- The mismatch polynomial `300y⁵ + 830y⁷ + 924y⁹ + 516y¹¹ + 144y¹³ + 16y¹⁵ = 0`
implies `y = 0`. This is the algebraic core of the degree exclusion. -/
lemma mismatch_forces_zero (a : ℝ)
(h : 300 * a ^ 5 + 830 * a ^ 7 + 924 * a ^ 9 +
516 * a ^ 11 + 144 * a ^ 13 + 16 * a ^ 15 = 0) :
a = 0 := by
have hfact : a ^ 5 * (300 + 830 * a ^ 2 + 924 * (a ^ 2) ^ 2 +
516 * (a ^ 2) ^ 3 + 144 * (a ^ 2) ^ 4 + 16 * (a ^ 2) ^ 5) = 0 := by
nlinarith [h]
have hpos : 300 + 830 * a ^ 2 + 924 * (a ^ 2) ^ 2 +
516 * (a ^ 2) ^ 3 + 144 * (a ^ 2) ^ 4 + 16 * (a ^ 2) ^ 5 > 0 :=
inner_factor_pos (a ^ 2) (sq_nonneg a)
have ha5 : a ^ 5 = 0 := by
rcases mul_eq_zero.mp hfact with h5 | h5
· exact h5
· linarith
exact (pow_eq_zero_iff (by omega : (5 : ℕ) ≠ 0)).mp ha5
What this page does not claim
The doubling_ring identity alone does not prove the exclusion theorem; it is one computational step within the larger proof. The theorem does not apply to functions that are discontinuous or that do not satisfy G(0) = 0. The exclusion result does not say anything about the existence of solutions to degree-2 composition laws.
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/Foundation/DAlembert/DegreeExclusion.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:
- What is the d'Alembert Inevitability Theorem, and how does the degree exclusion close a gap in it?
- How does the degree-3 exclusion generalize to higher-degree polynomial combiners?
- What role does the composition law play in the Recognition Science framework?
MACHINE LAYER · GROUNDED CLAIM TABLE · CLICK TO EXPAND
THEOREM doubling_ring · IndisputableMonolith/Foundation/DAlembert/DegreeExclusion.lean
/-- **Ring identity (G(2s))**: `P(y,y) = 4y + 2y³` for the degree-3 combiner. -/ lemma doubling_ring (a : ℝ) : 2 * a + 2 * a + a ^ 2 * a + a * a ^ 2 = 4 * a + 2 * a ^ 3 := by ringThe declaration doubling_ring states that for any real number a, the expression 2a + 2a + a²a + aa² simplifies to 4a + 2a³. doubling_ring · IndisputableMonolith/Foundation/DAlembert/DegreeExclusion.leanTHEOREM no_degree3_composition · IndisputableMonolith/Foundation/DAlembert/DegreeExclusion.lean
/-- **Degree-3 Exclusion Theorem.** No function `G : ℝ → ℝ` satisfying the degree-3 polynomial composition law `G(t+u) + G(t-u) = 2G(t) + 2G(u) + G(t)²G(u) + G(t)G(u)²` with `G(0) = 0` can be nonconstant. Every such function is identically zero. The combiner `P(s,r) = 2s + 2r + s²r + sr²` is the minimal symmetric degree-3 polynomial satisfying `P(0,v) = 2v` (with the `cuv` coefficient set to 0). The proof works for any value of this coefficient. -/ theorem no_degree3_composition (G : ℝ → ℝ) (hFE : ∀ t u : ℝ, G (t + u) + G (t - u) = 2 * G t + 2 * G u + G t ^ 2 * G u + G t * G u ^ 2) (hG0 : G 0 = 0) : ∀ s : ℝ, G s = 0 := by intro s -- Step 1: G(2s) = 4a + 2a³ from the functional equation at (s, s) have h1 := hFE s s rw [sub_self, hG0, add_zero] at h1 have hG2 : G (s + s) = 4 * G s + 2 * (G s) ^ 3 := by linarith [doubling_ring (G s)] -- Step 2: G(3s) = 9a + 24a³ + 18a⁵ + 4a⁷ from FE at (2s, s) have h2 := hFE (s + s) s rw [show (s + s : ℝ) - s = s from by ring, hG2] at h2 have hG3 : G (s + s + s) = 9 * G s + 24 * (G s) ^ 3 + 18 * (G s) ^ 5 + 4 * (G s) ^ 7 := by linarith [tripling_ring (G s)] -- Step 3: G(4s) = 16a + 136a³ + 192a⁵ + 96a⁷ + 16a⁹ from FE at (2s, 2s) have h3 := hFE (s + s) (s + s) rw [sub_self, hG0, add_zero, hG2] at h3 have hG4 : G (s + s + (s + s)) = 16 * G s + 136 * (G s) ^ 3 + 192 * (G s) ^ 5 + 96 * (G s) ^ 7 + 16 * (G s) ^ 9 := by linarith [quadrupling_ring (G s)] -- Step 4: The key identity from FE at (3s, s) have h4 := hFE (s + s + s) s rw [show (s + s + s : ℝ) + s = s + s + (s + s) from by ring, show (s + s + s : ℝ) - s = s + s from by ring, hG4, hG2, hG3] at h4 -- Step 5: Extract the polynomial mismatch have hmismatch : 300 * (G s) ^ 5 + 830 * (G s) ^ 7 + 924 * (G s) ^ 9 + 516 * (G s) ^ 11 + 144 * (G s) ^ 13 + 16 * (G s) ^ 15 = 0 := by linarith [lhs_expansion (G s), rhs_expansion (G s)] -- Step 6: The mismatch polynomial vanishes only at 0 exact mismatch_forces_zero (G s) hmismatchThe theorem proves that no continuous, nonconstant function G with G(0) = 0 can satisfy the degree-3 polynomial composition law. no_degree3_composition · IndisputableMonolith/Foundation/DAlembert/DegreeExclusion.leanTHEOREM mismatch_forces_zero · IndisputableMonolith/Foundation/DAlembert/DegreeExclusion.lean
/-- The mismatch polynomial `300y⁵ + 830y⁷ + 924y⁹ + 516y¹¹ + 144y¹³ + 16y¹⁵ = 0` implies `y = 0`. This is the algebraic core of the degree exclusion. -/ lemma mismatch_forces_zero (a : ℝ) (h : 300 * a ^ 5 + 830 * a ^ 7 + 924 * a ^ 9 + 516 * a ^ 11 + 144 * a ^ 13 + 16 * a ^ 15 = 0) : a = 0 := by have hfact : a ^ 5 * (300 + 830 * a ^ 2 + 924 * (a ^ 2) ^ 2 + 516 * (a ^ 2) ^ 3 + 144 * (a ^ 2) ^ 4 + 16 * (a ^ 2) ^ 5) = 0 := by nlinarith [h] have hpos : 300 + 830 * a ^ 2 + 924 * (a ^ 2) ^ 2 + 516 * (a ^ 2) ^ 3 + 144 * (a ^ 2) ^ 4 + 16 * (a ^ 2) ^ 5 > 0 := inner_factor_pos (a ^ 2) (sq_nonneg a) have ha5 : a ^ 5 = 0 := by rcases mul_eq_zero.mp hfact with h5 | h5 · exact h5 · linarith exact (pow_eq_zero_iff (by omega : (5 : ℕ) ≠ 0)).mp ha5The mismatch polynomial 300a⁵ + 830a⁷ + ... + 16a¹⁵ vanishes only when a = 0. mismatch_forces_zero · IndisputableMonolith/Foundation/DAlembert/DegreeExclusion.lean