pith. machine review for the scientific record. sign in
module module high

IndisputableMonolith.Foundation.PrimitiveDistinction

show as:
view Lean formalization →

The PrimitiveDistinction module introduces the distinction predicate as the basic binary relation on a carrier type that flags distinguishable elements. It is cited by the root framework module and by layers that derive symmetry and composition rules from recognition. The module supplies the equality instance together with its elementary properties and serves as the entry point before cost functions or forcing steps appear.

claimLet $K$ be a type. A distinction predicate on $K$ is a binary predicate $D:K→K→Prop$ that returns true precisely when its arguments are distinguishable. The canonical case is the equality predicate on $K$.

background

The module sits at the base of the foundation layer and imports the functional-equation treatment of logic. It defines the distinction predicate together with the equality instance and records its immediate consequences: irreflexivity, symmetry, and the passage from equality to identity and non-contradiction statements. These objects supply the raw material for later modules that convert single-valued predication into symmetry of a comparison operator.

proof idea

This is a definition module. It declares the distinction predicate, instantiates it with equality, and proves the standard properties of equality (irreflexivity, symmetry) by direct application of the corresponding Mathlib lemmas.

why it matters in Recognition Science

The module feeds the root IndisputableMonolith declaration and the MagnitudeOfMismatch layer that encodes non-contradiction as symmetry of the comparison operator. It also supplies the primitive predicate used by RecognizerInducesLogic and ObserverFromRecognition when they lift recognition to an interface. The construction therefore anchors the entire T0-to-T8 forcing chain at the level of distinguishable pairs.

scope and limits

used by (5)

From the project-wide theorem graph. These declarations reference this one in their body.

depends on (1)

Lean names referenced from this declaration's body.

declarations in this module (15)