pith. machine review for the scientific record. sign in
theorem

bool_distinguishable

proved
show as:
view math explainer →
module
IndisputableMonolith.Foundation.SelfBootstrapDistinguishability
domain
Foundation
line
21 · github
papers citing
none yet

open explainer

Generate a durable explainer page for this declaration.

open lean source

IndisputableMonolith.Foundation.SelfBootstrapDistinguishability on GitHub at line 21.

browse module

All declarations in this module, on Recognition.

explainer page

Tracked in the explainer inventory; generation is lazy so crawlers do not trigger LLM jobs.

open explainer

depends on

used by

formal source

  18namespace SelfBootstrap
  19
  20/-- The two-element type carries a definitional distinction. -/
  21theorem bool_distinguishable : (false : Bool) ≠ true := by
  22  decide
  23
  24/-- Any carrier supporting a Boolean predicate with both truth values
  25inherits an object-level distinction. -/
  26theorem distinguishability_lifted_from_bool
  27    {K : Type*} (P : K → Bool)
  28    (hpos : ∃ x : K, P x = true) (hneg : ∃ x : K, P x = false) :
  29    ∃ x y : K, x ≠ y := by
  30  obtain ⟨x, hx⟩ := hpos
  31  obtain ⟨y, hy⟩ := hneg
  32  refine ⟨x, y, ?_⟩
  33  intro hxy
  34  have hfalse : P x = false := by
  35    simpa [hxy] using hy
  36  cases hx.symm.trans hfalse
  37
  38/-- A proposition is never equal to its negation in classical logic. -/
  39theorem prop_ne_not (P : Prop) : P ≠ ¬ P := by
  40  intro h
  41  by_cases hp : P
  42  · have hnp : ¬ P := by
  43      rw [h] at hp
  44      exact hp
  45    exact hnp hp
  46  · have hp' : P := by
  47      rw [h.symm] at hp
  48      exact hp
  49    exact hp hp'
  50
  51/-- The claim that a carrier admits a non-trivial distinction is itself