Explanation of ode_diagonalization
(1) Plain English
The lemma states that if a real-valued function f is twice continuously differentiable and obeys the linear ODE f''(t) = f(t) for every real t, then the auxiliary functions g(t) = f'(t) - f(t) and h(t) = f'(t) + f(t) each satisfy a first-order ODE: g'(t) = -g(t) and h'(t) = h(t). This splits the original second-order equation into two independent first-order equations whose solutions are immediately recognizable (exponentials with rates ±1).
(2) Why it matters in Recognition Science
This step belongs to the infrastructure used to establish uniqueness of the J-cost function from its functional equation. By diagonalizing the ODE that arises from the d'Alembert-type identity satisfied by the reparametrized cost, the lemma supplies the differential relations needed to conclude that the only solutions compatible with reciprocity and normalization are of the form cosh(t) - 1, which translates back to the explicit formula J(x) = (x + 1/x)/2 - 1.
(3) How to read the formal statement
lemma ode_diagonalization (f : ℝ → ℝ)
(h_diff2 : ContDiff ℝ 2 f)
(h_ode : ∀ t, deriv (deriv f) t = f t) :
(∀ t, deriv (fun s => deriv f s - f s) t = -(deriv f t - f t)) ∧
(∀ t, deriv (fun s => deriv f s + f s) t = deriv f t + f t)
f : ℝ → ℝis the unknown function.ContDiff ℝ 2 fassertsfis C^{2} (twice continuously differentiable).h_odeis the hypothesis that the second derivative equals the function itself.- The conclusion is a conjunction of two universal statements, each asserting that the derivative of one linear combination equals ± that same combination.
(4) Visible dependencies or certificates in the supplied source
The lemma appears verbatim in IndisputableMonolith.Cost.FunctionalEquation. Its proof invokes ContDiff, deriv, differentiable, and deriv_sub/deriv_add from Mathlib, together with the earlier lemmas dAlembert_double, dAlembert_product and dAlembert_diff_square that live in the same file. No sorry appears; the declaration is fully proved. It is placed immediately after the d'Alembert identities and before the zero-solution lemmas deriv_neg_self_zero and deriv_pos_self_zero.
(5) What this declaration does not prove
It assumes the ODE f'' = f rather than deriving it from the original functional equation; it does not establish that the only global solutions are hyperbolic cosines; it does not address boundary conditions, reciprocity symmetry, or normalization that ultimately select the J-cost. Those steps require the surrounding lemmas in the same module and the broader uniqueness argument for the recognition cost.