Encyclopedia Foundation Foundation Primitive Recognition Calculus Prcone Primitive Act Judgment Same Dec
ARTICLE 3 claims 3 theorems
Foundation Primitive Recognition Calculus Prcone Primitive Act Judgment Same Dec
In Recognition Science, the act of distinguishing two things is not a separate primitive: it is a derived property of the act-generated structure itself.
The derived comparison
In Recognition Science, the framework's foundational calculus begins with a primitive act of recognition that generates a discrete structure. The declaration actJudgment_same_decidable establishes a precise fact about this structure: for any two endpoints in the act-generated type, the judgment that they are the same is decidable, meaning the framework can always compute whether they are equal or different. This is not an assumption; it is a theorem proved by structural recursion on the constructors of the type.
The declaration is part of a chain that resolves a central question: whether comparison is an independent primitive or a derived consequence of the act itself. The theorem actJudgment_same states that the judgment same (the act's verdict that two endpoints are identical) holds exactly when the endpoints are equal. Similarly, actJudgment_diff states that the judgment diff (the verdict that they are different) holds exactly when they are not equal. The decidable instance then shows that this comparison is computable purely from the act-generated structure, requiring no second primitive for the act of comparing.
The broader theorem comparison_is_derived_not_primitive generalizes this: for any judgment that is an equivalence, tight (diff is the negation of same), and separating (left and right are always different), the same relation is forced to be the decidable equality carried by the structure. This means the same/different judgment is derived from the act, not an independent second primitive. The framework models recognition as one primitive act, and the ability to compare is a consequence of that act, not a separate assumption.
This result does not claim that comparison is impossible or that the framework denies the need for a comparison operation. It claims that the operation is not a fundamental primitive; it is a derived feature. The declaration also does not claim that the framework can decide equality for all types in general; it applies specifically to the act-generated two-endpoint type. It does not claim that the framework's notion of same is the only possible notion; it shows that under the stated conditions, any admissible judgment collapses to the standard equality relation.
THEOREM actJudgment_same_decidable · IndisputableMonolith/Foundation/PrimitiveRecognitionCalculus/PRCOnePrimitive.lean
/-- The forced comparison is decidable, computed purely from the act-generated
inductive structure. This is the formal sense in which "compare" needs no second
primitive: it is `decide` on a freely generated type. -/
instance actJudgment_same_decidable (T : Trace) (a b : Endpoint) :
Decidable (actJudgment.same T a b) := by
show Decidable (a = b)
exact inferInstance
THEOREM actJudgment_same · IndisputableMonolith/Foundation/PrimitiveRecognitionCalculus/PRCOnePrimitive.lean
theorem actJudgment_same (T : Trace) (a b : Endpoint) :
actJudgment.same T a b ↔ a = b := Iff.rfl
THEOREM comparison_is_derived_not_primitive · IndisputableMonolith/Foundation/PrimitiveRecognitionCalculus/PRCOnePrimitive.lean
/-- **Item 5 resolution.** Recognition is one primitive. For any judgment that is
an equivalence (the admissibility fields), tight, and separating, the `same`
relation is forced to be the decidable equality carried by the act-generated
structure. Hence the same/different judgment is derived from the act, not an
independent second primitive. -/
theorem comparison_is_derived_not_primitive
(J : TraceJudgment)
(htight : ∀ (T : Trace) (a b : Endpoint), J.diff T a b ↔ ¬ J.same T a b)
(hsep : ∀ T : Trace, J.diff T Endpoint.left Endpoint.right) :
∀ (T : Trace) (a b : Endpoint),
(J.same T a b ↔ a = b)
∧ (J.same T a b ↔ actJudgment.same T a b) := by
intro T a b
have h := genuine_judgment_same_is_equality J htight hsep T a b
exact ⟨h, h.trans (actJudgment_same T a b).symm⟩
What this page does not claim
The declaration does not claim that comparison is impossible or unnecessary; it claims it is derived, not primitive. The declaration does not claim that equality is decidable for all types in general, only for the act-generated two-endpoint type. The declaration does not claim that the framework's notion of same is the only possible notion; it shows that under stated conditions, any admissible judgment collapses to standard equality.
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/PrimitiveRecognitionCalculus/PRCOnePrimitive.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 does the framework's primitive act of recognition generate beyond the two-endpoint type?
- How does the derived comparison extend to act-generated types with more than two endpoints?
- What are the admissible conditions for a judgment to be forced to equality in the framework?
MACHINE LAYER · GROUNDED CLAIM TABLE · CLICK TO EXPAND
THEOREM actJudgment_same_decidable · IndisputableMonolith/Foundation/PrimitiveRecognitionCalculus/PRCOnePrimitive.lean
/-- The forced comparison is decidable, computed purely from the act-generated inductive structure. This is the formal sense in which "compare" needs no second primitive: it is `decide` on a freely generated type. -/ instance actJudgment_same_decidable (T : Trace) (a b : Endpoint) : Decidable (actJudgment.same T a b) := by show Decidable (a = b) exact inferInstanceThe declaration actJudgment_same_decidable establishes that the judgment that two endpoints are the same is decidable, computed purely from the act-generated inductive structure. actJudgment_same_decidable · IndisputableMonolith/Foundation/PrimitiveRecognitionCalculus/PRCOnePrimitive.leanTHEOREM actJudgment_same · IndisputableMonolith/Foundation/PrimitiveRecognitionCalculus/PRCOnePrimitive.lean
theorem actJudgment_same (T : Trace) (a b : Endpoint) : actJudgment.same T a b ↔ a = b := Iff.rflThe theorem actJudgment_same states that the judgment same holds exactly when the endpoints are equal. actJudgment_same · IndisputableMonolith/Foundation/PrimitiveRecognitionCalculus/PRCOnePrimitive.leanTHEOREM comparison_is_derived_not_primitive · IndisputableMonolith/Foundation/PrimitiveRecognitionCalculus/PRCOnePrimitive.lean
/-- **Item 5 resolution.** Recognition is one primitive. For any judgment that is an equivalence (the admissibility fields), tight, and separating, the `same` relation is forced to be the decidable equality carried by the act-generated structure. Hence the same/different judgment is derived from the act, not an independent second primitive. -/ theorem comparison_is_derived_not_primitive (J : TraceJudgment) (htight : ∀ (T : Trace) (a b : Endpoint), J.diff T a b ↔ ¬ J.same T a b) (hsep : ∀ T : Trace, J.diff T Endpoint.left Endpoint.right) : ∀ (T : Trace) (a b : Endpoint), (J.same T a b ↔ a = b) ∧ (J.same T a b ↔ actJudgment.same T a b) := by intro T a b have h := genuine_judgment_same_is_equality J htight hsep T a b exact ⟨h, h.trans (actJudgment_same T a b).symm⟩The theorem comparison_is_derived_not_primitive shows that for any judgment that is an equivalence, tight, and separating, the same relation is forced to be the decidable equality carried by the structure. comparison_is_derived_not_primitive · IndisputableMonolith/Foundation/PrimitiveRecognitionCalculus/PRCOnePrimitive.lean