Res Agentica
Reading

No saved reading position.

Reading

No saved reading position.

Vocabulary Operators

Controlled expansion of what can be said

9 min read
Aa
Text size
A11Written accountHow a formal system extends its expressive power without breaking coherence.

This interlude serves as a worked example within The Proofs, applying the Part II machinery -- invariants (A7), isomorphisms (A8), adjunctions (A9), and witnessed sameness (A10) -- to the problem of vocabulary evolution. It defines A11 (Vocabulary Operator), which formalizes the feedback loop through which predicates are invented, tested, and refined, subject to the constraint that extensions must be conservative where possible and explicitly witnessed where not. The motivating scenario of evolving product taxonomies is drawn from Vol I, Chapter 5 (Empire of Tables); here it receives formal treatment as a controlled strange loop stabilized by the invariants and equivalences of the preceding chapters.

The Vocabulary Loop

Imagine a merchandiser adding a term to a catalog: "cottagecore aesthetic." The term enters the product database as a tag. Buyers start searching for it. The search logs reveal which products customers expect to match. Some matches surprise the merchandiser. Others are missing. The definition gets refined. New products get tagged. The refined definition changes what customers find, which changes what they search for, which changes what the merchandiser observes about customer intent.

The definition helps organize observations that may, in turn, lead someone to revise the definition. The title borrows Hofstadter’s image of a “strange loop” for this return from use to vocabulary; it does not identify every feedback process with his account.

The loop has a shape familiar from cognitive science, where categorization and vocabulary co-evolve:

  1. Observation: The system sees patterns in data or behavior.
  2. Predicate invention: Someone (human or automated) introduces a new distinction.
  3. Query: The new predicate enables new questions.
  4. New observation: Answers to those questions reveal something previously invisible.
  5. Refinement: The predicate's definition changes in response.
  6. Repeat.

In a static system, vocabulary is given. In a living system, vocabulary evolves. The Third Mode must handle both, which means it must handle the transition from one vocabulary to another without losing coherence.

A changed definition can alter an answer even when the underlying records remain fixed. A query that returned 47 items yesterday might return 52 today, not because the data changed, but because the definition of "cottagecore" drifted.

The feedback gives a reason to revise this definition. The task is to control the loop: to specify what changes are permitted, what invariants must hold across changes, and what witnesses must accompany any extension.

The Vocabulary Operator

A11
Vocabulary Operator (A11)

A vocabulary V consists of:

  • A signature Σ (sorts, function symbols, relation symbols)
  • A set of defined predicates (built from Σ using some definitional mechanism)
  • A logic L that determines consequence

A vocabulary extension V → V′ adds new symbols or predicates to V.

The extension is conservative over invariant set I iff:

For every statement φ expressible in V: if V′, I ⊢ φ, then V, I ⊢ φ.

In the stated logical sense, the extension has exactly the same consequences in the old language. It need not add expressive power: a definition may make a previously expressible construction easier to use. Preserving an evaluator or a query’s results requires a separate operational contract.

Conservativity is evaluated relative to a pinned vocabulary version. Redefining a predicate is not an extension but the introduction of a new symbol Pv+1P_{v+1} plus witnesses relating it to PvP_v.

The feedback loop, formally:

observations→patterncandidate predicate→testqueries→evidencerefinement\text{observations} \xrightarrow{\text{pattern}} \text{candidate predicate} \xrightarrow{\text{test}} \text{queries} \xrightarrow{\text{evidence}} \text{refinement}

Stabilization requirement: Each step in the loop must either:

  1. Be conservative relative to a pinned VtV_t, or
  2. Declare a breaking change with explicit migration semantics

The vocabulary operator V ↦ V′ is not a function you call once but a discipline you maintain. Every time you add a predicate, you must answer: does this preserve the invariants? Does it respect existing equivalences? If a witness w says A ∼ B, and you add predicate P, does P(A) = P(B)?

That last question connects A11 back to A10. Witnessed equivalences constrain vocabulary extension. If the transport contract treats "navy" and "dark blue" as interchangeable for a given color query, a new predicate may distinguish them for another inquiry. The old contract is broken only if its promised substitution is changed or the new use improperly inherits it. The extension must state which comparisons it preserves.

The "Puffy" Loop

Consider the touchstone case: T6 (Predicate Invention).

A buyer searches for "puffy dresses." The system has no predicate for puffiness. Someone proposes one: a dress is puffy if its silhouette volume exceeds a threshold relative to body fit.

Iteration 1: The predicate is deployed. Queries run. Results include ball gowns, puffer-jacket dresses, and some ruffly items. Users provide feedback: the ball gowns are right, the puffer jackets are wrong (that's "quilted," not "puffy"), the ruffles are ambiguous.

Iteration 2: The predicate is refined: puffy requires volume from fabric structure (tulle, organza, layering), not from insulation or hardware. The quilted items drop out. The ruffles are tagged for human review.

Iteration 3: Edge cases surface. A dress with dramatic sleeves but a fitted bodice. Is that puffy? The merchandiser decides: puffiness is a property of the overall silhouette, not individual elements. The definition tightens.

Each iteration is a vocabulary change. The predicate "puffy_v1" is not the same as "puffy_v2." If the system treats them as identical, it will produce inconsistent query results across versions. If it treats them as completely unrelated, it loses continuity.

The solution is versioned predicates with explicit compatibility witnesses. The system records a witness w:Pv2⪯Pv1w: P_{v2} \preceq P_{v1}, where ⪯\preceq is the refinement preorder on predicates: P′⪯PP' \preceq P iff ∀x. P′(x)⇒P(x)\forall x.\, P'(x) \Rightarrow P(x). Every item satisfying puffy_v2 satisfies puffy_v1, but not conversely. The implication transports a positive v2 result to a positive v1 result. It does not establish an adjunction or preserve every old query. An item accepted by v1 but excluded by v2 has a definite changed classification under these definitions; missing evidence for a transport is a separate problem. Migration can specify re-tagging, review or continued use of the earlier version, subject to the use’s requirements.

Why the Loop Needs Brakes

A later user needs to recover which definition produced an earlier answer. Otherwise a revised label can make a changed judgment look like a change in the evidence. Versioning keeps that difference available while allowing the new definition to be used.

The brakes are:

Invariants (from A7). Some properties must survive any vocabulary change. If your system declares (for merchandising purposes) that "minimalist" and "maximalist" are mutually exclusive, then no predicate extension can introduce an item that violates that constraint. The invariant is a hard brake on the extension.

Conservative extension (from A3b). An extension claiming logical conservativity must not add consequences in the old language. This is not always achievable, but it is the default expectation. Non-conservative extensions require justification.

Witnessed equivalences (from A10). If the system has committed to an equivalence with a witness, new predicates must respect the transport rules. A predicate that breaks transport is a breaking change.

Scope (from A10). A vocabulary extension can be scoped. "Puffy_v2" applies in the 2026 catalog; "puffy_v1" applies in the 2025 archive. The versions coexist in different scopes. Transport between scopes requires an explicit witness.

The loop is not stopped. It is governed.

Cottagecore Drift

Consider a hypothetical merchandiser’s changing use of "cottagecore" over three seasons.

Spring 2025: Cottagecore = floral prints + natural fibers + relaxed silhouettes. The definition is ostensive: here are 50 exemplars.

Fall 2025: A new designer collection uses "cottagecore" to describe structured linen blazers. The term stretches. Some buyers complain: "That's not cottagecore." The merchandiser adds a soft constraint: cottagecore prefers relaxed over structured. The blazers remain tagged but rank lower in cottagecore searches.

Spring 2026: "Dark cottagecore" emerges as a subgenre: same silhouettes, darker palette, gothic motifs. Is it still cottagecore? The merchandiser creates a hierarchy: cottagecore_classic, cottagecore_dark, with cottagecore as the parent. The parent covers both children; it need not satisfy the conjunction of their distinguishing constraints. The implication from cottagecore_classic to cottagecore establishes inclusion. Conservativity requires the separate claim that this extension adds no consequence in the old language.

At each step, the vocabulary operator fires. The question each time: what invariants must hold? What equivalences are preserved? What migrations are required?

The revised tag can remain useful while its relationship to the old classification is disputed. A versioned account lets the recipient identify the changed criterion and decide whether an earlier comparison still serves the intended inquiry.

Touchstones in Motion

T6 (Predicate Invention): The vocabulary loop is T6 instantiated. Every new predicate is a vocabulary extension. The loop is the lifecycle: propose, deploy, observe, refine, version.

T9 (Schema Evolution): Predicate versioning is schema evolution at the semantic level. puffy_v1 → puffy_v2 is a schema migration. The question "employees vs contractors → workers" is the same structure: old predicates, new predicates, compatibility witnesses, migration paths.

The touchstones are not static failure cases but dynamics. The vocabulary loop is where those dynamics live.

Incident classifications can also change the actions triggered by a label. Their evidence and authority requirements need a separate account; the vocabulary loop supplies the versioning question, not an identical decision procedure.

Consequence

Part II established a calculus of sameness: invariants, isomorphisms, adjunctions, witnessed equivalences. A changing application may also need to revise the vocabulary that supported yesterday’s results. The loop begins when those earlier distinctions no longer suffice for what its users want to ask.

The vocabulary operator A11 extends the calculus to handle change. A vocabulary extension is a structured event with constraints (conservative where possible), witnesses (respect existing equivalences), and scope (version if necessary). The feedback loop is not chaos; it is a controlled strange loop, stabilized by invariants.

Part III will ask: what is a scope? What is a context? How do local vocabularies compose? The vocabulary operator prepares that question. A vocabulary is not global but indexed by context. Different views may have different predicates. The coherence requirement is not that they share vocabulary, but that their overlaps are compatible.

The version record lets a recipient ask which definition governed yesterday’s answer. Keeping that answer available is different from continuing to certify it after its grounds change.

Search the book

Use ↑ ↓ to move through results; Escape to close.

Search every published chapter, section and reference.

    In this chapter