Encyclopedia Foundation Foundation Primitive Recognition Calculus Orbit Euclidean Coprime Divides Of Div
ARTICLE 3 claims 3 theorems
Foundation Primitive Recognition Calculus Orbit Euclidean Coprime Divides Of Div
A small number-theory lemma about coprime numbers, proved inside the framework's machine-checked library, and what it does and does not say.
A divisibility lemma
The declaration coprime_divides_of_divides_mul_left is a formal theorem about divisibility of natural numbers. Its statement is a classical fact from elementary number theory: if a number a divides a product b times c, and b is coprime to a (they share no common factor other than 1), then a must divide c. This is a standard cancellation law for divisibility, often proved in textbooks as a corollary of Bézout's identity or the fundamental theorem of arithmetic. The theorem is stated for the framework's own type DistinctionNat, which models natural numbers as a discrete record of recognition events, but the underlying arithmetic content is exactly the familiar fact about ordinary natural numbers.
The proof in the machine-checked library of formal theorems proceeds by translating the statement about DistinctionNat into a statement about the standard natural numbers, using the theorem coprime_iff_nat_coprime which says that coprimality in DistinctionNat is equivalent to coprimality in Nat. The library then invokes the corresponding lemma for natural numbers, Nat.Coprime.dvd_of_dvd_mul_left. This is a routine reduction: the framework's custom type is shown to behave exactly like the natural numbers for this divisibility property, so the proof is a direct translation rather than a new mathematical idea.
In Recognition Science, the theorem appears in a module about orbit Euclidean certificates, which are structures that certify that the framework's arithmetic on orbits satisfies Euclidean properties. The theorem is one of several lemmas used to show that the framework's ratio normalization, which reduces a ratio to lowest terms, produces coprime numerator and denominator. The declaration normalizeRatio_coprime states this normalization result, and coprime_divides_of_divides_mul_left is a supporting lemma in that development. The framework models ratios as orbits of recognition events, and this lemma helps establish that the normalization process is well-defined.
What the theorem does not claim is any physical content. It does not assert that recognition events obey this divisibility law, nor does it derive any consequence about the structure of space, time, or particles. It is a purely arithmetic statement about the framework's formal objects. The theorem also does not claim that the framework's DistinctionNat type is the only way to model natural numbers, or that the framework's arithmetic is more fundamental than ordinary arithmetic. It is a technical lemma within a larger formal development, and its significance is internal to that development.
THEOREM coprime_divides_of_divides_mul_left · IndisputableMonolith/Foundation/PrimitiveRecognitionCalculus/OrbitEuclidean.lean
/-- If `a` is coprime to `b` and divides `b*c`, then `a` divides `c`.
The argument is native at the statement level; Nat appears only in transport. -/
theorem coprime_divides_of_divides_mul_left {a b c : DistinctionNat}
(hcop : coprime b a) (hdiv : divides a (b * c)) :
divides a c := by
rw [divides_iff_toNat_dvd] at hdiv ⊢
rw [toNat_mul] at hdiv
have hcopNat : Nat.Coprime b.toNat a.toNat :=
(coprime_iff_nat_coprime b a).mp hcop
exact hcopNat.symm.dvd_of_dvd_mul_left hdiv
THEOREM coprime_iff_nat_coprime · IndisputableMonolith/Foundation/PrimitiveRecognitionCalculus/OrbitEuclidean.lean
theorem coprime_iff_nat_coprime (a b : DistinctionNat) :
coprime a b ↔ Nat.Coprime a.toNat b.toNat := by
simp [coprime, gcd_toNat, unit_iff_toNat_eq_one]
THEOREM normalizeRatio_coprime · IndisputableMonolith/Foundation/PrimitiveRecognitionCalculus/OrbitEuclidean.lean
theorem normalizeRatio_coprime (q : RatioOrbit) :
coprime (normalizeRatio q).num.abs (normalizeRatio q).den := by
rw [coprime_iff_nat_coprime]
unfold normalizeRatio
rw [signedQuotient_abs_toNat, quotient_toNat]
have hgpos : 0 < (gcd q.num.abs q.den).toNat := by
rw [gcd_toNat]
apply Nat.gcd_pos_of_pos_right
exact Nat.pos_of_ne_zero (by
intro hzero
apply q.den_ne_zero
apply toNat_inj
rw [hzero, toNat_zero])
have hgposNat : 0 < Nat.gcd q.num.abs.toNat q.den.toNat := by
rw [← gcd_toNat]
exact hgpos
rw [gcd_toNat]
exact Nat.coprime_div_gcd_div_gcd
(m := q.num.abs.toNat) (n := q.den.toNat) hgposNat
What this page does not claim
The theorem does not assert any physical consequence about recognition events or the structure of space and time. The theorem does not claim that DistinctionNat is the only or the most fundamental way to model natural numbers. The theorem does not establish that the framework's arithmetic is more fundamental than ordinary arithmetic.
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/OrbitEuclidean.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:
- How does the framework's DistinctionNat type relate to the standard natural numbers beyond this divisibility property?
- What other Euclidean properties does the OrbitEuclideanCertificate structure certify?
- How does the ratio normalization lemma support the framework's broader theory of ratios and orbits?
MACHINE LAYER · GROUNDED CLAIM TABLE · CLICK TO EXPAND
THEOREM coprime_divides_of_divides_mul_left · IndisputableMonolith/Foundation/PrimitiveRecognitionCalculus/OrbitEuclidean.lean
/-- If `a` is coprime to `b` and divides `b*c`, then `a` divides `c`. The argument is native at the statement level; Nat appears only in transport. -/ theorem coprime_divides_of_divides_mul_left {a b c : DistinctionNat} (hcop : coprime b a) (hdiv : divides a (b * c)) : divides a c := by rw [divides_iff_toNat_dvd] at hdiv ⊢ rw [toNat_mul] at hdiv have hcopNat : Nat.Coprime b.toNat a.toNat := (coprime_iff_nat_coprime b a).mp hcop exact hcopNat.symm.dvd_of_dvd_mul_left hdivThe theorem states that if a divides b times c, and b is coprime to a, then a divides c. coprime_divides_of_divides_mul_left · IndisputableMonolith/Foundation/PrimitiveRecognitionCalculus/OrbitEuclidean.leanTHEOREM coprime_iff_nat_coprime · IndisputableMonolith/Foundation/PrimitiveRecognitionCalculus/OrbitEuclidean.lean
theorem coprime_iff_nat_coprime (a b : DistinctionNat) : coprime a b ↔ Nat.Coprime a.toNat b.toNat := by simp [coprime, gcd_toNat, unit_iff_toNat_eq_one]The proof translates the statement about DistinctionNat into a statement about standard natural numbers using the theorem coprime_iff_nat_coprime. coprime_iff_nat_coprime · IndisputableMonolith/Foundation/PrimitiveRecognitionCalculus/OrbitEuclidean.leanTHEOREM normalizeRatio_coprime · IndisputableMonolith/Foundation/PrimitiveRecognitionCalculus/OrbitEuclidean.lean
theorem normalizeRatio_coprime (q : RatioOrbit) : coprime (normalizeRatio q).num.abs (normalizeRatio q).den := by rw [coprime_iff_nat_coprime] unfold normalizeRatio rw [signedQuotient_abs_toNat, quotient_toNat] have hgpos : 0 < (gcd q.num.abs q.den).toNat := by rw [gcd_toNat] apply Nat.gcd_pos_of_pos_right exact Nat.pos_of_ne_zero (by intro hzero apply q.den_ne_zero apply toNat_inj rw [hzero, toNat_zero]) have hgposNat : 0 < Nat.gcd q.num.abs.toNat q.den.toNat := by rw [← gcd_toNat] exact hgpos rw [gcd_toNat] exact Nat.coprime_div_gcd_div_gcd (m := q.num.abs.toNat) (n := q.den.toNat) hgposNatThe theorem is a supporting lemma in the development that shows ratio normalization produces coprime numerator and denominator. normalizeRatio_coprime · IndisputableMonolith/Foundation/PrimitiveRecognitionCalculus/OrbitEuclidean.lean