Encyclopedia Foundation Foundation Primitive Recognition Calculus Prcset Theory Parse Mem One Iff
ARTICLE 3 claims 3 theorems
Foundation Primitive Recognition Calculus Prcset Theory Parse Mem One Iff
In the framework's coding of set theory, the number 1 represents the set containing only the empty set, a fact with a precise proof.
The singleton set
In classical set theory, the number 1 is often defined as the set containing only the empty set: 1 = {∅}. The Recognition Science framework uses a particular way to encode sets as natural numbers, called Ackermann coding. In this coding, a natural number is a code for a set, and membership is read off from the binary bits of that number: a code i is a member of a code n if and only if the i-th bit of n is set to 1. This gives a concrete, computable representation of the hereditarily finite sets, the sets that can be built from the empty set by finitely many steps of forming sets of previously built sets.
Within this coding, the framework's machine-checked library of formal theorems proves a small but foundational fact about the number 1. The declaration mem_one_iff establishes that the code 1 has exactly one member: the code 0, which represents the empty set. In symbols, the theorem states that for any natural number i, i is a member of 1 if and only if i equals 0. This is not a definitional choice; it is a proved theorem, derived from the definition of membership and the binary representation of the number 1. The proof is a simple case analysis on whether i is zero or a successor of some other number, and it is checked by the machine.
This fact is one part of a larger package. The same source file proves that the coding satisfies the axiom of extensionality: two codes are equal exactly when they have the same members. It also proves that the empty set, coded by 0, has no members, and that the coding distinguishes sets by genuine set difference, not by an accident of the code. Together, these theorems show that the Ackermann coding is a faithful model of the basic axioms of set theory. The framework's library then uses this to show that this coding of set theory can express the framework's own primitive recognition calculus, a result that connects the abstract formalism to a concrete, computable structure.
What this theorem does not claim is broader. It does not claim that the number 1 in ordinary arithmetic is the set {∅}; that is a convention of one particular construction of the natural numbers. It does not claim that all of set theory is reducible to arithmetic in any deep philosophical sense. It only claims that, within the specific Ackermann coding, the code 1 has exactly the member 0. The theorem is a precise, local fact about a particular representation, and its value lies in the foundation it provides for the framework's later results, not in any claim about the nature of numbers themselves.
THEOREM mem_one_iff · IndisputableMonolith/Foundation/PrimitiveRecognitionCalculus/PRCSetTheoryParse.lean
/-- The singleton `{∅}` is coded by `1`: its only member is `0 = ∅`. -/
theorem mem_one_iff (i : ℕ) : Mem i 1 ↔ i = 0 := by
cases i with
| zero => exact iff_of_true (by show Nat.testBit 1 0 = true; decide) rfl
| succ j =>
refine iff_of_false ?_ (Nat.succ_ne_zero j)
have h2 : (1 : ℕ) / 2 = 0 := by decide
simp [Mem, Nat.testBit_succ, h2]
THEOREM ext_iff · IndisputableMonolith/Foundation/PrimitiveRecognitionCalculus/PRCSetTheoryParse.lean
/-- **Extensionality.** Two HF codes are equal iff they have the same members. The
Ackermann interpretation satisfies the axiom of extensionality; it is exactly ℕ bit
extensionality. -/
theorem ext_iff (m n : ℕ) : m = n ↔ ∀ i, (Mem i m ↔ Mem i n) := by
refine ⟨fun h i => by rw [h], fun h => Nat.eq_of_testBit_eq fun i => ?_⟩
have hi := h i
cases hm : Nat.testBit m i <;> cases hn : Nat.testBit n i <;> simp_all [Mem]
THEOREM hfSystem_embeds_delta · IndisputableMonolith/Foundation/PrimitiveRecognitionCalculus/PRCSetTheoryParse.lean
/-- **HF set theory contains the δ core.** -/
theorem hfSystem_embeds_delta : Nonempty (PRCEmbeddingInto hfSystem) :=
FormalSystemEmbeddingTarget_proved hfSystem hfSystem_expressive
What this page does not claim
The theorem does not claim that the natural number 1 in ordinary arithmetic is the set {∅}. The theorem does not claim that all of set theory is reducible to arithmetic. The theorem does not claim that the Ackermann coding is the only way to represent sets as numbers.
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/PRCSetTheoryParse.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 is the primitive recognition calculus that this set theory coding is used to express?
- How does the framework's formal system interface define the notions of token, expression, and distinction?
- What role does the distinction dichotomy play in classifying formal systems within the framework?
MACHINE LAYER · GROUNDED CLAIM TABLE · CLICK TO EXPAND
THEOREM mem_one_iff · IndisputableMonolith/Foundation/PrimitiveRecognitionCalculus/PRCSetTheoryParse.lean
/-- The singleton `{∅}` is coded by `1`: its only member is `0 = ∅`. -/ theorem mem_one_iff (i : ℕ) : Mem i 1 ↔ i = 0 := by cases i with | zero => exact iff_of_true (by show Nat.testBit 1 0 = true; decide) rfl | succ j => refine iff_of_false ?_ (Nat.succ_ne_zero j) have h2 : (1 : ℕ) / 2 = 0 := by decide simp [Mem, Nat.testBit_succ, h2]The declaration mem_one_iff establishes that the code 1 has exactly one member: the code 0, which represents the empty set. mem_one_iff · IndisputableMonolith/Foundation/PrimitiveRecognitionCalculus/PRCSetTheoryParse.leanTHEOREM ext_iff · IndisputableMonolith/Foundation/PrimitiveRecognitionCalculus/PRCSetTheoryParse.lean
/-- **Extensionality.** Two HF codes are equal iff they have the same members. The Ackermann interpretation satisfies the axiom of extensionality; it is exactly ℕ bit extensionality. -/ theorem ext_iff (m n : ℕ) : m = n ↔ ∀ i, (Mem i m ↔ Mem i n) := by refine ⟨fun h i => by rw [h], fun h => Nat.eq_of_testBit_eq fun i => ?_⟩ have hi := h i cases hm : Nat.testBit m i <;> cases hn : Nat.testBit n i <;> simp_all [Mem]The same source file proves that the coding satisfies the axiom of extensionality: two codes are equal exactly when they have the same members. ext_iff · IndisputableMonolith/Foundation/PrimitiveRecognitionCalculus/PRCSetTheoryParse.leanTHEOREM hfSystem_embeds_delta · IndisputableMonolith/Foundation/PrimitiveRecognitionCalculus/PRCSetTheoryParse.lean
/-- **HF set theory contains the δ core.** -/ theorem hfSystem_embeds_delta : Nonempty (PRCEmbeddingInto hfSystem) := FormalSystemEmbeddingTarget_proved hfSystem hfSystem_expressiveThe framework's library then uses this to show that this coding of set theory can express the framework's own primitive recognition calculus. hfSystem_embeds_delta · IndisputableMonolith/Foundation/PrimitiveRecognitionCalculus/PRCSetTheoryParse.lean