Encyclopedia Cost Cost Trace Rational Exponent No Rational Character At Trace Three
ARTICLE 5 claims 5 theorems
Cost Trace Rational Exponent No Rational Character At Trace Three
The number 3 can be written as r + 1/r for a real number r, but no rational r works, and that fact shapes how the framework handles exponents.
A rational trace without a rational character
The equation trace r + 1/r = 3 has real solutions: r = (3 ± √5)/2, numbers built from the square root of five. The framework's declaration no_rational_character_at_trace_three proves the sharper statement that neither solution is rational. The proof is a short arithmetic argument: if r were rational, the equation would force r² − 3r + 1 = 0, and the quadratic formula would give r = (3 ± √5)/2, which would make √5 rational. But no rational number squares to five, because in the prime factorization of a square every exponent is even, while five has an odd exponent. The framework's machine-checked library of formal theorems records this as a proved theorem.
Why does this matter? In the framework's account of recognition (a discrete record of events), a cost function assigns a number to each ratio of two quantities. At the ratio two, the cost takes the perfectly rational value 1/2. One might hope to write that cost as a simple expression involving a rational base raised to a rational exponent, a so-called rational character. The theorem shows this hope fails at trace three: no rational r satisfies r + 1/r = 3, so no rational character can produce that trace. Asking the factorization to produce one asks for something that does not exist. The real witness behind the theorem is that the square of the golden ratio, φ² = (3 + √5)/2, has trace exactly three, but φ² is irrational.
This negative result is not a dead end. The framework uses it to weaken a hypothesis in a larger classification of exponents. A companion theorem shows that if a positive rational exponent c makes the trace 2^c + 2^(−c) rational, then c must be an integer. The theorem at trace three shows why the hypothesis cannot be strengthened to require 2^c itself to be rational: at trace three, even the base r is irrational, so demanding a rational character is too strong. The framework proves that a real number above one with a rational trace and a rational power must itself be rational, which makes the trace formulation tractable. The full exponent step then combines this arithmetic result with the six exponentials theorem, imported as an explicit hypothesis because the ambient library does not carry it.
What the declaration does not claim is just as important. It does not say that trace three is impossible; the golden-ratio square achieves it. It does not say that no real character exists; the real number φ² is a perfectly good character. It does not say anything about exponents beyond the specific trace value three. The theorem is a precise negative statement about rational numbers, and the framework uses it to justify a weaker hypothesis in a larger proof.
THEOREM no_rational_character_at_trace_three · IndisputableMonolith/Cost/TraceRationalExponent.lean
/-- **The demand for a carrier-valued character is too strong.** The trace equation
`r + r⁻¹ = 3` has no rational solution. So a cost whose value at the ratio two is the
perfectly rational `1/2` has no rational character at that ratio, and asking the
factorization to produce one asks for something that does not exist. -/
theorem no_rational_character_at_trace_three : ¬ ∃ r : ℚ, r + r⁻¹ = 3 := by
rintro ⟨r, hr⟩
have hr0 : r ≠ 0 := by
intro h
rw [h] at hr
norm_num at hr
have hquad : r ^ 2 - 3 * r + 1 = 0 := by
field_simp at hr
linarith [hr]
exact no_rational_sqrt_five ⟨2 * r - 3, by nlinarith [hquad]⟩
THEOREM no_rational_sqrt_five · IndisputableMonolith/Cost/TraceRationalExponent.lean
/-- No rational number squares to five. Proved by counting the five-adic valuation:
a square has even valuation and five has valuation one. -/
theorem no_rational_sqrt_five : ¬ ∃ s : ℚ, s ^ 2 = 5 := by
haveI : Fact (Nat.Prime 5) := ⟨by norm_num⟩
rintro ⟨s, hs⟩
have hs0 : s ≠ 0 := by
intro h
rw [h] at hs
norm_num at hs
have h1 : padicValRat 5 (s ^ 2) = (2 : ℕ) * padicValRat 5 s :=
padicValRat.pow hs0
have h2 : padicValRat 5 ((5 : ℕ) : ℚ) = 1 := padicValRat.self (by norm_num)
rw [hs] at h1
norm_num at h2
rw [h2] at h1
omega
THEOREM golden_square_has_trace_three · IndisputableMonolith/Cost/TraceRationalExponent.lean
/-- The real witness behind the previous theorem, recorded so the object is on the page:
the square of the golden ratio has trace exactly three. -/
theorem golden_square_has_trace_three :
((3 + Real.sqrt 5) / 2) + ((3 + Real.sqrt 5) / 2)⁻¹ = 3 := by
have hsq : Real.sqrt 5 ^ 2 = 5 := Real.sq_sqrt (by norm_num)
have hnn : (0 : ℝ) ≤ Real.sqrt 5 := Real.sqrt_nonneg 5
have hne : (3 + Real.sqrt 5) / 2 ≠ 0 := by positivity
field_simp
nlinarith [hsq, hnn]
THEOREM int_of_rat_exponent_of_trace_rat · IndisputableMonolith/Cost/TraceRationalExponent.lean
/-- **A positive rational exponent with a rational trace is an integer.** If `c` is a
positive rational and `2^c + 2^(-c)` is rational, then `c` has denominator one.
Together with the six exponentials theorem, which rules out irrational `c`, this is the
whole exponent step of the gauge classification. Note what it never assumes: `2^c` is
not required to be rational, only its trace, which is exactly the weakening that
`no_rational_character_at_trace_three` shows to be necessary. -/
theorem int_of_rat_exponent_of_trace_rat {c : ℚ} (hc : 0 < c) {t : ℚ}
(ht : (2 : ℝ) ^ (c : ℝ) + ((2 : ℝ) ^ (c : ℝ))⁻¹ = (t : ℝ)) :
c.den = 1 := by
haveI : Fact (Nat.Prime 2) := ⟨Nat.prime_two⟩
have hu1 : 1 < (2 : ℝ) ^ (c : ℝ) := by
have h0 : (2 : ℝ) ^ (0 : ℝ) < (2 : ℝ) ^ (c : ℝ) := by
apply (Real.rpow_lt_rpow_left_iff (by norm_num)).mpr
exact_mod_cast hc
rwa [Real.rpow_zero] at h0
have hnum : 0 < c.num := Rat.num_pos.mpr hc
have hpR : ((c.num.toNat : ℕ) : ℝ) = ((c.num : ℤ) : ℝ) := by
exact_mod_cast congrArg (fun z : ℤ => (z : ℝ)) (Int.toNat_of_nonneg (le_of_lt hnum))
have hcq : (c : ℝ) * ((c.den : ℕ) : ℝ) = ((c.num.toNat : ℕ) : ℝ) := by
rw [hpR]
exact_mod_cast congrArg (fun x : ℚ => (x : ℝ)) (Rat.mul_den_eq_num c)
have hpow : ((2 : ℝ) ^ (c : ℝ)) ^ (c.den) = (((2 : ℚ) ^ (c.num.toNat) : ℚ) : ℝ) := by
rw [← Real.rpow_natCast ((2 : ℝ) ^ (c : ℝ)) c.den, ← Real.rpow_mul (by norm_num), hcq,
Real.rpow_natCast]
push_cast
ring
obtain ⟨r, hr⟩ := rat_of_trace_rat_of_pow_rat hu1 ht c.pos hpow
have hrq : r ^ (c.den) = (2 : ℚ) ^ (c.num.toNat) := by
have h : ((r ^ (c.den) : ℚ) : ℝ) = (((2 : ℚ) ^ (c.num.toNat) : ℚ) : ℝ) := by
rw [← hpow, hr]; push_cast; ring
exact_mod_cast h
have hrne : r ≠ 0 := by
intro h
rw [h, zero_pow (by have := c.pos; omega : c.den ≠ 0)] at hrq
have hp : (0 : ℚ) < (2 : ℚ) ^ (c.num.toNat) := by positivity
rw [← hrq] at hp
exact lt_irrefl _ hp
have hv1 : padicValRat 2 (r ^ (c.den)) = (c.den : ℕ) * padicValRat 2 r :=
padicValRat.pow hrne
have hself : padicValRat 2 ((2 : ℚ)) = 1 := by
have h := padicValRat.self (p := 2) (by norm_num)
norm_num at h
exact h
have hv2 : padicValRat 2 ((2 : ℚ) ^ (c.num.toNat)) = (c.num.toNat : ℕ) * 1 := by
rw [padicValRat.pow (by norm_num : (2 : ℚ) ≠ 0), hself]
rw [hrq, hv2] at hv1
have hdvd : c.den ∣ c.num.toNat := by
have hz : ((c.den : ℕ) : ℤ) ∣ ((c.num.toNat : ℕ) : ℤ) :=
⟨padicValRat 2 r, by push_cast at hv1 ⊢; linarith⟩
exact_mod_cast hz
have hpabs : c.num.toNat = c.num.natAbs := by
have h1 : ((c.num.toNat : ℕ) : ℤ) = c.num := Int.toNat_of_nonneg (le_of_lt hnum)
have h2 : ((c.num.natAbs : ℕ) : ℤ) = c.num := Int.natAbs_of_nonneg (le_of_lt hnum)
omega
have hcop : Nat.gcd c.num.toNat c.den = 1 := by
rw [hpabs]; exact c.reduced
exact Nat.dvd_one.mp (hcop ▸ Nat.dvd_gcd hdvd dvd_rfl)
THEOREM rat_of_trace_rat_of_pow_rat · IndisputableMonolith/Cost/TraceRationalExponent.lean
/-- **A rational trace plus any rational power forces rationality.** If `u > 1` has a
rational trace and some positive power of `u` is rational, then `u` is rational.
This is what makes the trace formulation tractable: a genuinely quadratic unit can never
have a rational power. -/
theorem rat_of_trace_rat_of_pow_rat {u : ℝ} (hu : 1 < u) {t : ℚ}
(ht : u + u⁻¹ = (t : ℝ)) {q : ℕ} (hq : 1 ≤ q) {A : ℚ}
(hA : u ^ q = (A : ℝ)) :
∃ r : ℚ, u = (r : ℝ) := by
obtain ⟨a, b, ha, hb, hab⟩ := pow_eq_coords hu ht q hq
have hbne' : ((b : ℝ)) ≠ 0 := by
simpa using (ne_of_gt hb : b ≠ 0)
have hval : (A : ℝ) = (a : ℝ) + (b : ℝ) * (u - u⁻¹) := by rw [← hA, hab]
have hd : u - u⁻¹ = ((A : ℝ) - (a : ℝ)) / (b : ℝ) := by
rw [eq_div_iff hbne']
linear_combination -hval
refine ⟨(t + (A - a) / b) / 2, ?_⟩
push_cast
rw [← hd, ← ht]
ring
What this page does not claim
Trace three is impossible; the golden-ratio square achieves it. No real character exists; the real number φ² is a perfectly good character. The theorem says anything about exponents beyond the specific trace value three.
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/TraceRationalExponent.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 six exponentials theorem, and why is it imported as a hypothesis rather than proved in the framework's library?
- How does the trace formulation connect to the full gauge classification of cost functions?
- What role does the golden ratio play in the framework's cost structure beyond this trace result?
MACHINE LAYER · GROUNDED CLAIM TABLE · CLICK TO EXPAND
THEOREM no_rational_character_at_trace_three · IndisputableMonolith/Cost/TraceRationalExponent.lean
/-- **The demand for a carrier-valued character is too strong.** The trace equation `r + r⁻¹ = 3` has no rational solution. So a cost whose value at the ratio two is the perfectly rational `1/2` has no rational character at that ratio, and asking the factorization to produce one asks for something that does not exist. -/ theorem no_rational_character_at_trace_three : ¬ ∃ r : ℚ, r + r⁻¹ = 3 := by rintro ⟨r, hr⟩ have hr0 : r ≠ 0 := by intro h rw [h] at hr norm_num at hr have hquad : r ^ 2 - 3 * r + 1 = 0 := by field_simp at hr linarith [hr] exact no_rational_sqrt_five ⟨2 * r - 3, by nlinarith [hquad]⟩The framework's declaration no_rational_character_at_trace_three proves the sharper statement that neither solution is rational. no_rational_character_at_trace_three · IndisputableMonolith/Cost/TraceRationalExponent.leanTHEOREM no_rational_sqrt_five · IndisputableMonolith/Cost/TraceRationalExponent.lean
/-- No rational number squares to five. Proved by counting the five-adic valuation: a square has even valuation and five has valuation one. -/ theorem no_rational_sqrt_five : ¬ ∃ s : ℚ, s ^ 2 = 5 := by haveI : Fact (Nat.Prime 5) := ⟨by norm_num⟩ rintro ⟨s, hs⟩ have hs0 : s ≠ 0 := by intro h rw [h] at hs norm_num at hs have h1 : padicValRat 5 (s ^ 2) = (2 : ℕ) * padicValRat 5 s := padicValRat.pow hs0 have h2 : padicValRat 5 ((5 : ℕ) : ℚ) = 1 := padicValRat.self (by norm_num) rw [hs] at h1 norm_num at h2 rw [h2] at h1 omegaBut no rational number squares to five, because in the prime factorization of a square every exponent is even, while five has an odd exponent. no_rational_sqrt_five · IndisputableMonolith/Cost/TraceRationalExponent.leanTHEOREM golden_square_has_trace_three · IndisputableMonolith/Cost/TraceRationalExponent.lean
/-- The real witness behind the previous theorem, recorded so the object is on the page: the square of the golden ratio has trace exactly three. -/ theorem golden_square_has_trace_three : ((3 + Real.sqrt 5) / 2) + ((3 + Real.sqrt 5) / 2)⁻¹ = 3 := by have hsq : Real.sqrt 5 ^ 2 = 5 := Real.sq_sqrt (by norm_num) have hnn : (0 : ℝ) ≤ Real.sqrt 5 := Real.sqrt_nonneg 5 have hne : (3 + Real.sqrt 5) / 2 ≠ 0 := by positivity field_simp nlinarith [hsq, hnn]The real witness behind the theorem is that the square of the golden ratio, φ² = (3 + √5)/2, has trace exactly three, but φ² is irrational. golden_square_has_trace_three · IndisputableMonolith/Cost/TraceRationalExponent.leanTHEOREM int_of_rat_exponent_of_trace_rat · IndisputableMonolith/Cost/TraceRationalExponent.lean
/-- **A positive rational exponent with a rational trace is an integer.** If `c` is a positive rational and `2^c + 2^(-c)` is rational, then `c` has denominator one. Together with the six exponentials theorem, which rules out irrational `c`, this is the whole exponent step of the gauge classification. Note what it never assumes: `2^c` is not required to be rational, only its trace, which is exactly the weakening that `no_rational_character_at_trace_three` shows to be necessary. -/ theorem int_of_rat_exponent_of_trace_rat {c : ℚ} (hc : 0 < c) {t : ℚ} (ht : (2 : ℝ) ^ (c : ℝ) + ((2 : ℝ) ^ (c : ℝ))⁻¹ = (t : ℝ)) : c.den = 1 := by haveI : Fact (Nat.Prime 2) := ⟨Nat.prime_two⟩ have hu1 : 1 < (2 : ℝ) ^ (c : ℝ) := by have h0 : (2 : ℝ) ^ (0 : ℝ) < (2 : ℝ) ^ (c : ℝ) := by apply (Real.rpow_lt_rpow_left_iff (by norm_num)).mpr exact_mod_cast hc rwa [Real.rpow_zero] at h0 have hnum : 0 < c.num := Rat.num_pos.mpr hc have hpR : ((c.num.toNat : ℕ) : ℝ) = ((c.num : ℤ) : ℝ) := by exact_mod_cast congrArg (fun z : ℤ => (z : ℝ)) (Int.toNat_of_nonneg (le_of_lt hnum)) have hcq : (c : ℝ) * ((c.den : ℕ) : ℝ) = ((c.num.toNat : ℕ) : ℝ) := by rw [hpR] exact_mod_cast congrArg (fun x : ℚ => (x : ℝ)) (Rat.mul_den_eq_num c) have hpow : ((2 : ℝ) ^ (c : ℝ)) ^ (c.den) = (((2 : ℚ) ^ (c.num.toNat) : ℚ) : ℝ) := by rw [← Real.rpow_natCast ((2 : ℝ) ^ (c : ℝ)) c.den, ← Real.rpow_mul (by norm_num), hcq, Real.rpow_natCast] push_cast ring obtain ⟨r, hr⟩ := rat_of_trace_rat_of_pow_rat hu1 ht c.pos hpow have hrq : r ^ (c.den) = (2 : ℚ) ^ (c.num.toNat) := by have h : ((r ^ (c.den) : ℚ) : ℝ) = (((2 : ℚ) ^ (c.num.toNat) : ℚ) : ℝ) := by rw [← hpow, hr]; push_cast; ring exact_mod_cast h have hrne : r ≠ 0 := by intro h rw [h, zero_pow (by have := c.pos; omega : c.den ≠ 0)] at hrq have hp : (0 : ℚ) < (2 : ℚ) ^ (c.num.toNat) := by positivity rw [← hrq] at hp exact lt_irrefl _ hp have hv1 : padicValRat 2 (r ^ (c.den)) = (c.den : ℕ) * padicValRat 2 r := padicValRat.pow hrne have hself : padicValRat 2 ((2 : ℚ)) = 1 := by have h := padicValRat.self (p := 2) (by norm_num) norm_num at h exact h have hv2 : padicValRat 2 ((2 : ℚ) ^ (c.num.toNat)) = (c.num.toNat : ℕ) * 1 := by rw [padicValRat.pow (by norm_num : (2 : ℚ) ≠ 0), hself] rw [hrq, hv2] at hv1 have hdvd : c.den ∣ c.num.toNat := by have hz : ((c.den : ℕ) : ℤ) ∣ ((c.num.toNat : ℕ) : ℤ) := ⟨padicValRat 2 r, by push_cast at hv1 ⊢; linarith⟩ exact_mod_cast hz have hpabs : c.num.toNat = c.num.natAbs := by have h1 : ((c.num.toNat : ℕ) : ℤ) = c.num := Int.toNat_of_nonneg (le_of_lt hnum) have h2 : ((c.num.natAbs : ℕ) : ℤ) = c.num := Int.natAbs_of_nonneg (le_of_lt hnum) omega have hcop : Nat.gcd c.num.toNat c.den = 1 := by rw [hpabs]; exact c.reduced exact Nat.dvd_one.mp (hcop ▸ Nat.dvd_gcd hdvd dvd_rfl)A companion theorem shows that if a positive rational exponent c makes the trace 2^c + 2^(−c) rational, then c must be an integer. int_of_rat_exponent_of_trace_rat · IndisputableMonolith/Cost/TraceRationalExponent.leanTHEOREM rat_of_trace_rat_of_pow_rat · IndisputableMonolith/Cost/TraceRationalExponent.lean
/-- **A rational trace plus any rational power forces rationality.** If `u > 1` has a rational trace and some positive power of `u` is rational, then `u` is rational. This is what makes the trace formulation tractable: a genuinely quadratic unit can never have a rational power. -/ theorem rat_of_trace_rat_of_pow_rat {u : ℝ} (hu : 1 < u) {t : ℚ} (ht : u + u⁻¹ = (t : ℝ)) {q : ℕ} (hq : 1 ≤ q) {A : ℚ} (hA : u ^ q = (A : ℝ)) : ∃ r : ℚ, u = (r : ℝ) := by obtain ⟨a, b, ha, hb, hab⟩ := pow_eq_coords hu ht q hq have hbne' : ((b : ℝ)) ≠ 0 := by simpa using (ne_of_gt hb : b ≠ 0) have hval : (A : ℝ) = (a : ℝ) + (b : ℝ) * (u - u⁻¹) := by rw [← hA, hab] have hd : u - u⁻¹ = ((A : ℝ) - (a : ℝ)) / (b : ℝ) := by rw [eq_div_iff hbne'] linear_combination -hval refine ⟨(t + (A - a) / b) / 2, ?_⟩ push_cast rw [← hd, ← ht] ringThe framework proves that a real number above one with a rational trace and a rational power must itself be rational, which makes the trace formulation tractable. rat_of_trace_rat_of_pow_rat · IndisputableMonolith/Cost/TraceRationalExponent.lean