Encyclopedia Cost Cost Real Character Factorization Doubled Trace D Alembert Of Sans Anchor
ARTICLE 3 claims 3 theorems
Cost Real Character Factorization Doubled Trace D Alembert Of Sans Anchor
A formal theorem shows that a certain cost function obeys a clean multiplication rule, and it does so without needing a key assumption about the value 2.
A trace identity
In mathematics, a trace is a function that assigns a number to an object, often a matrix or an operator, in a way that is invariant under certain transformations. The declaration doubledTrace_dAlembert_of_sansAnchor in the Recognition Science library establishes a specific identity for a trace-like function derived from a cost function. This identity states that for any two nonzero values x and y, the sum of the doubled trace at their product and at their quotient equals the product of the doubled traces at x and y. In symbols, this is T(xy) + T(x/y) = T(x)T(y), where T is the doubled trace.
This identity is notable because it resembles the classical d'Alembert functional equation, which characterizes exponential functions. The theorem proves this identity holds under a set of hypotheses called SansAnchorHypotheses. The key point is that this set does not include the condition that the trace at 2 equals 2, which is called the anchor. The proof uses only the reciprocal composition law (RCL), a fundamental constraint on the cost function. This means the identity is a consequence of the RCL alone, without needing to pin down the value at 2.
In Recognition Science, the cost function measures the cost of recognition events, and the trace is a derived quantity. This theorem is a step in a larger program to factorize the cost function using real characters. The identity it establishes is a structural property that holds for a broad class of cost functions satisfying the basic hypotheses. It is a formal theorem in the machine-checked library of formal theorems, meaning its proof has been verified by a computer.
The theorem does not claim that the trace function is an exponential function in the usual sense. It does not assert that the trace at 2 equals 2, nor does it derive the full form of the cost function. It also does not claim that the identity holds for all possible cost functions, only those satisfying the specified hypotheses. The identity is a necessary condition, not a sufficient one, for the cost function to have a particular form.
THEOREM doubledTrace_dAlembert_of_sansAnchor · IndisputableMonolith/Cost/RealCharacterFactorization.lean
theorem doubledTrace_dAlembert_of_sansAnchor
{F : RatioOrbit → RatioOrbit}
(hF : SansAnchorHypotheses F)
{x y : RatioOrbit} (hx : x.toRat ≠ 0) (hy : y.toRat ≠ 0) :
RatioOrbit.crossEq
(RatioOrbit.add (nativeCostDoubledTrace F (RatioOrbit.mul x y))
(nativeCostDoubledTrace F (div x y)))
(RatioOrbit.mul (nativeCostDoubledTrace F x) (nativeCostDoubledTrace F y)) :=
doubledTrace_dAlembert_of_rcl hF.base_sans_two.canonical_rcl hx hy
THEOREM doubledTrace_dAlembert_of_rcl · IndisputableMonolith/Cost/RealCharacterFactorization.lean
/-- The doubled-trace form of the composition law needs only the RCL. The anchor
at two is not used. -/
theorem doubledTrace_dAlembert_of_rcl
{F : RatioOrbit → RatioOrbit}
(hrcl : ∀ {x y : RatioOrbit}, x.toRat ≠ 0 → y.toRat ≠ 0 →
RatioOrbit.crossEq
(RatioOrbit.add (F (RatioOrbit.mul x y)) (F (div x y)))
(RatioOrbit.add
(RatioOrbit.add
(RatioOrbit.mul two (RatioOrbit.mul (F x) (F y)))
(RatioOrbit.mul two (F x)))
(RatioOrbit.mul two (F y))))
{x y : RatioOrbit} (hx : x.toRat ≠ 0) (hy : y.toRat ≠ 0) :
RatioOrbit.crossEq
(RatioOrbit.add (nativeCostDoubledTrace F (RatioOrbit.mul x y))
(nativeCostDoubledTrace F (div x y)))
(RatioOrbit.mul (nativeCostDoubledTrace F x) (nativeCostDoubledTrace F y)) := by
have h := hrcl hx hy
rw [RatioOrbit.crossEq_iff_toRat_eq] at h ⊢
simp only [nativeCostDoubledTrace, doubledTraceValue, RatioOrbit.mul_toRat,
RatioOrbit.add_toRat, two_toRat, RatioOrbit.one_toRat] at h ⊢
linarith
THEOREM doubledTrace_dAlembert_of_sansAnchor · IndisputableMonolith/Cost/RealCharacterFactorization.lean
theorem doubledTrace_dAlembert_of_sansAnchor
{F : RatioOrbit → RatioOrbit}
(hF : SansAnchorHypotheses F)
{x y : RatioOrbit} (hx : x.toRat ≠ 0) (hy : y.toRat ≠ 0) :
RatioOrbit.crossEq
(RatioOrbit.add (nativeCostDoubledTrace F (RatioOrbit.mul x y))
(nativeCostDoubledTrace F (div x y)))
(RatioOrbit.mul (nativeCostDoubledTrace F x) (nativeCostDoubledTrace F y)) :=
doubledTrace_dAlembert_of_rcl hF.base_sans_two.canonical_rcl hx hy
What this page does not claim
The trace function is an exponential function in the classical sense. The trace at 2 equals 2, which is the anchor condition. The identity holds for all cost functions without any hypotheses.
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/RealCharacterFactorization.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 full form of the cost function that satisfies the reciprocal composition law and the anchor condition?
- How does the doubled trace identity help in factorizing the cost function into real characters?
- What are the SansAnchorHypotheses in detail, and what do they permit?
MACHINE LAYER · GROUNDED CLAIM TABLE · CLICK TO EXPAND
THEOREM doubledTrace_dAlembert_of_sansAnchor · IndisputableMonolith/Cost/RealCharacterFactorization.lean
theorem doubledTrace_dAlembert_of_sansAnchor {F : RatioOrbit → RatioOrbit} (hF : SansAnchorHypotheses F) {x y : RatioOrbit} (hx : x.toRat ≠ 0) (hy : y.toRat ≠ 0) : RatioOrbit.crossEq (RatioOrbit.add (nativeCostDoubledTrace F (RatioOrbit.mul x y)) (nativeCostDoubledTrace F (div x y))) (RatioOrbit.mul (nativeCostDoubledTrace F x) (nativeCostDoubledTrace F y)) := doubledTrace_dAlembert_of_rcl hF.base_sans_two.canonical_rcl hx hyThe doubled trace satisfies the identity T(xy) + T(x/y) = T(x)T(y) for nonzero x and y. doubledTrace_dAlembert_of_sansAnchor · IndisputableMonolith/Cost/RealCharacterFactorization.leanTHEOREM doubledTrace_dAlembert_of_rcl · IndisputableMonolith/Cost/RealCharacterFactorization.lean
/-- The doubled-trace form of the composition law needs only the RCL. The anchor at two is not used. -/ theorem doubledTrace_dAlembert_of_rcl {F : RatioOrbit → RatioOrbit} (hrcl : ∀ {x y : RatioOrbit}, x.toRat ≠ 0 → y.toRat ≠ 0 → RatioOrbit.crossEq (RatioOrbit.add (F (RatioOrbit.mul x y)) (F (div x y))) (RatioOrbit.add (RatioOrbit.add (RatioOrbit.mul two (RatioOrbit.mul (F x) (F y))) (RatioOrbit.mul two (F x))) (RatioOrbit.mul two (F y)))) {x y : RatioOrbit} (hx : x.toRat ≠ 0) (hy : y.toRat ≠ 0) : RatioOrbit.crossEq (RatioOrbit.add (nativeCostDoubledTrace F (RatioOrbit.mul x y)) (nativeCostDoubledTrace F (div x y))) (RatioOrbit.mul (nativeCostDoubledTrace F x) (nativeCostDoubledTrace F y)) := by have h := hrcl hx hy rw [RatioOrbit.crossEq_iff_toRat_eq] at h ⊢ simp only [nativeCostDoubledTrace, doubledTraceValue, RatioOrbit.mul_toRat, RatioOrbit.add_toRat, two_toRat, RatioOrbit.one_toRat] at h ⊢ linarithThis identity holds without using the anchor condition that the trace at 2 equals 2. doubledTrace_dAlembert_of_rcl · IndisputableMonolith/Cost/RealCharacterFactorization.leanTHEOREM doubledTrace_dAlembert_of_sansAnchor · IndisputableMonolith/Cost/RealCharacterFactorization.lean
theorem doubledTrace_dAlembert_of_sansAnchor {F : RatioOrbit → RatioOrbit} (hF : SansAnchorHypotheses F) {x y : RatioOrbit} (hx : x.toRat ≠ 0) (hy : y.toRat ≠ 0) : RatioOrbit.crossEq (RatioOrbit.add (nativeCostDoubledTrace F (RatioOrbit.mul x y)) (nativeCostDoubledTrace F (div x y))) (RatioOrbit.mul (nativeCostDoubledTrace F x) (nativeCostDoubledTrace F y)) := doubledTrace_dAlembert_of_rcl hF.base_sans_two.canonical_rcl hx hyThe identity follows from the reciprocal composition law alone. doubledTrace_dAlembert_of_sansAnchor · IndisputableMonolith/Cost/RealCharacterFactorization.lean