Encyclopedia Cost Reciprocal Cost
ARTICLE 4 claims 3 theorems 1 model
Reciprocal Cost
Reciprocal cost is the unique mismatch price that treats a ratio and its inverse the same, then combines products by one fixed rule.
Definition
Reciprocal cost is a function F on positive reals that prices mismatch under two structural demands. First, F(x) equals F(1/x): the price of a ratio does not depend on which side is treated as the base. Second, products and quotients combine under a single composition identity. Under those demands, and after one local scale fix at the identity, the only continuous solution is J(x) = (x + 1/x)/2 − 1. That formula is not a decorative choice. It is the object every later ratio in the theory inherits.
In log coordinates the composition identity becomes d'Alembert's functional equation, a classical equation whose even continuous solutions are hyperbolic cosine (up to the scale fix). The reciprocal symmetry is what makes the solution even. The scale fix, written as unit log-curvature at the origin, kills the constant branch and selects cosh. Translating back to the original variable recovers J. The chain that carries this selection is machine-checked under a regularity package; the public anchor is the forcing theorem that concludes F equals J on the positive reals.
What this does not settle is the origin of the scale fix itself. The number that sets curvature to 1 is an input, not a derived constant. Everything downstream that uses J inherits that input. The definition of reciprocal cost therefore has a sharp split: the shape of the function is forced, and the scale that names which cosh solution is chosen remains a model choice until a deeper derivation closes it.
THEOREM IsReciprocalCost · IndisputableMonolith/Cost/FunctionalEquation.lean
/-- **Definition 2.1 (Reciprocal Cost)**
A function F : ℝ₊ → ℝ is a reciprocal cost if F(x) = F(1/x) for all x > 0. -/
def IsReciprocalCost (F : ℝ → ℝ) : Prop :=
∀ x : ℝ, 0 < x → F x = F x⁻¹
THEOREM law_of_logic_forces_jcost · IndisputableMonolith/Cost/FunctionalEquation.lean
/-- **Law of Logic cost theorem**: The J-cost function is the unique
reciprocal cost satisfying the RCL, normalization, calibration, and continuity.
This version uses the global Aczél axiom internally and requires NO regularity
hypothesis parameters from the caller. -/
theorem law_of_logic_forces_jcost (F : ℝ → ℝ)
[AczelSmoothnessPackage]
(hRecip : IsReciprocalCost F)
(hNorm : IsNormalized F)
(hComp : SatisfiesCompositionLaw F)
(hCalib : IsCalibrated F)
(hCont : ContinuousOn F (Set.Ioi 0)) :
∀ x : ℝ, 0 < x → F x = Cost.Jcost x := by
intro x hx
have hSymm : ∀ {y}, 0 < y → F y = F y⁻¹ := fun {y} hy => hRecip y hy
have hCoshAdd : CoshAddIdentity F := composition_law_equiv_coshAdd F |>.mp hComp
let Gf : ℝ → ℝ := G F
let Hf : ℝ → ℝ := H F
have h_G0 : Gf 0 = 0 := G_zero_of_unit F hNorm
have h_H0 : Hf 0 = 1 := by
show H F 0 = 1
simp only [H, G, Real.exp_zero]
rw [hNorm]; ring
have h_G_cont : Continuous Gf := by
have h := ContinuousOn.comp_continuous hCont continuous_exp
have h' : Continuous (fun t => F (Real.exp t)) :=
h (by intro t; exact Set.mem_Ioi.mpr (Real.exp_pos t))
simp [Gf, G] at h'
exact h'
have h_H_cont : Continuous Hf := by
simpa [Hf, H] using h_G_cont.add continuous_const
have h_direct : DirectCoshAdd Gf := CoshAddIdentity_implies_DirectCoshAdd F hCoshAdd
have h_dAlembert : ∀ t u, Hf (t + u) + Hf (t - u) = 2 * Hf t * Hf u := by
intro t u
have hG := h_direct t u
have h_goal : (Gf (t + u) + 1) + (Gf (t - u) + 1) = 2 * (Gf t + 1) * (Gf u + 1) := by
calc (Gf (t + u) + 1) + (Gf (t - u) + 1)
= (Gf (t + u) + Gf (t - u)) + 2 := by ring
_ = (2 * (Gf t * Gf u) + 2 * (Gf t + Gf u)) + 2 := by simp [hG]
_ = 2 * (Gf t + 1) * (Gf u + 1) := by ring
simp [Hf, H, Gf] at h_goal
exact h_goal
have h_H_d2 : deriv (deriv Hf) 0 = 1 := by
have hG_d2 : deriv (deriv Gf) 0 = 1 := by simpa [Gf, G] using hCalib
have hderiv : deriv Hf = deriv Gf := by
funext t; change deriv (fun y => Gf y + 1) t = deriv Gf t
exact (deriv_add_const (f := Gf) (x := t) (c := (1 : ℝ)))
have hderiv2 : deriv (deriv Hf) = deriv (deriv Gf) := congrArg deriv hderiv
exact (congrArg (fun g => g 0) hderiv2).trans hG_d2
have h_H_cosh : ∀ t, Hf t = Real.cosh t :=
dAlembert_cosh_solution_aczel Hf h_H0 h_H_cont h_dAlembert h_H_d2
have h_G_cosh : ∀ t, Gf t = Real.cosh t - 1 := fun t => by
have : Gf t + 1 = Real.cosh t := h_H_cosh t
linarith
have ht : Real.exp (Real.log x) = x := Real.exp_log hx
have hJG : G Cost.Jcost (Real.log x) = Real.cosh (Real.log x) - 1 :=
Jcost_G_eq_cosh_sub_one (Real.log x)
calc F x
= F (Real.exp (Real.log x)) := by rw [ht]
_ = Gf (Real.log x) := rfl
_ = Real.cosh (Real.log x) - 1 := h_G_cosh (Real.log x)
_ = G Cost.Jcost (Real.log x) := by simp only [hJG]
_ = Cost.Jcost (Real.exp (Real.log x)) := by simp [G]
_ = Cost.Jcost x := by simp [ht]
THEOREM composition_logCurvature_forces_jcost · IndisputableMonolith/Cost/FunctionalEquation.lean
/-- **The cost theorem on two premises.** The composition law and unit log
curvature force `F = J` on the positives. Normalization, nonnegativity, and
continuity are all conclusions rather than hypotheses; compare
`law_of_logic_forces_jcost`, which assumes all of them. -/
theorem composition_logCurvature_forces_jcost [AczelSmoothnessPackage]
(F : ℝ → ℝ)
(hComp : SatisfiesCompositionLaw F)
(hκ : HasLogCurvature (H F) 1) :
∀ x : ℝ, 0 < x → F x = Cost.Jcost x := by
have hNorm : IsNormalized F := logCurvature_forces_normalized F hComp hκ
have hN : F 1 = 0 := hNorm
have hH0 : H F 0 = 1 := by simp [H, G, hN]
have hCosh : CoshAddIdentity F := (composition_law_equiv_coshAdd F).mp hComp
have hdA : ∀ t u, H F (t + u) + H F (t - u) = 2 * H F t * H F u := by
intro t u
have hG := hCosh t u
have hgoal :
(G F (t + u) + 1) + (G F (t - u) + 1) =
2 * (G F t + 1) * (G F u + 1) := by
calc
(G F (t + u) + 1) + (G F (t - u) + 1)
= (G F (t + u) + G F (t - u)) + 2 := by ring
_ = (2 * (G F t * G F u) + 2 * (G F t + G F u)) + 2 := by simpa [hG]
_ = 2 * (G F t + 1) * (G F u + 1) := by ring
simpa [H] using hgoal
have hcont : Continuous (H F) :=
dAlembert_continuous_of_log_curvature (H F) hH0 hdA hκ
have hsm : ContDiff ℝ ⊤ (H F) := aczel_dAlembert_smooth (H F) hH0 hcont hdA
have heven : Function.Even (H F) := dAlembert_even (H F) hH0 hdA
have hd0 : deriv (H F) 0 = 0 :=
even_deriv_at_zero (H F) heven
(hsm.differentiable (by decide : (⊤ : WithTop ℕ∞) ≠ 0) 0)
have hd2 : deriv (deriv (H F)) 0 = 1 :=
deriv2_of_logCurvature (H F) hsm hH0 hd0 hκ
have hcosh : ∀ t, H F t = Real.cosh t :=
dAlembert_cosh_solution_aczel (H F) hH0 hcont hdA hd2
intro x hx
have hGc : G F (Real.log x) = Real.cosh (Real.log x) - 1 := by
have h := hcosh (Real.log x)
simp only [H] at h
linarith
have ht : Real.exp (Real.log x) = x := Real.exp_log hx
have hJG : G Cost.Jcost (Real.log x) = Real.cosh (Real.log x) - 1 :=
Jcost_G_eq_cosh_sub_one (Real.log x)
calc
F x = F (Real.exp (Real.log x)) := by rw [ht]
_ = G F (Real.log x) := rfl
_ = Real.cosh (Real.log x) - 1 := hGc
_ = G Cost.Jcost (Real.log x) := by simp only [hJG]
_ = Cost.Jcost (Real.exp (Real.log x)) := by simp [G]
_ = Cost.Jcost x := by simp [ht]
MODEL HasLogCurvature · IndisputableMonolith/Cost/FunctionalEquation.lean
/-- The paper's log curvature `κ(F) = lim_{t→0} 2 F(e^t)/t²`, stated on the
**punctured** filter.
The puncture is not cosmetic. On the full filter `nhds 0` this predicate is
unsatisfiable for every nonzero `κ`: Lean's division is total with `x / 0 = 0`,
so the quotient takes the value `0` at `t = 0`, and convergence along a filter
that contains the point pins the value at the point. The repo carried the
full-filter reading until 2026-07-25, which silently made two results vacuous;
`hasLogCurvature_full_filter_forces_zero` keeps that from recurring quietly. -/
def HasLogCurvature (H : ℝ → ℝ) (κ : ℝ) : Prop :=
Filter.Tendsto (fun t => 2 * (H t - 1) / t^2)
(nhdsWithin (0 : ℝ) ({(0 : ℝ)}ᶜ)) (nhds κ)
What this page does not claim
That the calibration value 1 is forced by reciprocity and composition alone. That every possible combining rule for recognition events is ruled out. That the page names a physical experiment that measures J directly.
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/Cost/FunctionalEquation.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:
- Can unit log-curvature be derived from a deeper structural law, or must it stay an input?
- What physical reading does reciprocal symmetry take on the recognition ledger?
- How does changing the calibration constant reshape later derived constants?
MACHINE LAYER · GROUNDED CLAIM TABLE · CLICK TO EXPAND
- THEOREMReciprocal symmetry means F(x) = F(1/x) for every positive x. IsReciprocalCost · IndisputableMonolith/Cost/FunctionalEquation.lean
- THEOREMUnder reciprocal symmetry, normalization, composition, calibration, and continuity, F equals Jcost on every positive real. law_of_logic_forces_jcost · IndisputableMonolith/Cost/FunctionalEquation.lean
- THEOREMComposition plus unit log-curvature alone force F to equal Jcost on every positive real. composition_logCurvature_forces_jcost · IndisputableMonolith/Cost/FunctionalEquation.lean
- MODELUnit log-curvature at the identity is a calibration input, not itself forced by the composition law alone. HasLogCurvature · IndisputableMonolith/Cost/FunctionalEquation.lean