Encyclopedia Foundation Foundation Primitive Recognition Calculus Quotient Endpoint Class Lift
ARTICLE 3 claims 1 theorem 2 models
Foundation Primitive Recognition Calculus Quotient Endpoint Class Lift
When two endpoints of a trace are judged equivalent, any function that respects that equivalence can be lifted to the class itself.
The quotient lift
In mathematics, a quotient construction groups together objects that are considered equivalent under some relation. The declaration endpointClassLift is the formal statement that this grouping is well-behaved for the Recognition Science framework's primitive recognition calculus. It says: given a function defined on individual endpoints, if that function assigns the same value to any two endpoints judged equivalent by the framework's SameT relation, then the function can be lifted to the equivalence classes themselves. This is a standard and necessary technical step, ensuring that definitions made on classes do not depend on which representative endpoint one picks.
The declaration is a definition, not a theorem about the physical world. It constructs the lift using the quotient type's built-in recursion principle. The accompanying theorem, endpointClassLift_mk, confirms the lift behaves as expected: applying the lifted function to the class of an endpoint yields the original function applied to that endpoint. This is a computational identity, established by definitional equality, not a claim about traces, judgments, or recognition events in the physical sense.
In Recognition Science, the framework uses this construction to talk about endpoints of a trace up to the equivalence relation SameT. The framework models a trace as a record of recognition events, and endpoints as the objects at the start and end of such a record. The equivalence relation SameT captures when two endpoints are judged the same at a fixed trace. The quotient EndpointClass collects these endpoints into classes, and the lift allows functions that respect the equivalence to be defined on those classes. This is a purely formal, logical construction within the framework's library of machine-checked theorems.
What the declaration does not claim is just as important as what it establishes. It does not claim that any particular function is well-defined on classes; it only provides the mechanism for lifting functions that already satisfy the required compatibility condition. It does not assert that the equivalence relation SameT captures any physical notion of sameness; that is a modeling choice made elsewhere in the framework. And it does not prove that any specific endpoint is equivalent to any other; it only states what follows if such an equivalence is given.
The practical payoff is that the framework can build definitions on quotient classes with confidence that they are coherent. When a later theorem needs to assign a property to an entire class of endpoints rather than to individual representatives, the lift is the tool that makes the assignment legitimate. This is a small but load-bearing piece of the framework's logical machinery, the kind of step that must be airtight before any larger physical claim can be built on top of it.
MODEL endpointClassLift · IndisputableMonolith/Foundation/PrimitiveRecognitionCalculus/Quotient.lean
/-- K4.4. Quotient recursion for SameT-respecting maps. -/
def endpointClassLift
(J : TraceJudgment) (T : Trace) {α : Sort _}
(f : Endpoint → α)
(hf : ∀ {a b : Endpoint}, J.same T a b → f a = f b) :
EndpointClass J T → α :=
Quot.lift f (by
intro a b h
exact hf h)
THEOREM endpointClassLift_mk · IndisputableMonolith/Foundation/PrimitiveRecognitionCalculus/Quotient.lean
@[simp] theorem endpointClassLift_mk
(J : TraceJudgment) (T : Trace) {α : Sort _}
(f : Endpoint → α)
(hf : ∀ {a b : Endpoint}, J.same T a b → f a = f b)
(a : Endpoint) :
endpointClassLift J T f hf (endpointClassOf J T a) = f a := by
rfl
MODEL sameSetoid · IndisputableMonolith/Foundation/PrimitiveRecognitionCalculus/Quotient.lean
/-- K2.11. The setoid induced by SameT at a fixed trace. -/
def sameSetoid (J : TraceJudgment) (T : Trace) : Setoid Endpoint where
r := J.same T
iseqv := {
refl := J.same_refl_proof T
symm := by
intro a b h
exact J.same_symm_proof T h
trans := by
intro a b c hab hbc
exact J.same_trans_proof T hab hbc
}
What this page does not claim
No claim that any particular function is well-defined on classes; the lift only works for functions that already satisfy the compatibility condition. No claim that SameT captures a physical notion of sameness; that is a modeling choice, not a theorem. No assertion that any specific endpoints are equivalent; the declaration only states what follows given such an equivalence.
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/Quotient.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 interpretation does the framework give to the SameT equivalence relation on endpoints?
- Which later theorems in the framework rely on endpointClassLift to define properties on whole endpoint classes?
- How does the quotient construction relate to the framework's treatment of recognition events as a discrete ledger?
MACHINE LAYER · GROUNDED CLAIM TABLE · CLICK TO EXPAND
MODEL endpointClassLift · IndisputableMonolith/Foundation/PrimitiveRecognitionCalculus/Quotient.lean
/-- K4.4. Quotient recursion for SameT-respecting maps. -/ def endpointClassLift (J : TraceJudgment) (T : Trace) {α : Sort _} (f : Endpoint → α) (hf : ∀ {a b : Endpoint}, J.same T a b → f a = f b) : EndpointClass J T → α := Quot.lift f (by intro a b h exact hf h)The declaration endpointClassLift is the formal statement that a function respecting the SameT equivalence can be lifted to the quotient classes. endpointClassLift · IndisputableMonolith/Foundation/PrimitiveRecognitionCalculus/Quotient.leanTHEOREM endpointClassLift_mk · IndisputableMonolith/Foundation/PrimitiveRecognitionCalculus/Quotient.lean
@[simp] theorem endpointClassLift_mk (J : TraceJudgment) (T : Trace) {α : Sort _} (f : Endpoint → α) (hf : ∀ {a b : Endpoint}, J.same T a b → f a = f b) (a : Endpoint) : endpointClassLift J T f hf (endpointClassOf J T a) = f a := by rflThe accompanying theorem, endpointClassLift_mk, confirms the lift behaves as expected: applying the lifted function to the class of an endpoint yields the original function applied to that endpoint. endpointClassLift_mk · IndisputableMonolith/Foundation/PrimitiveRecognitionCalculus/Quotient.leanMODEL sameSetoid · IndisputableMonolith/Foundation/PrimitiveRecognitionCalculus/Quotient.lean
/-- K2.11. The setoid induced by SameT at a fixed trace. -/ def sameSetoid (J : TraceJudgment) (T : Trace) : Setoid Endpoint where r := J.same T iseqv := { refl := J.same_refl_proof T symm := by intro a b h exact J.same_symm_proof T h trans := by intro a b c hab hbc exact J.same_trans_proof T hab hbc }The equivalence relation SameT captures when two endpoints are judged the same at a fixed trace. sameSetoid · IndisputableMonolith/Foundation/PrimitiveRecognitionCalculus/Quotient.lean