Encyclopedia Foundation Foundation Non Triviality From Distinguishability Non Trivial Of Distinguishabil
ARTICLE 3 claims 3 theorems
Foundation Non Triviality From Distinguishability Non Trivial Of Distinguishabil
A single assumption, that comparison can tell two quantities apart, turns a bare postulate into a proved consequence in the framework's logic.
The comparison that works
Comparison is the act of putting two positive quantities side by side and asking how they differ. In the Recognition Science framework, this act is modeled by a comparison operator, a rule that assigns a cost to every pair of positive numbers. The framework's logic demands that this operator obey four classical laws: identity, non-contradiction, excluded middle, and scale invariance. But those four laws alone leave a hole. The operator that always answers zero, no matter which two quantities it is given, satisfies all four. It is a perfect logical citizen and a complete failure as a comparison, because it never distinguishes anything from anything else.
The declaration nonTrivial_of_distinguishability closes that hole. It proves that if a comparison operator is scale invariant and distinguishable, meaning there exists at least one pair of distinct positive quantities whose comparison cost is not zero, then the operator is non-trivial in the technical sense: it is not identically zero on positive ratios. The proof is short and direct. The converse also holds: any non-trivial operator is distinguishable. Together, the two directions form an equivalence, nonTrivial_iff_distinguishability, which the framework's machine-checked library of formal theorems verifies under the assumption of scale invariance alone.
What this buys is a cleaner foundation. Earlier versions of the framework simply posited non-triviality as an extra assumption, a bolt-on to keep the zero operator out. The new result replaces that posit with a more natural one: distinguishability, the claim that comparison is actually operative. This is the Aristotelian content of the whole setup, stated in plain language about what comparison does, rather than in algebraic language about what the cost function fails to be. The framework still takes one thing as given, that comparison can tell some pair of quantities apart, but it no longer needs to assume the algebraic form of that fact separately.
The declaration does not claim that any particular physical comparison is distinguishable, only that if one is, the algebraic non-triviality follows. It does not prove that the zero operator is impossible, only that it is excluded by the distinguishability assumption. And it does not derive the full cost function; that work belongs to the later functional equation. What it establishes is the hinge: the moment comparison works at all, the framework's logic has a non-vacuous object to study.
THEOREM nonTrivial_of_distinguishability · IndisputableMonolith/Foundation/NonTrivialityFromDistinguishability.lean
/-- **Equivalence (forward)**: distinguishability implies the algebraic
non-triviality predicate, given Scale Invariance. -/
theorem nonTrivial_of_distinguishability
(C : ComparisonOperator)
(hSI : ScaleInvariant C)
(hDist : Distinguishability C) :
NonTrivial C := by
obtain ⟨x, y, hx, hy, hxy⟩ := hDist
-- Use scale invariance with λ = y⁻¹ to get C(x/y, 1) = C(x, y) ≠ 0.
have hyinv : (0 : ℝ) < y⁻¹ := inv_pos.mpr hy
have hxoverypos : (0 : ℝ) < x / y := div_pos hx hy
have hkey : C (y⁻¹ * x) (y⁻¹ * y) = C x y := hSI x y y⁻¹ hx hy hyinv
have hyne : (y : ℝ) ≠ 0 := ne_of_gt hy
have hyinv_y : y⁻¹ * y = 1 := inv_mul_cancel₀ hyne
have hyinv_x : y⁻¹ * x = x / y := by
field_simp
rw [hyinv_y, hyinv_x] at hkey
refine ⟨x / y, hxoverypos, ?_⟩
show derivedCost C (x / y) ≠ 0
unfold derivedCost
rw [hkey]
exact hxy
THEOREM nonTrivial_iff_distinguishability · IndisputableMonolith/Foundation/NonTrivialityFromDistinguishability.lean
/-- **Equivalence theorem**: under scale invariance, distinguishability
and non-triviality are the same condition. -/
theorem nonTrivial_iff_distinguishability
(C : ComparisonOperator) (hSI : ScaleInvariant C) :
NonTrivial C ↔ Distinguishability C :=
⟨distinguishability_of_nonTrivial C, nonTrivial_of_distinguishability C hSI⟩
THEOREM constZero_identity · constZero_nonContradiction · constZero_scaleInvariant · constZero_continuous · IndisputableMonolith/Foundation/NonTrivialityFromDistinguishability.lean
/-- Constant zero satisfies identity. -/
theorem constZero_identity : Identity constZero := by
intro x _; rfl
/-- Constant zero satisfies non-contradiction. -/
theorem constZero_nonContradiction : NonContradiction constZero := by
intro x y _ _; rfl
/-- Constant zero is scale-invariant. -/
theorem constZero_scaleInvariant : ScaleInvariant constZero := by
intro _ _ _ _ _ _; rfl
/-- Constant zero is continuous on the positive quadrant. -/
theorem constZero_continuous : ExcludedMiddle constZero := by
unfold ExcludedMiddle
exact continuousOn_const
What this page does not claim
No particular comparison operator is shown to be distinguishable. The zero operator is not proved impossible, only excluded by the distinguishability assumption. The full cost function J is not derived in this declaration.
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/NonTrivialityFromDistinguishability.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 physical situation, if any, guarantees that a comparison operator is distinguishable?
- How does the equivalence extend when scale invariance is dropped?
- What does the absolute floor condition add beyond distinguishability?
MACHINE LAYER · GROUNDED CLAIM TABLE · CLICK TO EXPAND
THEOREM nonTrivial_of_distinguishability · IndisputableMonolith/Foundation/NonTrivialityFromDistinguishability.lean
/-- **Equivalence (forward)**: distinguishability implies the algebraic non-triviality predicate, given Scale Invariance. -/ theorem nonTrivial_of_distinguishability (C : ComparisonOperator) (hSI : ScaleInvariant C) (hDist : Distinguishability C) : NonTrivial C := by obtain ⟨x, y, hx, hy, hxy⟩ := hDist -- Use scale invariance with λ = y⁻¹ to get C(x/y, 1) = C(x, y) ≠ 0. have hyinv : (0 : ℝ) < y⁻¹ := inv_pos.mpr hy have hxoverypos : (0 : ℝ) < x / y := div_pos hx hy have hkey : C (y⁻¹ * x) (y⁻¹ * y) = C x y := hSI x y y⁻¹ hx hy hyinv have hyne : (y : ℝ) ≠ 0 := ne_of_gt hy have hyinv_y : y⁻¹ * y = 1 := inv_mul_cancel₀ hyne have hyinv_x : y⁻¹ * x = x / y := by field_simp rw [hyinv_y, hyinv_x] at hkey refine ⟨x / y, hxoverypos, ?_⟩ show derivedCost C (x / y) ≠ 0 unfold derivedCost rw [hkey] exact hxyThe declaration proves that if a comparison operator is scale invariant and distinguishable, meaning there exists at least one pair of distinct positive quantities whose comparison cost is not zero, then the operator is non-trivial in the technical sense: it is not identically zero on positive ratios. nonTrivial_of_distinguishability · IndisputableMonolith/Foundation/NonTrivialityFromDistinguishability.leanTHEOREM nonTrivial_iff_distinguishability · IndisputableMonolith/Foundation/NonTrivialityFromDistinguishability.lean
/-- **Equivalence theorem**: under scale invariance, distinguishability and non-triviality are the same condition. -/ theorem nonTrivial_iff_distinguishability (C : ComparisonOperator) (hSI : ScaleInvariant C) : NonTrivial C ↔ Distinguishability C := ⟨distinguishability_of_nonTrivial C, nonTrivial_of_distinguishability C hSI⟩Together, the two directions form an equivalence, nonTrivial_iff_distinguishability, which the framework's machine-checked library of formal theorems verifies under the assumption of scale invariance alone. nonTrivial_iff_distinguishability · IndisputableMonolith/Foundation/NonTrivialityFromDistinguishability.leanTHEOREM constZero_identity · constZero_nonContradiction · constZero_scaleInvariant · constZero_continuous · IndisputableMonolith/Foundation/NonTrivialityFromDistinguishability.lean
/-- Constant zero satisfies identity. -/ theorem constZero_identity : Identity constZero := by intro x _; rfl/-- Constant zero satisfies non-contradiction. -/ theorem constZero_nonContradiction : NonContradiction constZero := by intro x y _ _; rfl/-- Constant zero is scale-invariant. -/ theorem constZero_scaleInvariant : ScaleInvariant constZero := by intro _ _ _ _ _ _; rfl/-- Constant zero is continuous on the positive quadrant. -/ theorem constZero_continuous : ExcludedMiddle constZero := by unfold ExcludedMiddle exact continuousOn_constThe operator that always answers zero, no matter which two quantities it is given, satisfies all four laws. constZero_identity · constZero_nonContradiction · constZero_scaleInvariant · constZero_continuous · IndisputableMonolith/Foundation/NonTrivialityFromDistinguishability.lean