Encyclopedia Foundation Foundation Magnitude Of Mismatch Asymmetric Not Single Valued
ARTICLE 3 claims 2 theorems 1 model
Foundation Magnitude Of Mismatch Asymmetric Not Single Valued
A comparison that gives different answers when you swap the two things being compared cannot be a single, well-defined function on the pair.
The asymmetry split
In mathematics, a function that takes two inputs often treats them as an ordered pair: the first input and the second input have distinct roles. A comparison operator is different. When you compare two objects, the result should not depend on which one you happened to name first. The comparison operator is a rule that assigns a cost, or magnitude of mismatch, to any two objects. The Recognition Science library formalizes this intuition in a theorem called asymmetric_not_singleValued.
The theorem states a simple logical consequence. If a comparison operator is asymmetric, meaning there exists at least one pair of objects where swapping the order changes the result, then that operator cannot be single-valued on the unordered pair. An unordered pair is a set of two objects with no designated first or second element. Being single-valued on the unordered pair means there is one function that gives the cost for the pair, regardless of the order in which you present the two objects. The proof is direct: if the operator were single-valued on the unordered pair, the order would not matter, contradicting the asymmetry. The theorem is proved in the machine-checked library of formal theorems, with no unproven assumptions.
This result is part of a larger argument within the framework. The framework models reality as a ledger, a discrete record of recognition events, where each event has a forced cost. The magnitude of mismatch between two objects is that cost. The framework's companion paper argues that the only way to encode the Aristotelian principle of non-contradiction as a comparison operator is through symmetry: the cost of comparing x to y must equal the cost of comparing y to x. The theorem asymmetric_not_singleValued is the formal statement of the negative side: an asymmetric reading does not give a single comparison function, but rather two distinct directional functions, one for each order.
What the theorem does not claim is equally important. It does not say that asymmetric comparisons are impossible or meaningless in all contexts. It only says that if you insist on a single binary function that assigns a cost to an unordered pair, asymmetry is ruled out. The theorem does not specify what the cost function must be, nor does it derive the specific form of the cost from the asymmetry condition. It is a structural result about the relationship between symmetry and single-valuedness, not a claim about which particular comparison operator is correct. The framework's broader claims about the forced nature of the cost function rest on additional axioms, not on this theorem alone.
THEOREM asymmetric_not_singleValued · IndisputableMonolith/Foundation/MagnitudeOfMismatch.lean
/-- The negation: if `C` is asymmetric on at least one pair, it cannot
factor through the unordered pair. Single-valuedness fails the moment the
two orderings give different values.
This is the Lean form of Theorem 3 of the companion paper: asymmetry
splits a single binary function into two directional functions. -/
theorem asymmetric_not_singleValued
{K Cost : Type*} (C : K → K → Cost)
(h : ∃ x y : K, C x y ≠ C y x) :
¬ SingleValuedOnUnorderedPair C := by
rintro hSV
rcases h with ⟨x, y, hxy⟩
exact hxy (singleValued_implies_symmetric C hSV x y)
MODEL SingleValuedOnUnorderedPair · IndisputableMonolith/Foundation/MagnitudeOfMismatch.lean
/-- A comparison operator `C : K → K → Cost` is **single-valued on the
unordered pair** if it factors through the type of unordered pairs `Sym2 K`.
Operationally: there is a single function `f` such that the cost
`C x y` is `f s(x, y)` and the order in which the arguments are
presented does not affect the value. -/
def SingleValuedOnUnorderedPair {K Cost : Type*} (C : K → K → Cost) : Prop :=
∃ f : Sym2 K → Cost, ∀ x y, C x y = f s(x, y)
THEOREM asymmetric_not_singleValued · IndisputableMonolith/Foundation/MagnitudeOfMismatch.lean
/-- The negation: if `C` is asymmetric on at least one pair, it cannot
factor through the unordered pair. Single-valuedness fails the moment the
two orderings give different values.
This is the Lean form of Theorem 3 of the companion paper: asymmetry
splits a single binary function into two directional functions. -/
theorem asymmetric_not_singleValued
{K Cost : Type*} (C : K → K → Cost)
(h : ∃ x y : K, C x y ≠ C y x) :
¬ SingleValuedOnUnorderedPair C := by
rintro hSV
rcases h with ⟨x, y, hxy⟩
exact hxy (singleValued_implies_symmetric C hSV x y)
What this page does not claim
Asymmetric comparisons are impossible or meaningless in all contexts. The theorem derives the specific form of the cost function from asymmetry. The framework's broader claims about the forced nature of cost rest on this theorem alone.
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/MagnitudeOfMismatch.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 exact relationship between the symmetry of the comparison operator and the principle of non-contradiction?
- Does the framework's cost function J(x) satisfy the symmetry condition, and how is that derived?
- What would a two-valued or directional comparison operator look like in the framework's ledger model?
MACHINE LAYER · GROUNDED CLAIM TABLE · CLICK TO EXPAND
THEOREM asymmetric_not_singleValued · IndisputableMonolith/Foundation/MagnitudeOfMismatch.lean
/-- The negation: if `C` is asymmetric on at least one pair, it cannot factor through the unordered pair. Single-valuedness fails the moment the two orderings give different values. This is the Lean form of Theorem 3 of the companion paper: asymmetry splits a single binary function into two directional functions. -/ theorem asymmetric_not_singleValued {K Cost : Type*} (C : K → K → Cost) (h : ∃ x y : K, C x y ≠ C y x) : ¬ SingleValuedOnUnorderedPair C := by rintro hSV rcases h with ⟨x, y, hxy⟩ exact hxy (singleValued_implies_symmetric C hSV x y)If a comparison operator is asymmetric, meaning there exists at least one pair of objects where swapping the order changes the result, then that operator cannot be single-valued on the unordered pair. asymmetric_not_singleValued · IndisputableMonolith/Foundation/MagnitudeOfMismatch.leanMODEL SingleValuedOnUnorderedPair · IndisputableMonolith/Foundation/MagnitudeOfMismatch.lean
/-- A comparison operator `C : K → K → Cost` is **single-valued on the unordered pair** if it factors through the type of unordered pairs `Sym2 K`. Operationally: there is a single function `f` such that the cost `C x y` is `f s(x, y)` and the order in which the arguments are presented does not affect the value. -/ def SingleValuedOnUnorderedPair {K Cost : Type*} (C : K → K → Cost) : Prop := ∃ f : Sym2 K → Cost, ∀ x y, C x y = f s(x, y)An unordered pair is a set of two objects with no designated first or second element. SingleValuedOnUnorderedPair · IndisputableMonolith/Foundation/MagnitudeOfMismatch.leanTHEOREM asymmetric_not_singleValued · IndisputableMonolith/Foundation/MagnitudeOfMismatch.lean
/-- The negation: if `C` is asymmetric on at least one pair, it cannot factor through the unordered pair. Single-valuedness fails the moment the two orderings give different values. This is the Lean form of Theorem 3 of the companion paper: asymmetry splits a single binary function into two directional functions. -/ theorem asymmetric_not_singleValued {K Cost : Type*} (C : K → K → Cost) (h : ∃ x y : K, C x y ≠ C y x) : ¬ SingleValuedOnUnorderedPair C := by rintro hSV rcases h with ⟨x, y, hxy⟩ exact hxy (singleValued_implies_symmetric C hSV x y)The theorem is proved in the machine-checked library of formal theorems, with no unproven assumptions. asymmetric_not_singleValued · IndisputableMonolith/Foundation/MagnitudeOfMismatch.lean