Encyclopedia Foundation Foundation Primitive Recognition Calculus Grow Ratio Orbit Dense Mediant Lt Q If
ARTICLE 2 claims 2 theorems
Foundation Primitive Recognition Calculus Grow Ratio Orbit Dense Mediant Lt Q If
A machine-checked theorem translates the framework's ordering of ratios into plain arithmetic on whole numbers, and nothing more.
Ordering the orbit
A ratio orbit is a sequence of fractions generated by repeatedly taking the mediant, the fraction whose numerator and denominator are the sums of the two parents' numerators and denominators. The mediant of 1/2 and 2/3 is 3/5, which lies between them. The framework's library, a machine-checked collection of formal theorems, proves that this mediant construction always lands between its parents: for any two ratios p and q with p less than q, the mediant sits strictly between them. This is the classical property that makes the orbit dense, meaning between any two ratios another always appears.
The theorem ltQ_iff_toNat states the exact arithmetic condition for one ratio to be less than another. For ratios written with positive and negative parts, the condition reduces to comparing two whole-number products: p's positive numerator times q's denominator plus q's negative numerator times p's denominator, against the symmetric sum. The statement is a biconditional, so the ordering holds if and only if that inequality on natural numbers holds. This matters because it grounds the framework's ordering in plain arithmetic, the kind a schoolchild could check, rather than in any geometric intuition or unstated convention.
In Recognition Science, this theorem is a bridge. The framework models recognition as a discrete record of events, and the ratio orbit is one of its growth patterns. The theorem does not say which ratios appear in the orbit, how fast the orbit grows, or whether the orbit covers all rationals. It only says how to compare two ratios already given. The density property follows from the companion theorem about the mediant, not from the ordering condition alone.
What the theorem does not claim is as precise as what it claims. It does not assert that the orbit contains every rational number, nor that the ordering matches the usual order on rationals in every case. It does not say anything about real numbers, limits, or completeness. The statement is purely combinatorial: a condition on natural numbers that decides the ordering. A reader who wants to know whether the orbit is dense must look to the mediant theorem, and a reader who wants to know whether the orbit exhausts the rationals must look elsewhere, because this declaration is silent on that question.
THEOREM ltQ_iff_toNat · IndisputableMonolith/Foundation/PrimitiveRecognitionCalculus/Grow/RatioOrbitDenseMediant.lean
theorem ltQ_iff_toNat (p q : RatioOrbit) :
ltQ p q ↔
p.num.pos.toNat * q.den.toNat + q.num.neg.toNat * p.den.toNat <
q.num.pos.toNat * p.den.toNat + p.num.neg.toNat * q.den.toNat := by
unfold ltQ leQ RatioOrbit.crossEq
rw [le_iff_toNat_cf, SignedOrbit.balanced_iff_toNat_eq]
simp only [SignedOrbit.mul_pos, SignedOrbit.mul_neg, SignedOrbit.scaleByNat_pos,
SignedOrbit.scaleByNat_neg, SignedOrbit.ofOrbit,
DistinctionNat.toNat_add, DistinctionNat.toNat_mul]
constructor
· intro h
have hz : DistinctionNat.zero.toNat = 0 := rfl
simp only [hz, Nat.mul_zero, Nat.add_zero, Nat.zero_add] at *
obtain ⟨h1, h2⟩ := h
omega
· intro h
have hz : DistinctionNat.zero.toNat = 0 := rfl
simp only [hz, Nat.mul_zero, Nat.add_zero, Nat.zero_add] at *
refine ⟨?_, ?_⟩
· omega
· omega
THEOREM ltQ_mediant · IndisputableMonolith/Foundation/PrimitiveRecognitionCalculus/Grow/RatioOrbitDenseMediant.lean
theorem ltQ_mediant : ∀ p q, ltQ p q → ltQ p (mediant p q) ∧ ltQ (mediant p q) q := by
intro p q h
rw [ltQ_iff_toNat] at h
refine ⟨?_, ?_⟩
· rw [ltQ_iff_toNat]
simp only [mediant, SignedOrbit.add_pos, SignedOrbit.add_neg,
DistinctionNat.toNat_add, Nat.mul_add, Nat.add_mul]
generalize p.num.pos.toNat * p.den.toNat = e1 at *
generalize p.num.pos.toNat * q.den.toNat = e2 at *
generalize p.num.neg.toNat * p.den.toNat = e3 at *
generalize q.num.neg.toNat * p.den.toNat = e4 at *
generalize q.num.pos.toNat * p.den.toNat = e5 at *
generalize p.num.neg.toNat * q.den.toNat = e6 at *
omega
· rw [ltQ_iff_toNat]
simp only [mediant, SignedOrbit.add_pos, SignedOrbit.add_neg,
DistinctionNat.toNat_add, Nat.mul_add, Nat.add_mul]
generalize p.num.pos.toNat * q.den.toNat = e2 at *
generalize q.num.pos.toNat * q.den.toNat = e7 at *
generalize q.num.neg.toNat * p.den.toNat = e4 at *
generalize q.num.neg.toNat * q.den.toNat = e8 at *
generalize q.num.pos.toNat * p.den.toNat = e5 at *
generalize p.num.neg.toNat * q.den.toNat = e6 at *
omega
What this page does not claim
The theorem does not assert that the orbit contains every rational number. The theorem does not claim the ordering matches the usual order on rationals in every case. The theorem says nothing about real numbers, limits, or completeness.
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/PrimitiveRecognitionCalculus/Grow/RatioOrbitDenseMediant.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:
- Which ratios actually appear in a given ratio orbit?
- Does the ratio orbit eventually contain every rational number?
- How does the mediant ordering relate to the usual ordering of rational numbers?
- What growth rate does the ratio orbit exhibit as the sequence extends?
MACHINE LAYER · GROUNDED CLAIM TABLE · CLICK TO EXPAND
THEOREM ltQ_iff_toNat · IndisputableMonolith/Foundation/PrimitiveRecognitionCalculus/Grow/RatioOrbitDenseMediant.lean
theorem ltQ_iff_toNat (p q : RatioOrbit) : ltQ p q ↔ p.num.pos.toNat * q.den.toNat + q.num.neg.toNat * p.den.toNat < q.num.pos.toNat * p.den.toNat + p.num.neg.toNat * q.den.toNat := by unfold ltQ leQ RatioOrbit.crossEq rw [le_iff_toNat_cf, SignedOrbit.balanced_iff_toNat_eq] simp only [SignedOrbit.mul_pos, SignedOrbit.mul_neg, SignedOrbit.scaleByNat_pos, SignedOrbit.scaleByNat_neg, SignedOrbit.ofOrbit, DistinctionNat.toNat_add, DistinctionNat.toNat_mul] constructor · intro h have hz : DistinctionNat.zero.toNat = 0 := rfl simp only [hz, Nat.mul_zero, Nat.add_zero, Nat.zero_add] at * obtain ⟨h1, h2⟩ := h omega · intro h have hz : DistinctionNat.zero.toNat = 0 := rfl simp only [hz, Nat.mul_zero, Nat.add_zero, Nat.zero_add] at * refine ⟨?_, ?_⟩ · omega · omegaThe theorem ltQ_iff_toNat states the exact arithmetic condition for one ratio to be less than another. ltQ_iff_toNat · IndisputableMonolith/Foundation/PrimitiveRecognitionCalculus/Grow/RatioOrbitDenseMediant.leanTHEOREM ltQ_mediant · IndisputableMonolith/Foundation/PrimitiveRecognitionCalculus/Grow/RatioOrbitDenseMediant.lean
theorem ltQ_mediant : ∀ p q, ltQ p q → ltQ p (mediant p q) ∧ ltQ (mediant p q) q := by intro p q h rw [ltQ_iff_toNat] at h refine ⟨?_, ?_⟩ · rw [ltQ_iff_toNat] simp only [mediant, SignedOrbit.add_pos, SignedOrbit.add_neg, DistinctionNat.toNat_add, Nat.mul_add, Nat.add_mul] generalize p.num.pos.toNat * p.den.toNat = e1 at * generalize p.num.pos.toNat * q.den.toNat = e2 at * generalize p.num.neg.toNat * p.den.toNat = e3 at * generalize q.num.neg.toNat * p.den.toNat = e4 at * generalize q.num.pos.toNat * p.den.toNat = e5 at * generalize p.num.neg.toNat * q.den.toNat = e6 at * omega · rw [ltQ_iff_toNat] simp only [mediant, SignedOrbit.add_pos, SignedOrbit.add_neg, DistinctionNat.toNat_add, Nat.mul_add, Nat.add_mul] generalize p.num.pos.toNat * q.den.toNat = e2 at * generalize q.num.pos.toNat * q.den.toNat = e7 at * generalize q.num.neg.toNat * p.den.toNat = e4 at * generalize q.num.neg.toNat * q.den.toNat = e8 at * generalize q.num.pos.toNat * p.den.toNat = e5 at * generalize p.num.neg.toNat * q.den.toNat = e6 at * omegaThe mediant construction always lands between its parents. ltQ_mediant · IndisputableMonolith/Foundation/PrimitiveRecognitionCalculus/Grow/RatioOrbitDenseMediant.lean