Encyclopedia Foundation Foundation Dalembert Unconditional J Computes P
ARTICLE 3 claims 3 theorems
Foundation Dalembert Unconditional J Computes P
A single equation pins down how the cost of recognition must combine, with no prior assumption about the rule itself.
A forced composition law
The declaration J_computes_P is a theorem in the framework's machine-checked library of formal theorems. It states that for any two positive numbers x and y, the cost function J satisfies the identity J(xy) + J(x/y) = 2J(x)J(y) + 2J(x) + 2J(y). In plain terms: the cost of a product and the cost of a ratio combine in exactly one way, and that way is forced by the cost function itself.
This matters because the cost function J(x) = (x + 1/x)/2 - 1 is not assumed to have any particular composition rule. The framework starts with five plain conditions: symmetry, zero cost at unity, a forced composition law, calibration, and continuity. The theorem shows that if J satisfies those conditions, then the composition law P(u, v) must equal 2uv + 2u + 2v on the entire first quadrant. There is no room for a different rule, polynomial or otherwise.
The proof works by computing P from J rather than assuming it. Since J is symmetric, normalized, calibrated, and smooth, it is uniquely determined by an ordinary differential equation. Once J is fixed, the composition law is read off directly from the identity. The library also proves that J covers every nonnegative value, so the result holds for all possible cost inputs, not just a special subset.
In Recognition Science, this is the hinge that makes the whole chain of consequences possible. The framework models reality as a ledger, a discrete record of recognition events, and the cost of recognition is forced, not chosen. From this single identity, the framework derives the golden ratio, an eight-tick cycle, and three spatial dimensions. The theorem does not itself prove those later results, but it supplies the algebraic foundation they stand on.
What the declaration does not claim is equally important. It does not say that the five conditions are true of the physical world; that is a modeling choice. It does not say that any particular recognition event has a cost; that is an interpretation. It only says that if the conditions hold, then the composition law is uniquely determined. The theorem is unconditional in the sense that no assumption on P is needed, but it is conditional on the existence of a function F satisfying the five conditions.
The practical upshot is a sharp reduction in freedom. A mathematician might worry that a functional equation admits irregular solutions, but this theorem rules them out by showing P is computed, not free. A reader who accepts the five conditions gets the composition law for free, and with it, the rest of the framework's structure.
THEOREM J_computes_P · IndisputableMonolith/Foundation/DAlembert/Unconditional.lean
/-- The d'Alembert identity for J, rewritten to show P is computed. -/
theorem J_computes_P :
∀ x y : ℝ, 0 < x → 0 < y →
Cost.Jcost (x * y) + Cost.Jcost (x / y) =
2 * Cost.Jcost x * Cost.Jcost y + 2 * Cost.Jcost x + 2 * Cost.Jcost y := by
intro x y hx hy
-- This is the d'Alembert identity in multiplicative form
-- We prove it by converting to log-coordinates and using Jcost_cosh_add_identity
let t := Real.log x
let u := Real.log y
have ht : Real.exp t = x := Real.exp_log hx
have hu : Real.exp u = y := Real.exp_log hy
-- In log coordinates: G(t+u) + G(t-u) = 2*G(t)*G(u) + 2*G(t) + 2*G(u)
have h_cosh := Jcost_cosh_add_identity t u
-- Convert back to multiplicative coordinates
simp only [G] at h_cosh
have h1 : Real.exp (t + u) = x * y := by rw [Real.exp_add, ht, hu]
have h2 : Real.exp (t - u) = x / y := by rw [Real.exp_sub, ht, hu]
rw [h1, h2, ht, hu] at h_cosh
-- Rewrite to match goal form
calc Cost.Jcost (x * y) + Cost.Jcost (x / y)
= 2 * (Cost.Jcost x * Cost.Jcost y) + 2 * (Cost.Jcost x + Cost.Jcost y) := h_cosh
_ = 2 * Cost.Jcost x * Cost.Jcost y + 2 * Cost.Jcost x + 2 * Cost.Jcost y := by ring
THEOREM P_determined_nonneg · IndisputableMonolith/Foundation/DAlembert/Unconditional.lean
/-- Since J is surjective onto [0, ∞), P is determined on [0, ∞)². -/
theorem P_determined_nonneg (P : ℝ → ℝ → ℝ)
(hCons : ∀ x y : ℝ, 0 < x → 0 < y →
Cost.Jcost (x * y) + Cost.Jcost (x / y) = P (Cost.Jcost x) (Cost.Jcost y)) :
∀ u v : ℝ, 0 ≤ u → 0 ≤ v → P u v = 2*u*v + 2*u + 2*v := by
intro u v hu hv
obtain ⟨x, hx_pos, hx_eq⟩ := J_surjective_nonneg u hu
obtain ⟨y, hy_pos, hy_eq⟩ := J_surjective_nonneg v hv
have h := P_determined_on_range P hCons x y hx_pos hy_pos
rw [hx_eq, hy_eq] at h
exact h
THEOREM J_surjective_nonneg · IndisputableMonolith/Foundation/DAlembert/Unconditional.lean
/-- J : (0, ∞) → [0, ∞) is surjective onto [0, ∞). -/
theorem J_surjective_nonneg :
∀ v : ℝ, 0 ≤ v → ∃ x : ℝ, 0 < x ∧ Cost.Jcost x = v := by
intro v hv
-- J(x) = (x + 1/x)/2 - 1
-- J(1) = 0
-- J(x) → ∞ as x → ∞ or x → 0⁺
-- J is continuous on (0, ∞)
-- By IVT, J takes all values in [0, ∞)
-- For v = 0, take x = 1
-- For v > 0, solve (x + 1/x)/2 - 1 = v
-- => x + 1/x = 2v + 2
-- => x² - (2v + 2)x + 1 = 0
-- => x = (2v + 2 + √((2v+2)² - 4)) / 2 = v + 1 + √(v² + 2v)
by_cases hv0 : v = 0
· use 1
constructor
· exact one_pos
· simp [Cost.Jcost, hv0]
· -- v > 0 case
have hv_pos : 0 < v := lt_of_le_of_ne hv (Ne.symm hv0)
let discriminant := (2*v + 2)^2 - 4
have h_disc_pos : 0 < discriminant := by
simp only [discriminant]
have h1 : (2*v + 2)^2 = 4*v^2 + 8*v + 4 := by ring
rw [h1]
have h2 : 4*v^2 + 8*v + 4 - 4 = 4*v^2 + 8*v := by ring
rw [h2]
have h3 : 4*v^2 + 8*v = 4*v*(v + 2) := by ring
rw [h3]
apply mul_pos
· linarith
· linarith
let x := (2*v + 2 + Real.sqrt discriminant) / 2
have hx_pos : 0 < x := by
simp only [x]
apply div_pos
· have h1 : 0 < 2*v + 2 := by linarith
have h2 : 0 ≤ Real.sqrt discriminant := Real.sqrt_nonneg _
linarith
· linarith
use x
constructor
· exact hx_pos
· -- Prove J(x) = v
simp only [Cost.Jcost, x]
-- Need to show: ((2v+2+√disc)/2 + 2/(2v+2+√disc))/2 - 1 = v
-- This is algebraic manipulation
have hx_ne : x ≠ 0 := hx_pos.ne'
have h_quad : x^2 - (2*v + 2)*x + 1 = 0 := by
simp only [x]
have h_sqrt_sq : Real.sqrt discriminant ^ 2 = discriminant :=
Real.sq_sqrt (le_of_lt h_disc_pos)
field_simp
simp only [discriminant] at h_sqrt_sq ⊢
ring_nf
ring_nf at h_sqrt_sq
linarith
-- From quadratic: x + 1/x = 2v + 2
have h_sum : x + x⁻¹ = 2*v + 2 := by
have h1 : x^2 + 1 = (2*v + 2)*x := by linarith [h_quad]
field_simp at h1 ⊢
linarith
calc (x + x⁻¹) / 2 - 1 = (2*v + 2) / 2 - 1 := by rw [h_sum]
_ = v + 1 - 1 := by ring
_ = v := by ring
What this page does not claim
The five conditions are true of the physical world. Any particular recognition event has a cost. The theorem proves the golden ratio or three spatial dimensions by itself.
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/Unconditional.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 are the five plain conditions that force the cost function J?
- How does the composition law lead to the golden ratio and the eight-tick cycle?
- What does it mean for the framework to model reality as a ledger of recognition events?
- Why does the theorem rule out irregular solutions to the functional equation?
MACHINE LAYER · GROUNDED CLAIM TABLE · CLICK TO EXPAND
THEOREM J_computes_P · IndisputableMonolith/Foundation/DAlembert/Unconditional.lean
/-- The d'Alembert identity for J, rewritten to show P is computed. -/ theorem J_computes_P : ∀ x y : ℝ, 0 < x → 0 < y → Cost.Jcost (x * y) + Cost.Jcost (x / y) = 2 * Cost.Jcost x * Cost.Jcost y + 2 * Cost.Jcost x + 2 * Cost.Jcost y := by intro x y hx hy -- This is the d'Alembert identity in multiplicative form -- We prove it by converting to log-coordinates and using Jcost_cosh_add_identity let t := Real.log x let u := Real.log y have ht : Real.exp t = x := Real.exp_log hx have hu : Real.exp u = y := Real.exp_log hy -- In log coordinates: G(t+u) + G(t-u) = 2*G(t)*G(u) + 2*G(t) + 2*G(u) have h_cosh := Jcost_cosh_add_identity t u -- Convert back to multiplicative coordinates simp only [G] at h_cosh have h1 : Real.exp (t + u) = x * y := by rw [Real.exp_add, ht, hu] have h2 : Real.exp (t - u) = x / y := by rw [Real.exp_sub, ht, hu] rw [h1, h2, ht, hu] at h_cosh -- Rewrite to match goal form calc Cost.Jcost (x * y) + Cost.Jcost (x / y) = 2 * (Cost.Jcost x * Cost.Jcost y) + 2 * (Cost.Jcost x + Cost.Jcost y) := h_cosh _ = 2 * Cost.Jcost x * Cost.Jcost y + 2 * Cost.Jcost x + 2 * Cost.Jcost y := by ringThe declaration J_computes_P states that for any two positive numbers x and y, the cost function J satisfies the identity J(xy) + J(x/y) = 2J(x)J(y) + 2J(x) + 2J(y). J_computes_P · IndisputableMonolith/Foundation/DAlembert/Unconditional.leanTHEOREM P_determined_nonneg · IndisputableMonolith/Foundation/DAlembert/Unconditional.lean
/-- Since J is surjective onto [0, ∞), P is determined on [0, ∞)². -/ theorem P_determined_nonneg (P : ℝ → ℝ → ℝ) (hCons : ∀ x y : ℝ, 0 < x → 0 < y → Cost.Jcost (x * y) + Cost.Jcost (x / y) = P (Cost.Jcost x) (Cost.Jcost y)) : ∀ u v : ℝ, 0 ≤ u → 0 ≤ v → P u v = 2*u*v + 2*u + 2*v := by intro u v hu hv obtain ⟨x, hx_pos, hx_eq⟩ := J_surjective_nonneg u hu obtain ⟨y, hy_pos, hy_eq⟩ := J_surjective_nonneg v hv have h := P_determined_on_range P hCons x y hx_pos hy_pos rw [hx_eq, hy_eq] at h exact hThe theorem shows that if J satisfies the five conditions, then the composition law P(u, v) must equal 2uv + 2u + 2v on the entire first quadrant. P_determined_nonneg · IndisputableMonolith/Foundation/DAlembert/Unconditional.leanTHEOREM J_surjective_nonneg · IndisputableMonolith/Foundation/DAlembert/Unconditional.lean
/-- J : (0, ∞) → [0, ∞) is surjective onto [0, ∞). -/ theorem J_surjective_nonneg : ∀ v : ℝ, 0 ≤ v → ∃ x : ℝ, 0 < x ∧ Cost.Jcost x = v := by intro v hv -- J(x) = (x + 1/x)/2 - 1 -- J(1) = 0 -- J(x) → ∞ as x → ∞ or x → 0⁺ -- J is continuous on (0, ∞) -- By IVT, J takes all values in [0, ∞) -- For v = 0, take x = 1 -- For v > 0, solve (x + 1/x)/2 - 1 = v -- => x + 1/x = 2v + 2 -- => x² - (2v + 2)x + 1 = 0 -- => x = (2v + 2 + √((2v+2)² - 4)) / 2 = v + 1 + √(v² + 2v) by_cases hv0 : v = 0 · use 1 constructor · exact one_pos · simp [Cost.Jcost, hv0] · -- v > 0 case have hv_pos : 0 < v := lt_of_le_of_ne hv (Ne.symm hv0) let discriminant := (2*v + 2)^2 - 4 have h_disc_pos : 0 < discriminant := by simp only [discriminant] have h1 : (2*v + 2)^2 = 4*v^2 + 8*v + 4 := by ring rw [h1] have h2 : 4*v^2 + 8*v + 4 - 4 = 4*v^2 + 8*v := by ring rw [h2] have h3 : 4*v^2 + 8*v = 4*v*(v + 2) := by ring rw [h3] apply mul_pos · linarith · linarith let x := (2*v + 2 + Real.sqrt discriminant) / 2 have hx_pos : 0 < x := by simp only [x] apply div_pos · have h1 : 0 < 2*v + 2 := by linarith have h2 : 0 ≤ Real.sqrt discriminant := Real.sqrt_nonneg _ linarith · linarith use x constructor · exact hx_pos · -- Prove J(x) = v simp only [Cost.Jcost, x] -- Need to show: ((2v+2+√disc)/2 + 2/(2v+2+√disc))/2 - 1 = v -- This is algebraic manipulation have hx_ne : x ≠ 0 := hx_pos.ne' have h_quad : x^2 - (2*v + 2)*x + 1 = 0 := by simp only [x] have h_sqrt_sq : Real.sqrt discriminant ^ 2 = discriminant := Real.sq_sqrt (le_of_lt h_disc_pos) field_simp simp only [discriminant] at h_sqrt_sq ⊢ ring_nf ring_nf at h_sqrt_sq linarith -- From quadratic: x + 1/x = 2v + 2 have h_sum : x + x⁻¹ = 2*v + 2 := by have h1 : x^2 + 1 = (2*v + 2)*x := by linarith [h_quad] field_simp at h1 ⊢ linarith calc (x + x⁻¹) / 2 - 1 = (2*v + 2) / 2 - 1 := by rw [h_sum] _ = v + 1 - 1 := by ring _ = v := by ringThe library also proves that J covers every nonnegative value, so the result holds for all possible cost inputs, not just a special subset. J_surjective_nonneg · IndisputableMonolith/Foundation/DAlembert/Unconditional.lean