Table of contents
Flatfile Agential Resource System Relation
What this is
A FlatfileAgentialResourceSystemRelation is a named relation that an entity in a FARS stands in. When an entity carries a relation, it stands in that relation — the relation says something true about the entity. This is the Fregean pattern: the relation name IS the relation, not a label for a relation. The entity is the subject; the relation is the predicate; the value is the object.
This derives from generative-closure condition 4: exponential closure. For relations to be first-class objects in R — for the system to be able to reason about its own relations — each relation must itself be an entity in R. A relation that is not itself an entity is an edge whose label has no node: the graph cannot navigate to it, cannot constrain it, cannot reason about it.
Relations as nucleus fixed points
Every specific relation is a nucleus fixed point: the result of the saturation nucleus acting on the raw relation proposal related(A, B).
related: is the pre-nucleus form.
grounding:, uses:, extends:, and all other specific predicates are what related: normalizes to under nucleus evaluation.
This means every specific relation can be arrived at by:
- Stating
related(A, B)— proposing that A and B stand in some relation - Submitting the proposal to the nucleus
- Reading the settled result
The propose-grounding skill is the instance of this procedure for the grounding: predicate.
The same normalization structure applies to every specific predicate.
How to introduce a relation
To introduce a relation P into a locale’s vocabulary:
- Create a specced entity for P — an entity with
id: Panddescription:stating what the relation means. - That entity is itself a RelationalEntity: it is now in R, it is a node the graph can reason about.
Once the entity exists, P may be used as a named relation without creating vocabulary debt.
Until then, using P creates a debt: an edge whose label has no node.
A FlatfileAgentialResourceSystemRelation MUST have id and description.
It MUST be declared before it is used anywhere in the system.
Its description MUST state what the relation means — what is true of an entity that stands in this relation.
A FlatfileAgentialResourceSystemRelation CANNOT come into existence merely by being used — it must be declared as an entity first.
Where the relation entity lives is a matter of scope. A relation used only within one locale lives in that locale’s vocabulary directory. A relation used across locales lives wherever cross-locale vocabulary is maintained.
Open questions
- The precise categorical definition of a relation in : is it a morphism into (the subobject classifier), a natural transformation between functors, or something else? The spec-level description (a relation an entity stands in) is correct but the math grounding is not yet derived.
- Relation scoping and cross-locale reference: the math is clear — local-global-dyad establishes that a relation used within one locale is a local section of the propositional presheaf ; a relation shared across locales must be a global section satisfying the sheaf condition so that restriction maps carry it consistently to each locale’s fiber. The spec-level implication — how restriction maps on shared relation entities are concretely represented in any FARS — has not yet been derived from this math.