Encyclopedia Foundation Foundation Primitive Recognition Calculus Orbit Arithmetic Succ Add Eq
ARTICLE 3 claims 3 theorems
Foundation Primitive Recognition Calculus Orbit Arithmetic Succ Add Eq
A small theorem about counting steps shows that the order of adding one step to a count does not change the total.
What succ_add_eq proves
In ordinary arithmetic, adding one to a number and then adding another number gives the same result as adding the two numbers first and then adding one. For example, (1 + 2) + 1 equals 1 + (2 + 1); both are 4. The declaration succ_add_eq proves the same rule inside a formal system that models counting as a sequence of distinct recognition events, a discrete record of events called a ledger. The theorem states that for any two counts a and b, the expression (a + 1) + b equals (a + b) + 1.
The proof works by induction on b: it checks the base case where b is zero, then shows that if the rule holds for b, it holds for b + 1. The result is one of several basic properties of addition on this counting structure, alongside commutativity (a + b = b + a) and associativity ((a + b) + c = a + (b + c)). These properties are proved in a machine-checked library of formal theorems, meaning the reasoning is verified step by step by a computer.
What the theorem does not claim is anything about the physical world. It does not say that recognition events actually occur in a particular order, nor that the ledger corresponds to any specific experimental observation. It is a purely formal statement about a mathematical structure. The theorem also does not establish that addition is commutative; that is a separate theorem. Finally, it does not claim that the counting structure is the only possible one; it simply proves a property of the structure as defined.
THEOREM succ_add_eq · IndisputableMonolith/Foundation/PrimitiveRecognitionCalculus/OrbitArithmetic.lean
theorem succ_add_eq (a b : DistinctionNat) :
succ a + b = succ (a + b) := by
induction b with
| zero => rfl
| succ n ih =>
show succ (succ a + n) = succ (succ (a + n))
rw [ih]
THEOREM succ_add_eq · IndisputableMonolith/Foundation/PrimitiveRecognitionCalculus/OrbitArithmetic.lean
theorem succ_add_eq (a b : DistinctionNat) :
succ a + b = succ (a + b) := by
induction b with
| zero => rfl
| succ n ih =>
show succ (succ a + n) = succ (succ (a + n))
rw [ih]
THEOREM add_comm · add_assoc · IndisputableMonolith/Foundation/PrimitiveRecognitionCalculus/OrbitArithmetic.lean
theorem add_comm (a b : DistinctionNat) :
a + b = b + a := by
induction a with
| zero =>
rw [zero_add_eq, add_zero_eq]
| succ n ih =>
rw [succ_add_eq, add_succ_eq, ih]
theorem add_assoc (a b c : DistinctionNat) :
(a + b) + c = a + (b + c) := by
induction c with
| zero => rfl
| succ n ih =>
show (a + b) + succ n = a + (b + succ n)
rw [add_succ_eq, add_succ_eq, add_succ_eq, ih]
What this page does not claim
The theorem does not claim that recognition events occur in any particular physical order. The theorem does not claim that addition is commutative; that is a separate theorem. The theorem does not claim that the counting structure is the only possible one.
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/OrbitArithmetic.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 ledger structure relate to the natural numbers used in everyday arithmetic?
- What other arithmetic properties hold for this counting structure, such as distributivity?
- Does the framework derive the existence of the ledger from more primitive principles, or is it a definitional choice?
MACHINE LAYER · GROUNDED CLAIM TABLE · CLICK TO EXPAND
THEOREM succ_add_eq · IndisputableMonolith/Foundation/PrimitiveRecognitionCalculus/OrbitArithmetic.lean
theorem succ_add_eq (a b : DistinctionNat) : succ a + b = succ (a + b) := by induction b with | zero => rfl | succ n ih => show succ (succ a + n) = succ (succ (a + n)) rw [ih]The theorem states that for any two counts a and b, the expression (a + 1) + b equals (a + b) + 1. succ_add_eq · IndisputableMonolith/Foundation/PrimitiveRecognitionCalculus/OrbitArithmetic.leanTHEOREM succ_add_eq · IndisputableMonolith/Foundation/PrimitiveRecognitionCalculus/OrbitArithmetic.lean
theorem succ_add_eq (a b : DistinctionNat) : succ a + b = succ (a + b) := by induction b with | zero => rfl | succ n ih => show succ (succ a + n) = succ (succ (a + n)) rw [ih]The proof works by induction on b: it checks the base case where b is zero, then shows that if the rule holds for b, it holds for b + 1. succ_add_eq · IndisputableMonolith/Foundation/PrimitiveRecognitionCalculus/OrbitArithmetic.leanTHEOREM add_comm · add_assoc · IndisputableMonolith/Foundation/PrimitiveRecognitionCalculus/OrbitArithmetic.lean
theorem add_comm (a b : DistinctionNat) : a + b = b + a := by induction a with | zero => rw [zero_add_eq, add_zero_eq] | succ n ih => rw [succ_add_eq, add_succ_eq, ih]theorem add_assoc (a b c : DistinctionNat) : (a + b) + c = a + (b + c) := by induction c with | zero => rfl | succ n ih => show (a + b) + succ n = a + (b + succ n) rw [add_succ_eq, add_succ_eq, add_succ_eq, ih]The result is one of several basic properties of addition on this counting structure, alongside commutativity (a + b = b + a) and associativity ((a + b) + c = a + (b + c)). add_comm · add_assoc · IndisputableMonolith/Foundation/PrimitiveRecognitionCalculus/OrbitArithmetic.lean