Registers a propositional variable for use across all premises.
The variable entity to register.
The registered variable (with checksum) and changeset.
Registers an expression-bound variable in a response: a variable that
stands for one expression of the argument the response answers,
either its truth (boundAspect: "statement") or whether its operator's
step holds ("inference"). A premise whose whole content is this
variable, or NOT over it, is a link.
When a variable with the same referent — the same argument, expression and aspect — already exists, it is returned and nothing is added.
The expression-bound variable entity to register.
The registered (or existing) variable and changeset.
Registers a premise-bound propositional variable whose truth value is derived from another premise's evaluation.
The premise-bound variable entity to register.
The registered variable (with checksum) and changeset.
Idempotent lookup-or-create for a claim-bound variable. If a
claim-bound variable for claimId already exists in this argument,
it is returned as-is. Otherwise a new variable is created with a
fresh UUID, the current version of the claim from the ClaimLibrary,
and an auto-generated symbol.
This method is used internally by derivation premise initialization but is also available to callers that need to pin a claim as a propositional variable without creating a full premise.
The ID of the claim to bind a variable to.
The existing or newly created TClaimBoundVariable.
Returns the variable with the given ID, or undefined if not found.
The variable ID to look up.
The variable entity, or undefined.
Returns the variable with the given symbol, or undefined if not
found.
The symbol string to look up.
The variable entity, or undefined.
Returns the premise-bound variables bound to the given premise of this argument. A variable bound into another argument is never included, even when that argument's premise has the same ID. This is a linear scan over all variables.
The premise ID to filter by.
An array of variables bound to the given premise.
Returns true if a variable with the given ID exists.
The variable ID to check.
Whether the variable exists.
Moves a response to another version of the argument it answers. The
classification classifyBindings gives is computed again from
targetFrom, targetTo and options; respondsTo becomes
targetTo; every unchanged binding is re-pointed; and every changed
or removed binding takes the caller's decision. Claim-bound variables
are left alone: a claim the response shares with the target is the
same proposition in every version.
Afterwards every expression-bound variable must be bound to
targetTo and name an expression present there, and validateLinks
must report no fault it did not report before; otherwise the whole
rebase is undone.
Optionaloptions: TClassifyBindingsOptionsThe classification acted on, and a changeset holding the
argument's new respondsTo and every variable and premise changed.
Removes a variable and cascade-deletes all expressions referencing it
across every premise (including their full subtrees). Operator
collapse on the surviving parents is the AN-3
post-mutation hook's responsibility in assistive behavior; in
permissive behavior the un-collapsed shape stays and surfaces via
engine.validate('presentable').
The ID of the variable to remove.
The removed variable, or undefined if not found.
Updates fields on an existing variable. Since all premises share the same VariableManager, the update is immediately visible everywhere.
The ID of the variable to update.
Fields to update. For claim-bound variables: symbol,
claimId, claimVersion. For premise-bound variables: symbol,
boundPremiseId, boundArgumentId, boundArgumentVersion. For
expression-bound variables: symbol only — rebaseResponse
re-points them.
claimId and claimVersion must be provided together on claim-bound variables.
The updated variable, or undefined if not found.
Variable CRUD and lookup across the argument.