Encyclopedia Foundation Foundation Modular Logic Realization Modulus Pos
ARTICLE 3 claims 2 theorems 1 model
Foundation Modular Logic Realization Modulus Pos
A small theorem about a counting number guarantees that a periodic carrier for logic has room to move, and it proves nothing about the arithmetic it carries.
The modulus and its proof
The declaration modulus_pos establishes a simple fact about a counting number used to build a finite, repeating carrier for logic. In the framework's library, a modulus is the size of a finite set that cycles, like the hours on a clock. The theorem states that for any natural number k, the modulus defined as k + 2 is greater than zero. This is a formal, machine-checked proof that the carrier is never empty, so it always has at least one element to hold a value.
The proof is a direct calculation. The definition sets modulus k = k + 2, and since k is a natural number (zero or more), adding 2 always yields a number at least 2. The theorem then follows by the standard arithmetic fact that any number greater than or equal to 2 is positive. The library proves this with a routine arithmetic solver, not with any special framework axiom. A companion theorem, one_lt_modulus, shows the modulus is actually greater than 1, meaning the carrier has at least two distinct elements, enough for a genuine cycle.
The point of this construction is to show that Universal Forcing, the framework's core mechanism, does not require every realization to embed arithmetic faithfully into its carrier. The modulus creates a finite, periodic interpretation: the free orbit of natural numbers is mapped onto a clock face of size k + 2, wrapping around after each full cycle. This demonstrates that the framework can operate with a periodic carrier, not just an unbounded one, while the internal logic remains free.
What modulus_pos does not claim is just as important. It does not assert that the periodic carrier itself contains arithmetic truth, only that the carrier is nonempty. The theorem says nothing about the values held in the carrier, only that the carrier exists. It also does not claim that the modular realization is the only possible one, or that it is preferred over others. It is one example among many, showing a design choice, not a necessity. The theorem is a small but load-bearing part of a larger demonstration about the flexibility of the framework's realizations.
THEOREM modulus_pos · IndisputableMonolith/Foundation/ModularLogicRealization.lean
theorem modulus_pos (k : ℕ) : 0 < modulus k := by
unfold modulus
omega
THEOREM one_lt_modulus · IndisputableMonolith/Foundation/ModularLogicRealization.lean
theorem one_lt_modulus (k : ℕ) : 1 < modulus k := by
unfold modulus
omega
MODEL modularRealization · IndisputableMonolith/Foundation/ModularLogicRealization.lean
/-- Finite cyclic Law-of-Logic realization with periodic interpretation. -/
def modularRealization (k : ℕ) : LogicRealization where
Carrier := Fin (modulus k)
Cost := Nat
zeroCost := inferInstance
compare := finCost
zero := ⟨0, modulus_pos k⟩
step := cycStep k
Orbit := ArithmeticFromLogic.LogicNat
orbitZero := ArithmeticFromLogic.LogicNat.zero
orbitStep := ArithmeticFromLogic.LogicNat.succ
interpret := modularInterpret k
interpret_zero := modularInterpret_zero k
interpret_step := modularInterpret_step k
orbit_no_confusion := by
intro n h
exact ArithmeticFromLogic.LogicNat.zero_ne_succ n h
orbit_step_injective := ArithmeticFromLogic.LogicNat.succ_injective
orbit_induction := by
intro P h0 hs n
exact ArithmeticFromLogic.LogicNat.induction (motive := P) h0 hs n
orbitEquivLogicNat := Equiv.refl ArithmeticFromLogic.LogicNat
orbitEquiv_zero := rfl
orbitEquiv_step := by intro n; rfl
identity := finCost_self
nonContradiction := finCost_symm
excludedMiddle := True
composition := True
actionInvariant := True
nontrivial := by
refine ⟨⟨1, one_lt_modulus k⟩, ?_⟩
simp [finCost]
What this page does not claim
The theorem does not claim the periodic carrier contains arithmetic truth. The theorem does not claim the modular realization is the only possible one. The theorem does not claim the modulus is a prime number or has any special multiplicative property.
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/ModularLogicRealization.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:
- What other finite carriers can realize Universal Forcing without embedding arithmetic?
- How does the periodic interpretation interact with the framework's forcing chain?
- What constraints does a nonempty carrier place on the internal logic it can hold?
MACHINE LAYER · GROUNDED CLAIM TABLE · CLICK TO EXPAND
THEOREM modulus_pos · IndisputableMonolith/Foundation/ModularLogicRealization.lean
theorem modulus_pos (k : ℕ) : 0 < modulus k := by unfold modulus omegaThe theorem states that for any natural number k, the modulus defined as k + 2 is greater than zero. modulus_pos · IndisputableMonolith/Foundation/ModularLogicRealization.leanTHEOREM one_lt_modulus · IndisputableMonolith/Foundation/ModularLogicRealization.lean
theorem one_lt_modulus (k : ℕ) : 1 < modulus k := by unfold modulus omegaA companion theorem, one_lt_modulus, shows the modulus is actually greater than 1, meaning the carrier has at least two distinct elements, enough for a genuine cycle. one_lt_modulus · IndisputableMonolith/Foundation/ModularLogicRealization.leanMODEL modularRealization · IndisputableMonolith/Foundation/ModularLogicRealization.lean
/-- Finite cyclic Law-of-Logic realization with periodic interpretation. -/ def modularRealization (k : ℕ) : LogicRealization where Carrier := Fin (modulus k) Cost := Nat zeroCost := inferInstance compare := finCost zero := ⟨0, modulus_pos k⟩ step := cycStep k Orbit := ArithmeticFromLogic.LogicNat orbitZero := ArithmeticFromLogic.LogicNat.zero orbitStep := ArithmeticFromLogic.LogicNat.succ interpret := modularInterpret k interpret_zero := modularInterpret_zero k interpret_step := modularInterpret_step k orbit_no_confusion := by intro n h exact ArithmeticFromLogic.LogicNat.zero_ne_succ n h orbit_step_injective := ArithmeticFromLogic.LogicNat.succ_injective orbit_induction := by intro P h0 hs n exact ArithmeticFromLogic.LogicNat.induction (motive := P) h0 hs n orbitEquivLogicNat := Equiv.refl ArithmeticFromLogic.LogicNat orbitEquiv_zero := rfl orbitEquiv_step := by intro n; rfl identity := finCost_self nonContradiction := finCost_symm excludedMiddle := True composition := True actionInvariant := True nontrivial := by refine ⟨⟨1, one_lt_modulus k⟩, ?_⟩ simp [finCost]The point of this construction is to show that Universal Forcing, the framework's core mechanism, does not require every realization to embed arithmetic faithfully into its carrier. modularRealization · IndisputableMonolith/Foundation/ModularLogicRealization.lean