Encyclopedia Cost Cost Real Character Factorization Rational Trace Pos Eq Two Of Two Eq Two

ARTICLE 3 claims 3 theorems

Cost Real Character Factorization Rational Trace Pos Eq Two Of Two Eq Two

A machine-checked theorem shows that if a cost function's trace equals two at the number two, it equals two at every positive rational number.

The anchored trace

The rational numbers are the fractions, like 1/2 or 7/3, that sit between the integers. A trace, in this framework, is a real-valued function extracted from a cost function: it measures, in a precise sense, how the cost behaves as you scale its input. The theorem at hand, rationalTrace_pos_eq_two_of_two_eq_two, states a striking rigidity: if the trace of a cost function equals 2 at the input 2, then the trace equals 2 at every positive rational number.

The proof does not require the full set of axioms that define a cost function. It works under a weaker hypothesis called SansAnchorHypotheses, which omits the anchor condition that pins the cost at the number 2. The key ingredient is a doubled-trace form of the composition law, which the library shows holds from the reciprocal-cost law alone. This means the conclusion does not depend on the anchor; it follows from the structural constraints on how costs combine.

In Recognition Science, this theorem is part of a larger factorization program. The library proves a d'Alembert-style equation: the trace of a product plus the trace of a quotient equals the product of the traces. From that equation, together with the value at 2, the theorem forces the trace to be constantly 2 on all positive rationals. This is a stepping stone toward classifying which cost functions are possible, showing that a specific value at one point can determine behavior across an entire dense set.

The theorem does not claim that the trace equals 2 at negative rationals or at zero; those cases are not covered. It also does not establish that any particular cost function exists with this property, only that if one satisfies the hypotheses and has trace 2 at 2, then it has trace 2 everywhere positive. The result is a conditional statement, not an existence proof.

THEOREM rationalTrace_pos_eq_two_of_two_eq_two · IndisputableMonolith/Cost/RealCharacterFactorization.lean
rationalTrace_pos_eq_two_of_two_eq_two · IndisputableMonolith/Cost/RealCharacterFactorization.lean:593
theorem rationalTrace_pos_eq_two_of_two_eq_two
    {F : RatioOrbit → RatioOrbit} (hF : SansAnchorHypotheses F)
    (htwo : rationalTrace F 2 = 2)
    {x : ℚ} (hx : 0 < x) :
    rationalTrace F x = 2 := by
  let a := x.num.toNat
  let b := x.den
  have hnumpos : 0 < x.num := Rat.num_pos.mpr hx
  have hapos : 0 < a := by
    change 0 < x.num.toNat
    omega
  have hbpos : 0 < b := by
    change 0 < x.den
    exact x.pos
  have ha1 : 1 ≤ a := hapos
  have hb1 : 1 ≤ b := hbpos
  have haa : (a : ℚ) ≠ 0 := by exact_mod_cast hapos.ne'
  have hbb : (b : ℚ) ≠ 0 := by exact_mod_cast hbpos.ne'
  have hxrep : (a : ℚ) / (b : ℚ) = x := by
    change ((x.num.toNat : ℕ) : ℚ) / (x.den : ℚ) = x
    have hnum :
        ((x.num.toNat : ℕ) : ℚ) = ((x.num : ℤ) : ℚ) := by
      exact_mod_cast Int.toNat_of_nonneg (le_of_lt hnumpos)
    rw [hnum]
    exact Rat.num_div_den x
  have hd := rationalTrace_dAlembert hF (x := (a : ℚ)) (y := (b : ℚ))
    haa hbb
  have hmulNat : (a : ℚ) * (b : ℚ) = ((a * b : ℕ) : ℚ) := by norm_num
  rw [hmulNat, hxrep, rationalTrace_nat_eq_two_of_two_eq_two hF htwo a ha1,
    rationalTrace_nat_eq_two_of_two_eq_two hF htwo b hb1,
    rationalTrace_nat_eq_two_of_two_eq_two hF htwo (a * b)
      (by exact Nat.mul_pos hapos hbpos)] at hd
  linarith
THEOREM rationalTrace_pos_eq_two_of_two_eq_two · IndisputableMonolith/Cost/RealCharacterFactorization.lean
rationalTrace_pos_eq_two_of_two_eq_two · IndisputableMonolith/Cost/RealCharacterFactorization.lean:593
theorem rationalTrace_pos_eq_two_of_two_eq_two
    {F : RatioOrbit → RatioOrbit} (hF : SansAnchorHypotheses F)
    (htwo : rationalTrace F 2 = 2)
    {x : ℚ} (hx : 0 < x) :
    rationalTrace F x = 2 := by
  let a := x.num.toNat
  let b := x.den
  have hnumpos : 0 < x.num := Rat.num_pos.mpr hx
  have hapos : 0 < a := by
    change 0 < x.num.toNat
    omega
  have hbpos : 0 < b := by
    change 0 < x.den
    exact x.pos
  have ha1 : 1 ≤ a := hapos
  have hb1 : 1 ≤ b := hbpos
  have haa : (a : ℚ) ≠ 0 := by exact_mod_cast hapos.ne'
  have hbb : (b : ℚ) ≠ 0 := by exact_mod_cast hbpos.ne'
  have hxrep : (a : ℚ) / (b : ℚ) = x := by
    change ((x.num.toNat : ℕ) : ℚ) / (x.den : ℚ) = x
    have hnum :
        ((x.num.toNat : ℕ) : ℚ) = ((x.num : ℤ) : ℚ) := by
      exact_mod_cast Int.toNat_of_nonneg (le_of_lt hnumpos)
    rw [hnum]
    exact Rat.num_div_den x
  have hd := rationalTrace_dAlembert hF (x := (a : ℚ)) (y := (b : ℚ))
    haa hbb
  have hmulNat : (a : ℚ) * (b : ℚ) = ((a * b : ℕ) : ℚ) := by norm_num
  rw [hmulNat, hxrep, rationalTrace_nat_eq_two_of_two_eq_two hF htwo a ha1,
    rationalTrace_nat_eq_two_of_two_eq_two hF htwo b hb1,
    rationalTrace_nat_eq_two_of_two_eq_two hF htwo (a * b)
      (by exact Nat.mul_pos hapos hbpos)] at hd
  linarith
THEOREM doubledTrace_dAlembert_of_sansAnchor · IndisputableMonolith/Cost/RealCharacterFactorization.lean
doubledTrace_dAlembert_of_sansAnchor · IndisputableMonolith/Cost/RealCharacterFactorization.lean:110
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 theorem does not assert that any cost function with trace 2 at 2 actually exists. The theorem does not cover the trace at zero or at negative rational numbers. The theorem does not establish uniqueness of the cost function, only a property of its trace.

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:

MACHINE LAYER · GROUNDED CLAIM TABLE · CLICK TO EXPAND