Encyclopedia Foundation Foundation Distinguishability From Specifiability Distinguishability From Specif

ARTICLE 3 claims 3 theorems

Foundation Distinguishability From Specifiability Distinguishability From Specif

A simple logical fact: if a framework can separate anything from anything else, it already has two distinct things to work with.

The specification floor

Distinguishability is the ability to tell two objects apart. In mathematics, this is usually expressed by saying there exist two elements x and y such that x is not equal to y. A specification, in the Recognition Science framework, is a rule that sorts a universe of discourse into those that belong to an ontology and those that do not. A non-trivial specification is one where the rule admits at least one element and rejects at least one other.

The declaration distinguishability_from_specification proves a compact theorem: any non-trivial specification immediately yields two distinct elements. If a rule puts something inside and something outside, then the inside element and the outside element cannot be the same object. The proof is a short argument by contradiction: if they were equal, the rule would have to both accept and reject the same element, which is impossible.

The theorem also runs in reverse. On any inhabited carrier, the existence of two distinct elements is equivalent to the existence of a non-trivial specification. Given two different objects, one can define a rule that accepts exactly one of them. This equivalence is captured in the theorem distinguishability_iff_nontrivial_specifiability, and it forms what the framework calls its Route B certificate: specifiability and distinguishability are the same logical floor.

In Recognition Science, this result matters because it shows that the ability to specify an ontology already supplies the distinction needed for the Law-of-Logic chain. The framework models a universe of discourse as a collection of objects, and an ontology as a subset of that collection. The theorem says that a proper, non-empty subset is enough to generate two distinct elements. This is a purely logical statement about types and predicates; it does not depend on any physical assumption.

The declaration does not claim that any particular specification exists, nor that the universe of discourse has more than one element. It only states a conditional: if a non-trivial specification is given, then two distinct elements follow. It also does not establish that distinguishability is required for any other property; it only shows that specifiability implies it. The framework's library proves this as a formal theorem, but the result itself is a basic fact of predicate logic.

THEOREM distinguishability_from_specification · IndisputableMonolith/Foundation/DistinguishabilityFromSpecifiability.lean
/-- Specifiability forces distinguishability. -/
theorem distinguishability_from_specification
    {K : Type*} (S : NontrivialSpecification K) :
    ∃ x y : K, x ≠ y := by
  obtain ⟨P, ⟨x, hx⟩, ⟨y, hy⟩⟩ := S
  refine ⟨x, y, ?_⟩
  intro hxy
  have hyx : P y := by
    simpa [hxy] using hx
  exact hy hyx
THEOREM distinguishability_iff_nontrivial_specifiability · IndisputableMonolith/Foundation/DistinguishabilityFromSpecifiability.lean
distinguishability_iff_nontrivial_specifiability · IndisputableMonolith/Foundation/DistinguishabilityFromSpecifiability.lean:72
/-- Non-trivial specifiability is equivalent to object-level
distinguishability on an inhabited carrier. -/
theorem distinguishability_iff_nontrivial_specifiability
    {K : Type*} [Nonempty K] :
    (∃ x y : K, x ≠ y) ↔ Nonempty (NontrivialSpecification K) := by
  constructor
  · rintro ⟨x, y, hxy⟩
    have hy_ne_x : y ≠ x := by
      intro hyx
      exact hxy hyx.symm
    exact ⟨
      { inOntology := fun z => z = x
        someInside := ⟨x, rfl⟩
        someOutside := ⟨y, hy_ne_x⟩ }⟩
  · rintro ⟨S⟩
    exact distinguishability_from_specification S
THEOREM nontrivial_spec_from_proper_ontology · IndisputableMonolith/Foundation/DistinguishabilityFromSpecifiability.lean
/-- If an ontology is a proper, non-empty subset of its universe of discourse,
then it defines a non-trivial specification. -/
def nontrivial_spec_from_proper_ontology
    {K : Type*} (Ω : Set K)
    (h_inhabited : ∃ x : K, x ∈ Ω)
    (h_proper : ∃ x : K, x ∉ Ω) :
    NontrivialSpecification K :=
  nontrivial_specification_of_proper_subtype Ω h_inhabited h_proper

What this page does not claim

The theorem does not assert that any non-trivial specification actually exists. It does not establish that distinguishability is necessary for any other property. It does not depend on any physical assumption about the universe.

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/DistinguishabilityFromSpecifiability.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:

MACHINE LAYER · GROUNDED CLAIM TABLE · CLICK TO EXPAND