Encyclopedia Foundation Foundation Primitive Recognition Calculus Orbit Divisibility Prime Orbit Iff To
ARTICLE 3 claims 3 theorems
Foundation Primitive Recognition Calculus Orbit Divisibility Prime Orbit Iff To
A theorem in the Recognition Science library shows that certain positions in a discrete counting structure are exactly the ordinary prime numbers, with no extra conditions.
Prime positions in the orbit
A prime number is a whole number greater than 1 that cannot be written as a product of two smaller whole numbers. The Recognition Science framework builds a counting structure called a distinction, a discrete record of events, and its machine-checked library of formal theorems contains a result that connects these two ideas. The theorem primeOrbit_iff_toNat_no_nontrivial_factor states that a position in this structure is prime, in the framework's own sense, exactly when its corresponding natural number is a prime in the ordinary sense.
The framework's definition of a prime position has three parts: it is not zero, it is not the unit (the number one), and it has no nontrivial factorization, meaning no way to write it as a product of two positions that are neither zero nor one. The theorem proves that this definition is equivalent to the standard natural-number condition: the position's value is not 0, is not 1, and has no pair of natural numbers, both different from 0 and 1, whose product equals it. This is a direct translation, not an approximation.
The proof works by showing that divisibility in the framework's structure matches divisibility of natural numbers exactly. A companion theorem, unit_or_unit_of_mul_eq_prime, shows that if a prime position is written as a product of two positions, then one of them must be the unit. This is the framework's version of the classical fact that a prime cannot be split into smaller factors. The library also proves unit_or_eq_of_divides_prime, which says that any position dividing a prime position is either the unit or the prime itself.
The result matters because it shows the framework's internal notion of primeness is not a new or exotic idea. It is the same prime numbers that appear in ordinary arithmetic, just expressed in the framework's own vocabulary. This is a consistency check: the framework's structure, built from recognition events, reproduces a familiar and fundamental mathematical object without adding extra conditions or changing its behavior.
What the theorem does not claim is that the framework derives the existence of prime numbers from first principles. It assumes the natural numbers and their multiplication as given. It also does not claim that the framework's prime positions are a new kind of prime, or that they behave differently from ordinary primes. The theorem is an equivalence, not a new discovery about primes themselves.
THEOREM primeOrbit_iff_toNat_no_nontrivial_factor · IndisputableMonolith/Foundation/PrimitiveRecognitionCalculus/OrbitDivisibility.lean
/-- Native prime-orbit predicate displays as the Nat no-nontrivial-factor
predicate, without defining primality by importing Nat prime theory. -/
theorem primeOrbit_iff_toNat_no_nontrivial_factor (p : DistinctionNat) :
primeOrbit p ↔
p.toNat ≠ 0 ∧ p.toNat ≠ 1 ∧
¬ ∃ a b : Nat,
a ≠ 0 ∧ b ≠ 0 ∧ a ≠ 1 ∧ b ≠ 1 ∧ a * b = p.toNat := by
unfold primeOrbit
rw [unit_iff_toNat_eq_one, nontrivialFactorization_iff_toNat]
constructor
· intro h
rcases h with ⟨hp0, hp1, hfac⟩
refine ⟨?_, hp1, hfac⟩
intro hz
have : p = zero := by
apply toNat_inj
rw [hz, toNat_zero]
exact hp0 this
· intro h
rcases h with ⟨hp0, hp1, hfac⟩
refine ⟨?_, hp1, hfac⟩
intro hz
exact hp0 (by rw [hz, toNat_zero])
THEOREM unit_or_unit_of_mul_eq_prime · IndisputableMonolith/Foundation/PrimitiveRecognitionCalculus/OrbitDivisibility.lean
/-- If an orbit is prime, every native factorization has a unit factor. -/
theorem unit_or_unit_of_mul_eq_prime {a b p : DistinctionNat}
(hp : primeOrbit p) (hmul : a * b = p) :
unit a ∨ unit b := by
by_cases ha0 : a = zero
· exfalso
rcases hp with ⟨hp0, _, _⟩
apply hp0
rw [← hmul, ha0, zero_mul_eq]
· by_cases hb0 : b = zero
· exfalso
rcases hp with ⟨hp0, _, _⟩
apply hp0
rw [← hmul, hb0, mul_zero_eq]
· by_cases ha1 : unit a
· exact Or.inl ha1
· by_cases hb1 : unit b
· exact Or.inr hb1
· exfalso
rcases hp with ⟨_, _, hnf⟩
exact hnf ⟨a, b, ha0, hb0, ha1, hb1, hmul⟩
THEOREM unit_or_eq_of_divides_prime · IndisputableMonolith/Foundation/PrimitiveRecognitionCalculus/OrbitDivisibility.lean
theorem unit_or_eq_of_divides_prime {a p : DistinctionNat}
(hp : primeOrbit p) (hdiv : divides a p) :
unit a ∨ a = p := by
rcases hdiv with ⟨k, hk⟩
rcases unit_or_unit_of_mul_eq_prime hp hk with ha | hkunit
· exact Or.inl ha
· right
unfold unit at hkunit
rw [hkunit, mul_one_eq] at hk
exact hk
What this page does not claim
The theorem does not derive the existence of prime numbers from the framework's axioms. It does not introduce a new kind of prime number different from ordinary primes. It does not claim that every natural number corresponds to a distinction position.
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/OrbitDivisibility.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 distinction structure relate to the natural numbers in general?
- What other classical number-theoretic notions have direct analogues inside the framework?
- Does the framework's prime notion extend to a unique factorization theorem?
MACHINE LAYER · GROUNDED CLAIM TABLE · CLICK TO EXPAND
THEOREM primeOrbit_iff_toNat_no_nontrivial_factor · IndisputableMonolith/Foundation/PrimitiveRecognitionCalculus/OrbitDivisibility.lean
/-- Native prime-orbit predicate displays as the Nat no-nontrivial-factor predicate, without defining primality by importing Nat prime theory. -/ theorem primeOrbit_iff_toNat_no_nontrivial_factor (p : DistinctionNat) : primeOrbit p ↔ p.toNat ≠ 0 ∧ p.toNat ≠ 1 ∧ ¬ ∃ a b : Nat, a ≠ 0 ∧ b ≠ 0 ∧ a ≠ 1 ∧ b ≠ 1 ∧ a * b = p.toNat := by unfold primeOrbit rw [unit_iff_toNat_eq_one, nontrivialFactorization_iff_toNat] constructor · intro h rcases h with ⟨hp0, hp1, hfac⟩ refine ⟨?_, hp1, hfac⟩ intro hz have : p = zero := by apply toNat_inj rw [hz, toNat_zero] exact hp0 this · intro h rcases h with ⟨hp0, hp1, hfac⟩ refine ⟨?_, hp1, hfac⟩ intro hz exact hp0 (by rw [hz, toNat_zero])The theorem primeOrbit_iff_toNat_no_nontrivial_factor states that a position in this structure is prime, in the framework's own sense, exactly when its corresponding natural number is a prime in the ordinary sense. primeOrbit_iff_toNat_no_nontrivial_factor · IndisputableMonolith/Foundation/PrimitiveRecognitionCalculus/OrbitDivisibility.leanTHEOREM unit_or_unit_of_mul_eq_prime · IndisputableMonolith/Foundation/PrimitiveRecognitionCalculus/OrbitDivisibility.lean
/-- If an orbit is prime, every native factorization has a unit factor. -/ theorem unit_or_unit_of_mul_eq_prime {a b p : DistinctionNat} (hp : primeOrbit p) (hmul : a * b = p) : unit a ∨ unit b := by by_cases ha0 : a = zero · exfalso rcases hp with ⟨hp0, _, _⟩ apply hp0 rw [← hmul, ha0, zero_mul_eq] · by_cases hb0 : b = zero · exfalso rcases hp with ⟨hp0, _, _⟩ apply hp0 rw [← hmul, hb0, mul_zero_eq] · by_cases ha1 : unit a · exact Or.inl ha1 · by_cases hb1 : unit b · exact Or.inr hb1 · exfalso rcases hp with ⟨_, _, hnf⟩ exact hnf ⟨a, b, ha0, hb0, ha1, hb1, hmul⟩A companion theorem, unit_or_unit_of_mul_eq_prime, shows that if a prime position is written as a product of two positions, then one of them must be the unit. unit_or_unit_of_mul_eq_prime · IndisputableMonolith/Foundation/PrimitiveRecognitionCalculus/OrbitDivisibility.leanTHEOREM unit_or_eq_of_divides_prime · IndisputableMonolith/Foundation/PrimitiveRecognitionCalculus/OrbitDivisibility.lean
theorem unit_or_eq_of_divides_prime {a p : DistinctionNat} (hp : primeOrbit p) (hdiv : divides a p) : unit a ∨ a = p := by rcases hdiv with ⟨k, hk⟩ rcases unit_or_unit_of_mul_eq_prime hp hk with ha | hkunit · exact Or.inl ha · right unfold unit at hkunit rw [hkunit, mul_one_eq] at hk exact hkThe library also proves unit_or_eq_of_divides_prime, which says that any position dividing a prime position is either the unit or the prime itself. unit_or_eq_of_divides_prime · IndisputableMonolith/Foundation/PrimitiveRecognitionCalculus/OrbitDivisibility.lean