Encyclopedia Foundation Foundation Primitive Recognition Calculus Orbit Divisibility Nontrivial Factoriz
Foundation Primitive Recognition Calculus Orbit Divisibility Nontrivial Factoriz
A theorem in the Recognition Science library shows that a number's divisibility structure is faithfully mirrored by its ordinary integer value.
Factorization in the ledger
The declaration nontrivialFactorization_iff_toNat is a theorem in the Recognition Science library. It states that a number in the framework's system has a nontrivial factorization if and only if its ordinary integer value does. In plain terms, the framework's abstract numbers, which arise from a discrete record of recognition events, behave exactly like familiar natural numbers in the matter of breaking them into multiplicative parts.
The framework models numbers as positions on an orbit, a sequence generated by repeated recognition. A recognition is a discrete act of distinguishing one thing from another, and the ledger is the record of these acts. The theorem connects this abstract structure to standard arithmetic: a number has a nontrivial factorization, meaning it can be written as a product of two numbers neither of which is zero or one, precisely when its integer counterpart can be so factored. This is a bridge between the framework's internal language and the familiar world of natural numbers.
The theorem is proved in the machine-checked library of formal theorems. It is a formal result, meaning every step is verified by a computer. The proof relies on the fact that the framework's multiplication and the notion of being a unit, which is simply being equal to one, align with their ordinary integer counterparts. This alignment is not assumed but derived from the definitions.
What the theorem does not claim is that the framework's numbers are the same as natural numbers in every respect. It establishes an equivalence for factorization, not a full identity of structures. The framework's numbers come with additional structure, such as the orbit and the recognition events that generate them, which has no direct counterpart in ordinary arithmetic. The theorem is a precise statement about one specific property, not a blanket claim of equivalence.
This result matters because it shows that the framework, despite its unusual starting point, reproduces a fundamental property of arithmetic. It is a check that the framework's internal logic is consistent with the mathematics we already know. It also provides a tool: any statement about factorization in the framework can be translated into a statement about natural numbers, and vice versa, within the scope of the theorem.
THEOREM nontrivialFactorization_iff_toNat · IndisputableMonolith/Foundation/PrimitiveRecognitionCalculus/OrbitDivisibility.lean
/-- Native nontrivial factorization displays as ordinary Nat nontrivial
factorization. -/
theorem nontrivialFactorization_iff_toNat (n : DistinctionNat) :
nontrivialFactorization n ↔
∃ a b : Nat,
a ≠ 0 ∧ b ≠ 0 ∧ a ≠ 1 ∧ b ≠ 1 ∧ a * b = n.toNat := by
constructor
· intro h
rcases h with ⟨a, b, ha0, hb0, ha1, hb1, hmul⟩
refine ⟨a.toNat, b.toNat, ?_, ?_, ?_, ?_, ?_⟩
· intro hz
have : a = zero := by
apply toNat_inj
rw [hz, toNat_zero]
exact ha0 this
· intro hz
have : b = zero := by
apply toNat_inj
rw [hz, toNat_zero]
exact hb0 this
· intro h1
apply ha1
rw [unit_iff_toNat_eq_one]
exact h1
· intro h1
apply hb1
rw [unit_iff_toNat_eq_one]
exact h1
· have hnat := congrArg DistinctionNat.toNat hmul
rw [toNat_mul] at hnat
exact hnat
· intro h
rcases h with ⟨a, b, ha0, hb0, ha1, hb1, hmul⟩
refine ⟨ofNat a, ofNat b, ?_, ?_, ?_, ?_, ?_⟩
· exact ofNat_ne_zero_of_ne_zero ha0
· exact ofNat_ne_zero_of_ne_zero hb0
· exact not_unit_ofNat_of_ne_one ha1
· exact not_unit_ofNat_of_ne_one hb1
· apply toNat_inj
rw [toNat_mul, toNat_ofNat, toNat_ofNat, hmul]
What this page does not claim
The framework's numbers are identical to natural numbers in every respect. The theorem establishes a full equivalence of structures, only an equivalence for factorization. The framework's recognition events have a direct counterpart in 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/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 notion of a prime number relate to the ordinary definition?
- What other properties of natural numbers are preserved by the framework's mapping to integers?
- Does the framework's orbit structure impose any constraints beyond those of ordinary arithmetic?
MACHINE LAYER · GROUNDED CLAIM TABLE · CLICK TO EXPAND
THEOREM nontrivialFactorization_iff_toNat · IndisputableMonolith/Foundation/PrimitiveRecognitionCalculus/OrbitDivisibility.lean
/-- Native nontrivial factorization displays as ordinary Nat nontrivial factorization. -/ theorem nontrivialFactorization_iff_toNat (n : DistinctionNat) : nontrivialFactorization n ↔ ∃ a b : Nat, a ≠ 0 ∧ b ≠ 0 ∧ a ≠ 1 ∧ b ≠ 1 ∧ a * b = n.toNat := by constructor · intro h rcases h with ⟨a, b, ha0, hb0, ha1, hb1, hmul⟩ refine ⟨a.toNat, b.toNat, ?_, ?_, ?_, ?_, ?_⟩ · intro hz have : a = zero := by apply toNat_inj rw [hz, toNat_zero] exact ha0 this · intro hz have : b = zero := by apply toNat_inj rw [hz, toNat_zero] exact hb0 this · intro h1 apply ha1 rw [unit_iff_toNat_eq_one] exact h1 · intro h1 apply hb1 rw [unit_iff_toNat_eq_one] exact h1 · have hnat := congrArg DistinctionNat.toNat hmul rw [toNat_mul] at hnat exact hnat · intro h rcases h with ⟨a, b, ha0, hb0, ha1, hb1, hmul⟩ refine ⟨ofNat a, ofNat b, ?_, ?_, ?_, ?_, ?_⟩ · exact ofNat_ne_zero_of_ne_zero ha0 · exact ofNat_ne_zero_of_ne_zero hb0 · exact not_unit_ofNat_of_ne_one ha1 · exact not_unit_ofNat_of_ne_one hb1 · apply toNat_inj rw [toNat_mul, toNat_ofNat, toNat_ofNat, hmul]A number in the framework's system has a nontrivial factorization if and only if its ordinary integer value does. nontrivialFactorization_iff_toNat · IndisputableMonolith/Foundation/PrimitiveRecognitionCalculus/OrbitDivisibility.lean