Residue-class Syracuse descent with a sharp one-bit budget and no parity hypothesis on the target
ProvedCollatzFrontier.syracuse_uniform_descent_of_descentLet be the Syracuse map, . Fix an odd representative and record the exponents stripped along its first steps, , so that
Write for the total number of halvings. Suppose the halvings fit inside the modulus, , and the representative descends, . Then every congruent to modulo satisfies , using the same number of steps — with no parity hypothesis imposed on itself.
Relation to the accepted platform theorem. This strengthens syracuse_uniform_descent (Terras uniformity, by shivm), whose hypotheses additionally include odd, an explicit contraction , and the stronger budget . No contraction hypothesis and no parity hypothesis on are needed.
Boundary example. At , , , , the sum equals : the relaxed budget holds, while the accepted theorem's budget , i.e. , fails. The remaining hypotheses hold (), so this statement gives for every natural directly from this witness, without separately supplying a contraction certificate.
Sharpness. The budget cannot be relaxed any further, not even by one bit. At , , : and , so every hypothesis holds except the budget, since . Lifting to satisfies , yet : the conclusion fails. So is exactly the boundary of validity, not merely a convenient sufficient bound.
Formalization note. As in the accepted theorem, the exponent sequence is supplied as a function together with the hypothesis that it is the sequence of exponents 's own orbit strips; this keeps the statement free of auxiliary definitions.
import Definitions.Def_syracuseStep import Mathlib.Data.Nat.Factorization.Basic import Mathlib.Tactic.Ring import Mathlib.Logic.Function.Iterate import Mathlib.Data.Nat.ModEq import Mathlib.Tactic.Linarith
namespace CollatzFrontier
theorem syracuse_uniform_descent_of_descent (a : ℕ → ℕ) (m m' K t : ℕ)
(hm' : Odd m')
(hcong : m ≡ m' [MOD 2 ^ K])
(hstep : ∀ i < t, 2 ^ (a i) * (syracuseStep^[i + 1] m') = 3 * (syracuseStep^[i] m') + 1)
(hbudget : (∑ i ∈ Finset.range t, a i) ≤ K)
(hdesc : syracuseStep^[t] m' < m')
(hle : m' ≤ m) :
syracuseStep^[t] m < m := by sorry
end CollatzFrontier