Encyclopedia Foundation Foundation Bool From Logic Decoy Constant Bool Map Rejected

ARTICLE 3 claims 2 theorems 1 model

Foundation Bool From Logic Decoy Constant Bool Map Rejected

A machine-checked proof shows that a map sending both sides of a distinction to the same value cannot be a faithful encoding, a small step in building Boolean logic from a single act of distinction.

The rejected decoy

A Boolean value, in the ordinary sense, has two states: true and false. A distinction is the primitive act of separating one thing from another, and in the Recognition Science framework it also has exactly two sides, called affirm and deny, which are the bare outcomes of making a cut. The framework's machine-checked library of formal theorems proves that these two sides are different, affirm is not deny, and that a map sending each side to a distinct Boolean value is a perfect mirror of the distinction.

The declaration decoy_constant_bool_map_rejected proves a negative result about a tempting shortcut. It shows that a function which sends both affirm and deny to the same Boolean value, for instance the constant function that always returns true, is not injective. In plain language, if a map cannot tell the two sides apart, it cannot serve as a faithful encoding of the distinction. This is not a deep mystery; it is a direct consequence of the fact that the two sides are different. The proof is a short argument by contradiction, and it is checked by the machine, not merely asserted.

This rejection matters because it closes off a wrong path. When building Boolean structure from a single distinction, one might be tempted to collapse both sides into a single value, treating the distinction as trivial. The theorem shows that such a collapse loses the information the distinction carries. The framework instead uses a pair of maps, one from the distinction to Boolean and one back, and proves they are inverses of each other, so the two-sided structure is preserved exactly. The rejected constant map is the counterexample that shows why this care is necessary.

In Recognition Science, this is a small but necessary step in a larger chain. The framework models logic as arising from the act of distinguishing, not as a given primitive. The theorem that the constant map is rejected is part of showing that the Boolean structure is genuinely two-sided and cannot be flattened without losing meaning. It does not, however, claim that the distinction itself is the same as a Boolean value, nor does it say anything about how this structure connects to the cost function or the rest of the forcing chain. It is a local lemma about maps, not a global claim about the nature of logic.

THEOREM affirm_ne_deny · IndisputableMonolith/Foundation/BoolFromLogic.lean
/-- **The distinction is real**: the two sides differ. Forced by the
constructor disjointness of the inductive type, which is exactly the
statement that δ cuts something. -/
theorem affirm_ne_deny : affirm ≠ deny := by decide
THEOREM decoy_constant_bool_map_rejected · IndisputableMonolith/Foundation/BoolFromLogic.lean
decoy_constant_bool_map_rejected · IndisputableMonolith/Foundation/BoolFromLogic.lean:165
/-- **Decoy 2 (constant reading rejected)**: the constant-`true` map
collapses both sides of the distinction, so it is not injective and
cannot underlie an equivalence with `Bool`. -/
theorem decoy_constant_bool_map_rejected :
    ¬ Function.Injective (fun _ : LogicBool => true) := by
  intro h
  exact affirm_ne_deny (h rfl)
MODEL equivBool · IndisputableMonolith/Foundation/BoolFromLogic.lean
/-- **Recovery theorem (carrier)**: `LogicBool` and `Bool` are in
bijection. The two sides of a single distinction are exactly the two
Boolean values. -/
def equivBool : LogicBool ≃ Bool where
  toFun := toBool
  invFun := fromBool
  left_inv := fromBool_toBool
  right_inv := toBool_fromBool

What this page does not claim

This theorem does not claim that a distinction is identical to a Boolean value, only that it has a two-sided structure that can be mirrored by one. This theorem does not establish that the framework's LogicBool is the only possible two-sided structure, nor does it prove any uniqueness result. This theorem does not say anything about how the distinction connects to the cost function or the forcing chain that derives physical constants.

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/BoolFromLogic.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