Encyclopedia Foundation Foundation Ledger To Factorization Free Ledger Combiner Semantics Iff Ledger Lin
ARTICLE 3 claims 3 theorems
Foundation Ledger To Factorization Free Ledger Combiner Semantics Iff Ledger Lin
A machine-checked proof shows that two seemingly different descriptions of how a recognition ledger combines events are actually the same condition.
The equivalence
A ledger, in the Recognition Science framework, is a discrete record of recognition events. The framework asks how two such records combine. One way to describe a combiner is by its free semantics: it obeys a small set of structural rules about how postings add and how the unit behaves. Another way is by its linear response: in its second argument, the combiner behaves like a straight line, so that the effect of posting two amounts equals the sum of the effects of posting each separately.
The declaration freeLedgerCombinerSemantics_iff_ledgerLinearResponse proves that these two descriptions are equivalent. If a combiner satisfies the free semantics, then it necessarily has a linear response in its second argument. Conversely, if a combiner has a linear response, then it satisfies the free semantics. The proof is machine-checked in the framework's library of formal theorems, meaning the equivalence is not a heuristic or a numerical coincidence but a derived logical fact.
This equivalence matters because it connects two levels of description. The free semantics is a set of axioms about how a combiner should behave in the abstract. The linear response is a concrete property that can be checked directly. The theorem says that these are the same thing: there is no gap between the abstract rules and the concrete behavior. This is the bridge that lets the framework move from the ledger to the factorization gate, which is the next step in the forcing chain that leads to the cost function.
What the theorem does not claim is that every combiner has a linear response. It only says that if a combiner satisfies the free semantics, then it does. Nor does it claim that the linear response property alone is enough to force the full cost function; that requires additional conditions such as symmetry and the boundary law. The equivalence is a precise, conditional statement, not a universal law.
THEOREM freeLedgerCombinerSemantics_iff_ledgerLinearResponse · IndisputableMonolith/Foundation/LedgerToFactorization.lean
/-- Completed ledger-linear response is exactly free-ledger posting semantics
plus continuity. -/
theorem freeLedgerCombinerSemantics_iff_ledgerLinearResponse (P : ℝ → ℝ → ℝ) :
FreeLedgerCombinerSemantics P ↔ LedgerLinearResponse P := by
constructor
· exact ledgerLinearResponse_from_free_ledger P
· intro h
refine {
symmetric := h.symmetric
zeroBoundary := h.zeroBoundary
unitDiagonal := h.unitDiagonal
rightPostedAdditive := ?_
rightContinuous := ?_
free_ledger_additivity := h.free_ledger_additivity
}
· intro u v w
rw [h.rightResponse u (v + w), h.rightResponse u v, h.rightResponse u w]
ring
· intro u
have hfun :
(fun v => P u v) =
fun v => (P u 1 - P u 0) * v + P u 0 := by
funext v
exact h.rightResponse u v
rw [hfun]
exact (continuous_const.mul continuous_id).add continuous_const
THEOREM ledgerLinearResponse_from_free_ledger · IndisputableMonolith/Foundation/LedgerToFactorization.lean
/-- Continuous additive posting response is linear over `ℝ`, so free-ledger
semantics supplies the exact `LedgerLinearResponse` bridge. -/
theorem ledgerLinearResponse_from_free_ledger
(P : ℝ → ℝ → ℝ) (h : FreeLedgerCombinerSemantics P) :
LedgerLinearResponse P := by
refine {
symmetric := h.symmetric
zeroBoundary := h.zeroBoundary
unitDiagonal := h.unitDiagonal
rightResponse := ?_
free_ledger_additivity := h.free_ledger_additivity
}
intro u v
let response : ℝ →+ ℝ := {
toFun := fun t => P u t - P u 0
map_zero' := by ring
map_add' := by
intro a b
exact h.rightPostedAdditive u a b
}
have hresponse_cont : Continuous response := by
change Continuous fun t => P u t - P u 0
exact (h.rightContinuous u).sub continuous_const
let linearResponse : ℝ →L[ℝ] ℝ :=
AddMonoidHom.toRealLinearMap response hresponse_cont
have hlinear :
response v = v * response 1 := by
have hsmul := linearResponse.map_smul v 1
change response (v * 1) = v * response 1 at hsmul
simpa using hsmul
change P u v = (P u 1 - P u 0) * v + P u 0
have hcomm : v * (P u 1 - P u 0) = (P u 1 - P u 0) * v := by ring
have hsub : P u v - P u 0 = (P u 1 - P u 0) * v := by
simpa [response, hcomm] using hlinear
linarith
THEOREM freeLedgerCombinerSemantics_iff_ledgerLinearResponse · IndisputableMonolith/Foundation/LedgerToFactorization.lean
/-- Completed ledger-linear response is exactly free-ledger posting semantics
plus continuity. -/
theorem freeLedgerCombinerSemantics_iff_ledgerLinearResponse (P : ℝ → ℝ → ℝ) :
FreeLedgerCombinerSemantics P ↔ LedgerLinearResponse P := by
constructor
· exact ledgerLinearResponse_from_free_ledger P
· intro h
refine {
symmetric := h.symmetric
zeroBoundary := h.zeroBoundary
unitDiagonal := h.unitDiagonal
rightPostedAdditive := ?_
rightContinuous := ?_
free_ledger_additivity := h.free_ledger_additivity
}
· intro u v w
rw [h.rightResponse u (v + w), h.rightResponse u v, h.rightResponse u w]
ring
· intro u
have hfun :
(fun v => P u v) =
fun v => (P u 1 - P u 0) * v + P u 0 := by
funext v
exact h.rightResponse u v
rw [hfun]
exact (continuous_const.mul continuous_id).add continuous_const
What this page does not claim
This theorem does not claim that every combiner has a linear response. This theorem does not claim that linear response alone forces the full cost function. This theorem does not claim that the free semantics is the only way to characterize a combiner.
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/LedgerToFactorization.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 additional conditions beyond linear response are needed to force the full cost function?
- How does the factorization gate use the linear response property to derive the RCL polynomial?
- What is the relationship between the free ledger semantics and the primitive ledger posting semantics?
- How does this bridge fit into the larger forcing chain from the ledger to the cost function?
MACHINE LAYER · GROUNDED CLAIM TABLE · CLICK TO EXPAND
THEOREM freeLedgerCombinerSemantics_iff_ledgerLinearResponse · IndisputableMonolith/Foundation/LedgerToFactorization.lean
/-- Completed ledger-linear response is exactly free-ledger posting semantics plus continuity. -/ theorem freeLedgerCombinerSemantics_iff_ledgerLinearResponse (P : ℝ → ℝ → ℝ) : FreeLedgerCombinerSemantics P ↔ LedgerLinearResponse P := by constructor · exact ledgerLinearResponse_from_free_ledger P · intro h refine { symmetric := h.symmetric zeroBoundary := h.zeroBoundary unitDiagonal := h.unitDiagonal rightPostedAdditive := ?_ rightContinuous := ?_ free_ledger_additivity := h.free_ledger_additivity } · intro u v w rw [h.rightResponse u (v + w), h.rightResponse u v, h.rightResponse u w] ring · intro u have hfun : (fun v => P u v) = fun v => (P u 1 - P u 0) * v + P u 0 := by funext v exact h.rightResponse u v rw [hfun] exact (continuous_const.mul continuous_id).add continuous_constThe declaration freeLedgerCombinerSemantics_iff_ledgerLinearResponse proves that the free ledger combiner semantics and the ledger linear response property are equivalent. freeLedgerCombinerSemantics_iff_ledgerLinearResponse · IndisputableMonolith/Foundation/LedgerToFactorization.leanTHEOREM ledgerLinearResponse_from_free_ledger · IndisputableMonolith/Foundation/LedgerToFactorization.lean
/-- Continuous additive posting response is linear over `ℝ`, so free-ledger semantics supplies the exact `LedgerLinearResponse` bridge. -/ theorem ledgerLinearResponse_from_free_ledger (P : ℝ → ℝ → ℝ) (h : FreeLedgerCombinerSemantics P) : LedgerLinearResponse P := by refine { symmetric := h.symmetric zeroBoundary := h.zeroBoundary unitDiagonal := h.unitDiagonal rightResponse := ?_ free_ledger_additivity := h.free_ledger_additivity } intro u v let response : ℝ →+ ℝ := { toFun := fun t => P u t - P u 0 map_zero' := by ring map_add' := by intro a b exact h.rightPostedAdditive u a b } have hresponse_cont : Continuous response := by change Continuous fun t => P u t - P u 0 exact (h.rightContinuous u).sub continuous_const let linearResponse : ℝ →L[ℝ] ℝ := AddMonoidHom.toRealLinearMap response hresponse_cont have hlinear : response v = v * response 1 := by have hsmul := linearResponse.map_smul v 1 change response (v * 1) = v * response 1 at hsmul simpa using hsmul change P u v = (P u 1 - P u 0) * v + P u 0 have hcomm : v * (P u 1 - P u 0) = (P u 1 - P u 0) * v := by ring have hsub : P u v - P u 0 = (P u 1 - P u 0) * v := by simpa [response, hcomm] using hlinear linarithIf a combiner satisfies the free semantics, then it necessarily has a linear response in its second argument. ledgerLinearResponse_from_free_ledger · IndisputableMonolith/Foundation/LedgerToFactorization.leanTHEOREM freeLedgerCombinerSemantics_iff_ledgerLinearResponse · IndisputableMonolith/Foundation/LedgerToFactorization.lean
/-- Completed ledger-linear response is exactly free-ledger posting semantics plus continuity. -/ theorem freeLedgerCombinerSemantics_iff_ledgerLinearResponse (P : ℝ → ℝ → ℝ) : FreeLedgerCombinerSemantics P ↔ LedgerLinearResponse P := by constructor · exact ledgerLinearResponse_from_free_ledger P · intro h refine { symmetric := h.symmetric zeroBoundary := h.zeroBoundary unitDiagonal := h.unitDiagonal rightPostedAdditive := ?_ rightContinuous := ?_ free_ledger_additivity := h.free_ledger_additivity } · intro u v w rw [h.rightResponse u (v + w), h.rightResponse u v, h.rightResponse u w] ring · intro u have hfun : (fun v => P u v) = fun v => (P u 1 - P u 0) * v + P u 0 := by funext v exact h.rightResponse u v rw [hfun] exact (continuous_const.mul continuous_id).add continuous_constThe equivalence is machine-checked in the framework's library of formal theorems. freeLedgerCombinerSemantics_iff_ledgerLinearResponse · IndisputableMonolith/Foundation/LedgerToFactorization.lean