The detector of the one nogood family a settle finds: the clashes argument preservation
infers between a stored claim and a known-true claim no one stored, each with the most
general contexts that read it whole, where chain/place-inherited! places it. The
memo :preserved-clashes carries a clash whose inputs did not move. See docs/nmtms.md,
"The inherited-clash memo".
The detector of the one nogood family a settle finds: the clashes argument preservation infers between a stored claim and a known-true claim no one stored, each with the most general contexts that read it whole, where `chain/place-inherited!` places it. The memo `:preserved-clashes` carries a clash whose inputs did not move. See docs/nmtms.md, "The inherited-clash memo".
True (the default): preserving-nogoods carries each standing inherited clash whose
inputs did not move, and re-asks only the stored facts a moved claim reaches. False:
every call re-asks every standing clash and the whole stored extent of every predicate
a claim moved, the reference inherited_clash_oracle_test compares the memo against.
True (the default): `preserving-nogoods` carries each standing inherited clash whose inputs did not move, and re-asks only the stored facts a moved claim reaches. False: every call re-asks every standing clash and the whole stored extent of every predicate a claim moved, the reference `inherited_clash_oracle_test` compares the memo against.
True while recover runs the settle that follows rebuild-tms, over the memo
recover emptied. Under it, the preserving-entries call whose memo holds no :mark
asks the whole store's questions off the index and reads no region handle
(docs/nmtms.md, "The inherited-clash memo").
True while `recover` runs the settle that follows `rebuild-tms`, over the memo `recover` emptied. Under it, the `preserving-entries` call whose memo holds no `:mark` asks the whole store's questions off the index and reads no region handle (docs/nmtms.md, "The inherited-clash memo").
(discover-inherited! kb region reach first?)(discover-inherited! kb region reach first? moved)Find the inherited clashes (preserving-nogoods) over the network and record them in
the candidate index: each member set it read again (inherited/update-inherited!), or
every clash when it carried no entry (inherited/install-inherited!). Answers
{:found [ngmap] :left [members]}: each clash, whose members the network believes, of
a candidate asked again this call (one whose memo entry was not carried), and the member
sets the index held and no longer holds. chain/place-inherited! places the first at
their vantages and removes the placements of the second. reach and first? are the
pass's genlCx moves (special/drain-context-moves!). moved is the facts a
forced-monotonic declaration that moved reaches, whose entries are asked again
(preserving-entries).
Find the inherited clashes (`preserving-nogoods`) over the network and record them in
the candidate index: each member set it read again (`inherited/update-inherited!`), or
every clash when it carried no entry (`inherited/install-inherited!`). Answers
`{:found [ngmap] :left [members]}`: each clash, whose members the network believes, of
a candidate asked again this call (one whose memo entry was not carried), and the member
sets the index held and no longer holds. `chain/place-inherited!` places the first at
their vantages and removes the placements of the second. `reach` and `first?` are the
pass's `genlCx` moves (`special/drain-context-moves!`). `moved` is the facts a
forced-monotonic declaration that moved reaches, whose entries are asked again
(`preserving-entries`).(note-removed! kb sentex)Record sentex, leaving the store, as {handle sentence} under :left in
:preserved-clashes while the memo holds an entry, so the next preserving-entries
reads what a handle without a record moved. preserving-nogoods empties :left with
the rest of the memo. Called from integrate/sentex-removed!.
Record `sentex`, leaving the store, as `{handle sentence}` under `:left` in
`:preserved-clashes` while the memo holds an entry, so the next `preserving-entries`
reads what a handle without a record moved. `preserving-nogoods` empties `:left` with
the rest of the memo. Called from `integrate/sentex-removed!`.(note-touched! kb extra)Add to :moved in :preserved-clashes, while the memo holds an entry, the handles the
touched set recorded since the memo's mark and extra, the region members no
relabel recorded (supersessions among them), so the next preserving-entries reads the
belief moves after this settle's last question, which the emptied touched set and the taken
supersession moves no longer name. Called from settle/settle-finish before it
empties the touched set.
Add to `:moved` in `:preserved-clashes`, while the memo holds an entry, the handles the touched set recorded since the memo's mark and `extra`, the region members no relabel recorded (supersessions among them), so the next `preserving-entries` reads the belief moves after this settle's last question, which the emptied touched set and the taken supersession moves no longer name. Called from `settle/settle-finish` before it empties the touched set.
(preserving-nogoods kb region reach first? declared)The clashes between a stored claim and a known-true claim argument preservation reads
at its own tuple, as nogood maps (inherited-nogoods). Resets :preserved-clashes,
the memo preserving-entries carries.
The members are the stored claim and the reading's reasons (inherit/clashing-claim's
:claim and :handles). :priority is the rebuttal range, 1–2. A candidate is asked
from its own context and from every vantage (preserving-entry). A body stored in both
polarities is a negation pair (chain/place-negations!), excluded by
clashing-claim. Behind inherit/preserved-pairs, two predicate-extent counts on a KB
that declares none (docs/nmtms.md, "What qualifies as a nogood";
docs/inherit.md). The memo keeps a mark of the touched set taken before the
questions (jtms/touch-mark), where the next call's region starts. reach (a delay,
forced only when a pair is preserved) and first? are the pass's genlCx moves
(special/drain-context-moves!). declared is the facts a forced-monotonic declaration that
moved reaches (preserving-entries).
Answers {:nogoods #{ngmap}}, every entry's clashes, when no entry was carried.
Otherwise :nogoods holds the clashes of the entries this call dropped or found and of
those holding one of their handles as a member, and :sets every member set whose
clashes can differ from the last call's: those of the changed entries before and after,
and those holding a handle whose belief moved.
The clashes between a stored claim and a known-true claim argument preservation reads
at its own tuple, as nogood maps (`inherited-nogoods`). Resets `:preserved-clashes`,
the memo `preserving-entries` carries.
The members are the stored claim and the reading's reasons (`inherit/clashing-claim`'s
`:claim` and `:handles`). `:priority` is the rebuttal range, 1–2. A candidate is asked
from its own context and from every vantage (`preserving-entry`). A body stored in both
polarities is a negation pair (`chain/place-negations!`), excluded by
`clashing-claim`. Behind `inherit/preserved-pairs`, two predicate-extent counts on a KB
that declares none (docs/nmtms.md, "What qualifies as a nogood";
docs/inherit.md). The memo keeps a mark of the touched set taken before the
questions (`jtms/touch-mark`), where the next call's region starts. `reach` (a delay,
forced only when a pair is preserved) and `first?` are the pass's `genlCx` moves
(`special/drain-context-moves!`). `declared` is the facts a forced-monotonic declaration that
moved reaches (`preserving-entries`).
Answers `{:nogoods #{ngmap}}`, every entry's clashes, when no entry was carried.
Otherwise `:nogoods` holds the clashes of the entries this call dropped or found and of
those holding one of their handles as a member, and `:sets` every member set whose
clashes can differ from the last call's: those of the changed entries before and after,
and those holding a handle whose belief moved.cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |