Skip to content

The params: frontmatter field of a FARS spec, understood as a CapabilitySignature over the FARS sort vocabulary — a finite function κ: ParamNames → FARSSorts assigning a FARS sort (a spec id used as a type) to each named parameter slot. The defining structure: the params: block of every FARS spec is a 0-ary Signature over the set of declared spec ids; it specifies what typed values must be provided to instantiate the spec. Two specs have a subsumption morphism ι: κ₁ → κ₂ when every param in κ₁ appears in κ₂ with the same sort — satisfying the more demanding spec entails satisfying the less demanding one. The output: field specifies the sort produced by a spec that satisfies its own params block.
Table of contents

Flatfile Agential Resource System Params

Formal definition

The params: field of a FARS spec is a CapabilitySignature κP\kappa_P whose sort set is the FARS sort vocabulary:

κP:ParamNamesPSFARS\kappa_P : \mathrm{ParamNames}_P \to \mathcal{S}_\mathrm{FARS}

where:

  • ParamNamesP\mathrm{ParamNames}_P is the finite set of parameter names declared in the params: field of spec PP (e.g., vessel, persons, role-assignment, mandate)
  • SFARS\mathcal{S}_\mathrm{FARS} is the FARS sort vocabulary — the set of spec identifiers that function as types in the system: {relational-universe,  relational-universe-morphism,  person,  vessel,  charter,  area,  norm,  }\{\mathtt{relational\text{-}universe},\; \mathtt{relational\text{-}universe\text{-}morphism},\; \mathtt{person},\; \mathtt{vessel},\; \mathtt{charter},\; \mathtt{area},\; \mathtt{norm},\; \ldots\}; each sort names a spec in spec/ and therefore names a kind of structured object
  • κP(ni)=sj\kappa_P(n_i) = s_j asserts that parameter nin_i of spec PP requires a value of sort sjs_j — an object that satisfies the spec with id sjs_j

The output field. Every spec with a params block also carries an output: field specifying a sort outPSFARS\mathrm{out}_P \in \mathcal{S}_\mathrm{FARS}. This is the result sort — the sort of the object the spec produces when its params block is satisfied. The params block κP\kappa_P together with outP\mathrm{out}_P form the functional profile of spec PP: κPoutP\kappa_P \Rightarrow \mathrm{out}_P.

Three invariants. κP\kappa_P is a valid params block iff:

  1. Sort groundedness: every sort simg(κP)s \in \mathrm{img}(\kappa_P) and the output sort outP\mathrm{out}_P are spec ids that resolve to an existing entity in the system. A param whose sort has no corresponding spec creates vocabulary debt — an edge whose label has no node. Every sort in κP\kappa_P must name a spec that has been declared before κP\kappa_P is used.

  2. Name uniqueness within spec: parameter names within a single spec’s params block are distinct — κP\kappa_P is a function, not a multimap. Two params of the same sort must have distinct names (e.g., source: person and target: person are distinct params).

  3. Finiteness: ParamNamesP<|\mathrm{ParamNames}_P| < \infty. A params block with infinitely many parameters cannot be satisfied at any history.

The FARS sort vocabulary

The sort vocabulary SFARS\mathcal{S}_\mathrm{FARS} is managed as a FARS entity: each sort sSFARSs \in \mathcal{S}_\mathrm{FARS} must have a corresponding spec with id: s in the spec/ directory. The sort vocabulary is exactly the set of id: values of existing specs.

This means:

  • Adding a new sort = writing a new spec
  • A sort is well-typed iff its spec exists
  • Using an undeclared sort in a params block creates a dangling reference — a capability signature over a non-existent sort

The sort vocabulary is not closed a priori; it is whatever the current spec corpus defines. New sorts enter through spec declaration, not through modification of a central type registry.

Subsumption between params blocks

Definition. A subsumption morphism ι:κP1κP2\iota : \kappa_{P_1} \hookrightarrow \kappa_{P_2} between two params blocks exists iff:

ParamNamesP1ParamNamesP2andnParamNamesP1:κP2(n)=κP1(n)\mathrm{ParamNames}_{P_1} \subseteq \mathrm{ParamNames}_{P_2} \quad \text{and} \quad \forall n \in \mathrm{ParamNames}_{P_1} : \kappa_{P_2}(n) = \kappa_{P_1}(n)

Spec P2P_2 is more demanding than P1P_1: satisfying P2P_2’s params block entails satisfying P1P_1’s. This is the formal meaning of extends: in FARS frontmatter — P2P_2 extends P1P_1 iff ι:κP1κP2\iota : \kappa_{P_1} \hookrightarrow \kappa_{P_2}.

Theorem (Params Subsumption Satisfaction). If ι:κP1κP2\iota : \kappa_{P_1} \hookrightarrow \kappa_{P_2} and a spec instance MM satisfies κP2\kappa_{P_2} at history tt, then MM satisfies κP1\kappa_{P_1} at history tt.

Proof sketch. Satisfaction of κP2\kappa_{P_2} means every parameter in ParamNamesP2\mathrm{ParamNames}_{P_2} has a doubly-settled value-proposition for MM at tt. Since ParamNamesP1ParamNamesP2\mathrm{ParamNames}_{P_1} \subseteq \mathrm{ParamNames}_{P_2} and sorts agree, the value-propositions for κP2\kappa_{P_2} restrict to value-propositions for κP1\kappa_{P_1}. \square

Satisfaction in FARS

Definition. A spec instance is a binding μ:ParamNamesPObjects\mu : \mathrm{ParamNames}_P \to \mathrm{Objects} assigning an object μ(ni)\mu(n_i) of sort κP(ni)\kappa_P(n_i) to each parameter name. The satisfaction proposition for instance μ\mu of spec PP at history tt is instP,μHt\mathrm{inst}_{P,\mu} \in H_t.

Operative satisfaction. instP,μHt\mathrm{inst}_{P,\mu} \in H^*_t iff for every (ni,si)κP(n_i, s_i) \in \kappa_P, the value-proposition vμ(ni),siHtv_{\mu(n_i),s_i} \in H^*_t — every bound value is doubly settled as being of the required sort.

Nuclear derivation

Param-binding propositions. For each parameter niParamNamesPn_i \in \mathrm{ParamNames}_P and provided value viv_i, define bP,ni,viHtb_{P,n_i,v_i} \in H_t as the proposition “value viv_i of sort κP(ni)\kappa_P(n_i) is bound to parameter nin_i of spec PP at history tt.""

Operative satisfaction condition. instP,μHt\mathrm{inst}_{P,\mu} \in H^*_t iff niParamNamesP:bP,ni,μ(ni)Ht\forall n_i \in \mathrm{ParamNames}_P : b_{P,n_i,\mu(n_i)} \in H^*_t.

Sort-grounding proposition. For each sort simg(κP)s \in \mathrm{img}(\kappa_P), define grndsHt\mathrm{grnd}_s \in H_t as the proposition “sort ss has a corresponding spec in the system at history tt."" An ungrounded sort leaves all bindings for that parameter in HtFix(σt)H_t \setminus \mathrm{Fix}(\sigma_t) — they cannot be meaning-settled because the sort itself is unsettled.

Failure modes.

Failure Nuclear characterization Symptom
Dangling sort grndsHt\mathrm{grnd}_s \notin H^*_t for some simg(κP)s \in \mathrm{img}(\kappa_P) Param cannot be type-checked; binding never meaning-settles
Missing param bP,ni,viHtb_{P,n_i,v_i} \notin H_t for required nin_i Partial instance; spec not fully instantiated
Type mismatch bP,ni,viHtb_{P,n_i,v_i} \in H_t but viv_i does not satisfy sort κP(ni)\kappa_P(n_i) Binding meaning-settles falsely; execution-settlement fails
Circular sort simg(κP)s \in \mathrm{img}(\kappa_P) and PParamNamessP \in \mathrm{ParamNames}_s Sort grounding produces fixed-point loop; no history at which both settle

Open questions

  • Whether the FARS sort vocabulary SFARS\mathcal{S}_\mathrm{FARS} should be formalized as a presheaf T:TopSet\mathcal{T} : T^{\mathrm{op}} \to \mathbf{Set} assigning to each history the set of currently-declared sorts, making sort availability history-relative, or whether SFARS\mathcal{S}_\mathrm{FARS} is a global constant.
  • Whether partial satisfaction (providing only some params) should generate a residual params block κPκP\kappa_P \setminus \kappa_{P'} — the signature of remaining unfilled parameters — making partial instantiation a morphism in the preorder of params blocks.
  • Whether the extends: relation exactly corresponds to subsumption morphisms between params blocks, or whether extension carries additional structure beyond type compatibility (e.g., behavioral obligations).

Relations

Ast
Date created
Date modified
Output
Relational universe morphism
Param names
Relational universe
Related
Capability signature, signature, flatfile agential resource system relation, flatfile agential resource system defines
Sort assignment
Relational universe morphism
Spec ID
Relational universe