Liking cljdoc? Tell your friends :D

vaelii.impl.koinii.belief

Koinii belief projection and own-statement disregard — reasoning about what agents hold, built on modal belief projection (vaelii.impl.modal, docs/belief.md) and except visibility masking.

Two capabilities, and a boundary between them that matters:

  • Projection — read what an agent holds. (believes agent P) proves P in the agent's OWN context (CxAgent<agent>), never the asker's, so agents may hold contradictory beliefs without the KB contradicting itself, and asking what one agent believes never pulls in another's. believe-own links an agent's belief context to its koinii write context, so it believes what it asserted and endorsed. This is the whole cross-agent story: you ask what an agent holds from that agent's own context — you never merge one agent's beliefs into another (a cross-agent genlCx would, and would drag one agent's contradictions into the other).

  • Disregard — an agent reversibly withdraws its OWN statement. disregard puts an (except (sentexHandle H)) in the agent's own context, hiding H for reads and derivations, reversibly (restore!), without deleting it. It is restricted to the agent's own statements by construction, and that restriction is the point: except is an index-layer mask — it removes a sentex from view — so using it across agents (agent B hiding agent A's claim) would make a common-descendant context unable to argue: argumentation needs both a claim and its rebuttal visible so the TMS can weigh them, and an index-layer removal takes the claim out of view entirely. Cross-agent disagreement is therefore dispute / argue (speech-acts + adjudication), which keeps both sides visible; except is only ever an agent editing the visibility of what it itself said.

Additive, like the other koinii modules: only the public core API plus modal, sentex, and koinii identity — nothing in core loads it.

Koinii belief projection and own-statement disregard — reasoning about what agents
hold, built on modal belief projection (`vaelii.impl.modal`, `docs/belief.md`) and
`except` visibility masking.

Two capabilities, and a boundary between them that matters:

- **Projection — read what an agent holds.**  `(believes agent P)` proves `P` in the
  agent's OWN context (`CxAgent<agent>`), never the asker's, so agents may
  hold contradictory beliefs without the KB contradicting itself, and asking what one
  agent believes never pulls in another's.  `believe-own` links an agent's belief
  context to its koinii write context, so it believes what it asserted and endorsed.
  This is the whole cross-agent story: you ask what an agent holds *from that agent's
  own context* — you never merge one agent's beliefs into another (a cross-agent
  `genlCx` would, and would drag one agent's contradictions into the other).

- **Disregard — an agent reversibly withdraws its OWN statement.**  `disregard` puts
  an `(except (sentexHandle H))` in the agent's own context, hiding `H` for reads and
  derivations, reversibly (`restore!`), without deleting it.  It is restricted to the
  agent's own statements **by construction**, and that restriction is the point:
  `except` is an **index-layer** mask — it removes a sentex from *view* — so using it
  across agents (agent B hiding agent A's claim) would make a common-descendant context
  unable to *argue*: argumentation needs both a claim and its rebuttal visible so the
  TMS can weigh them, and an index-layer removal takes the claim out of view entirely.
  Cross-agent disagreement is therefore `dispute` / argue (speech-acts + adjudication), which
  keeps both sides visible; `except` is only ever an agent editing the visibility of
  what it *itself* said.

Additive, like the other koinii modules: only the public core API plus `modal`,
`sentex`, and koinii `identity` — nothing in core loads it.
raw docstring

belief-contextclj

(belief-context agent)

The context koinii (believes agent P) projects into — the modal convention's CxAgent<agent> (vaelii.core/context-of-agent). Distinct from the agent's koinii write context (id/context-for); believe-own links the two.

The context koinii `(believes agent P)` projects into — the modal
convention's `CxAgent<agent>` (`vaelii.core/context-of-agent`).  Distinct from
the agent's koinii write context (`id/context-for`); `believe-own` links the two.
sourceraw docstring

believe-ownclj

(believe-own kb agent)

Link agent's belief context to its OWN koinii context (id/context-for) — (genlCx CxAgent<agent> CxAgentWriteCtx) — so (believes agent P) reflects what the agent asserted and endorsed as speech-acts. A same-agent edge only: it never links one agent's context to another's (that would merge belief sets), so it cannot tangle the lattice argumentation runs over. Monotonic topology. Returns the belief context.

Link `agent`'s belief context to its OWN koinii context (`id/context-for`) —
`(genlCx CxAgent<agent> CxAgentWriteCtx)` — so `(believes agent P)` reflects what the
agent asserted and endorsed as speech-acts.  A same-agent edge only: it never links one
agent's context to another's (that would merge belief sets), so it cannot tangle the
lattice argumentation runs over.  Monotonic topology.  Returns the belief context.
sourceraw docstring

conveneclj

(convene kb spec-ctx agents)

Create/extend a spec (arbiter) context spec-ctx that sees the belief contexts of agents(genlCx spec-ctx CxAgent<a>) for each — so their otherwise-isolated beliefs meet in one context and any P/¬P among them surfaces as a contradiction (read with disagreements).

The constructive complement to projection: agent belief contexts share no ancestor, so contradictory beliefs coexist silently (docs/belief.md); this convenes a common descendant on demand, and contradiction detection — scoped to what a context sees — raises the clash the moment the edges land. (This is also why disregard is own-statement-only: an except here would hide a side and suppress the very contradiction the arbiter convened.) Monotonic, idempotent. Returns spec-ctx.

Create/extend a spec (arbiter) context `spec-ctx` that sees the belief contexts of
`agents` — `(genlCx spec-ctx CxAgent<a>)` for each — so their otherwise-isolated
beliefs meet in one context and any P/¬P among them surfaces as a `contradiction`
(read with `disagreements`).

The constructive complement to projection: agent belief contexts share no ancestor, so
contradictory beliefs coexist silently (`docs/belief.md`); this convenes a common
descendant on demand, and contradiction detection — scoped to what a context sees —
raises the clash the moment the edges land.  (This is also why `disregard` is
own-statement-only: an `except` here would hide a side and suppress the very
contradiction the arbiter convened.)  Monotonic, idempotent.  Returns `spec-ctx`.
sourceraw docstring

convened-agentsclj

(convened-agents kb spec-ctx)

The agents whose belief contexts spec-ctx sees — the roster convene gathered, read back off the visibility lattice.

The agents whose belief contexts `spec-ctx` sees — the roster `convene` gathered,
read back off the visibility lattice.
sourceraw docstring

disagreementsclj

(disagreements kb spec-ctx)

The disagreements among the agents convened into spec-ctx: the KB contradictions both of whose sides are held by convened agents, each as {:between #{agent …} :sides [{:agent :sentence :handle} …]}. A disagreement is here only because spec-ctx sees both sides — the contradiction the arbiter convened, ready for adjudication to weigh and resolve. A side is matched to its agent whether the belief is stored in the belief context directly or seen through it from the agent's koinii context (believe-own).

The disagreements among the agents convened into `spec-ctx`: the KB `contradictions`
both of whose sides are held by convened agents, each as
`{:between #{agent …} :sides [{:agent :sentence :handle} …]}`.  A disagreement is here
only because `spec-ctx` sees both sides — the contradiction the arbiter convened, ready
for adjudication to weigh and resolve.  A side is matched to its agent whether
the belief is stored in the belief context directly or seen through it from the agent's
koinii context (`believe-own`).
sourceraw docstring

disregardclj

(disregard kb agent target-handle)

agent reversibly withdraws its OWN statement at target-handle: an (except (sentexHandle target-handle)) in the agent's own context hides the statement for reads and derivations — from the agent's beliefs and from anyone reading the agent's context — while keeping it stored, so restore! can bring it back. Softer than retracts (a real teardown): nothing is deleted and no cascade runs (except is deliberately not targetFollowingPredicate).

Own statements only, enforced. except is an index-layer visibility mask, so hiding another agent's claim would take it out of view where argumentation needs it visible — a common-descendant context could no longer weigh the claim against its rebuttal. Cross-agent disagreement is dispute / argue, not this. A target-handle whose provenance creator is not agent is refused (:koinii/not-own-statement). Returns the except's handle.

`agent` reversibly withdraws its OWN statement at `target-handle`: an
`(except (sentexHandle target-handle))` in the agent's own context hides the statement
for reads and derivations — from the agent's beliefs and from anyone reading the
agent's context — while keeping it stored, so `restore!` can bring it back.  Softer
than `retracts` (a real teardown): nothing is deleted and no cascade runs (`except` is
deliberately not `targetFollowingPredicate`).

**Own statements only, enforced.**  `except` is an index-layer visibility mask, so
hiding *another* agent's claim would take it out of view where argumentation needs it
visible — a common-descendant context could no longer weigh the claim against its
rebuttal.  Cross-agent disagreement is `dispute` / argue, not this.  A `target-handle`
whose provenance creator is not `agent` is refused (`:koinii/not-own-statement`).
Returns the except's handle.
sourceraw docstring

disregardsclj

(disregards kb agent)

Every statement agent is currently disregarding — the (except (sentexHandle ?h)) facts in the agent's own context. 'What has this agent chosen to withdraw' as a plain read.

Every statement `agent` is currently disregarding — the `(except (sentexHandle ?h))`
facts in the agent's own context.  'What has this agent chosen to withdraw' as a plain
read.
sourceraw docstring

projectclj

(project kb agent goal)
(project kb agent goal asker)

The binding maps for what agent believes matching goal (a proposition that may carry ?variables), each answer proved in the agent's own context. (project kb 'AgentAtlas '(usesDatabase ProdCluster ?db)) -> the DBs Atlas holds ProdCluster uses. asker defaults to a grant-seeing context.

The binding maps for what `agent` believes matching `goal` (a proposition that may
carry `?variables`), each answer proved in the agent's own context.
`(project kb 'AgentAtlas '(usesDatabase ProdCluster ?db))` -> the DBs Atlas holds
ProdCluster uses.  `asker` defaults to a grant-seeing context.
sourceraw docstring

restore!clj

(restore! kb handle)

Undo a disregard: retract the except at handle, so the withdrawn statement counts again. except is belief-following, so retracting it restores visibility. Returns retract!'s counts.

Undo a `disregard`: retract the except at `handle`, so the withdrawn statement counts
again.  `except` is belief-following, so retracting it restores visibility.  Returns
`retract!`'s counts.
sourceraw docstring

would-believe?clj

(would-believe? kb agent proposition)
(would-believe? kb agent proposition asker)

Does agent hold proposition? — (believes agent proposition) proved in the agent's own belief context, never the asker's. asker (default CxUniverse) need only see the believes grant; it does not affect where the proposition is proved.

Does `agent` hold `proposition`? — `(believes agent proposition)` proved in the
agent's own belief context, never the asker's.  `asker` (default CxUniverse) need only
see the `believes` grant; it does not affect where the proposition is proved.
sourceraw docstring

cljdoc builds & hosts documentation for Clojure/Script libraries

Keyboard shortcuts
Ctrl+kJump to recent docs
Move to previous article
Move to next article
Ctrl+/Jump to the search field
× close