The two tuple families. The self and converse family: a ground binary self tuple under
irreflexive, and a tuple and its stored converse under anti_symmetric. The
tuple-mark family: the determinants under functional and functionalInArg, the
anti_transitive chains and the asymmetric converse pairs. Both find their nogoods
from a stored tuple's own arguments and share the converse pairs, and each nogood is
placed as a conclusion (chain/place-tuples!). See docs/nmtms.md, "A nogood placed as
a conclusion".
The two tuple families. The self and converse family: a ground binary self tuple under `irreflexive`, and a tuple and its stored converse under `anti_symmetric`. The tuple-mark family: the determinants under `functional` and `functionalInArg`, the `anti_transitive` chains and the `asymmetric` converse pairs. Both find their nogoods from a stored tuple's own arguments and share the converse pairs, and each nogood is placed as a conclusion (`chain/place-tuples!`). See docs/nmtms.md, "A nogood placed as a conclusion".
The self and converse family's entry in decide/registry. Its self tuples are read
off the self-tuple trie (self-tuples-under). Recover offers the stored facts of the
predicates under an anti_symmetric or asymmetric mark to note-converse!, and
queues the self tuples under an irreflexive mark. Each nogood of it is placed as a
conclusion (chain/place-tuples!).
The self and converse family's entry in `decide/registry`. Its self tuples are read off the self-tuple trie (`self-tuples-under`). Recover offers the stored facts of the predicates under an `anti_symmetric` or `asymmetric` mark to `note-converse!`, and queues the self tuples under an `irreflexive` mark. Each nogood of it is placed as a conclusion (`chain/place-tuples!`).
(exempt-at? kb c ms up hidden?)Does a reader with ancestor set up read no nogood over the handles ms: two live
members of one determinant of c whose fillers are symbols one class at the reader
(same-class-at?, hidden? naming the handles the reader does not believe or see, or
nil). False for any other set.
Does a reader with ancestor set `up` read no nogood over the handles `ms`: two live members of one determinant of `c` whose fillers are symbols one class at the reader (`same-class-at?`, `hidden?` naming the handles the reader does not believe or see, or nil). False for any other set.
(held? tax c)Does the candidate index c keep a member of a determinant, a chain or a converse
pair, or does the taxonomy tax hold an irreflexive mark, which a stored self tuple
can stand under?
Does the candidate index `c` keep a member of a determinant, a chain or a converse pair, or does the taxonomy `tax` hold an `irreflexive` mark, which a stored self tuple can stand under?
(kind-of kb c ms)The kind the tuple nogood over the member handles ms reports under, read off the
candidate index c and the marks over the members' functors in the unscoped taxonomy:
:irreflexive for a self tuple under an irreflexive mark, :anti-transitive for a
chain under an anti_transitive one, :functional for a determinant pair, and for a
converse pair :anti-symmetric under an anti_symmetric mark, else :asymmetric under
an asymmetric one; the first in keyword order when the set has two. nil when no mark
convicts a tuple nogood c keeps over ms.
The kind the tuple nogood over the member handles `ms` reports under, read off the candidate index `c` and the marks over the members' functors in the unscoped taxonomy: `:irreflexive` for a self tuple under an `irreflexive` mark, `:anti-transitive` for a chain under an `anti_transitive` one, `:functional` for a determinant pair, and for a converse pair `:anti-symmetric` under an `anti_symmetric` mark, else `:asymmetric` under an `asymmetric` one; the first in keyword order when the set has two. nil when no mark convicts a tuple nogood `c` keeps over `ms`.
The tuple-mark family's entry in decide/registry. Liveness reads the genlCx
closure, so a moved generation syncs ::live (sync-tuples). Each nogood of it is
placed as a conclusion (chain/place-tuples!).
The tuple-mark family's entry in `decide/registry`. Liveness reads the `genlCx` closure, so a moved generation syncs `::live` (`sync-tuples`). Each nogood of it is placed as a conclusion (`chain/place-tuples!`).
(member? kb c h)Is h a member of a tuple nogood: a stored self tuple (self-tuple?), or a member of a
converse pair or a chain or a live determinant member the candidate index c keeps?
Is `h` a member of a tuple nogood: a stored self tuple (`self-tuple?`), or a member of a converse pair or a chain or a live determinant member the candidate index `c` keeps?
(members kb w c)Every member of a tuple nogood: the stored self tuples under an irreflexive mark
(self-tuples), and every member the candidate index c keeps. w is
decide/write-view's.
Every member of a tuple nogood: the stored self tuples under an `irreflexive` mark (`self-tuples`), and every member the candidate index `c` keeps. `w` is `decide/write-view`'s.
(members-under kb w c ps)The members of the tuple nogoods whose functor is at or below one of the predicates
ps over the unscoped genl closure (w, decide/write-view): those a mark on one of
ps, or a genl edge whose lower end is one of ps, can give or take a route. The
members c keeps are read off their records, or off the stored facts of each predicate
at or below ps, whichever is fewer; the self tuples under an irreflexive mark off
those facts (self-tuples-under).
The members of the tuple nogoods whose functor is at or below one of the predicates `ps` over the unscoped `genl` closure (`w`, `decide/write-view`): those a mark on one of `ps`, or a `genl` edge whose lower end is one of `ps`, can give or take a route. The members `c` keeps are read off their records, or off the stored facts of each predicate at or below `ps`, whichever is fewer; the self tuples under an `irreflexive` mark off those facts (`self-tuples-under`).
(monotonic-member? tms h)Is h a :monotonic member of a collision, which a merge needs of every member
(docs/reference.md, decision 6)? Its class, or its premise strength while a network
defeat decided before a restrengthening holds it OUT: a :monotonic member is never a
loser, so the next settle releases it.
Is `h` a `:monotonic` member of a collision, which a merge needs of every member (docs/reference.md, decision 6)? Its class, or its premise strength while a network defeat decided before a restrengthening holds it OUT: a `:monotonic` member is never a loser, so the next settle releases it.
(moved? c)Has the index queued a member whose nogoods the settle places again (take-moved!)?
Has the index queued a member whose nogoods the settle places again (`take-moved!`)?
(nogoods-holding kb c hs)The tuple nogoods c keeps with a member among the handles hs, each {:members #{h} :specs #{spec}}, one per member set: [:self] for a self tuple, [:conv] for a
converse pair, [:chain] for a chain, and [:det key] for two live members of
determinant key with distinct fillers. A spec names the shape; routes reads the
marks that convict it.
The tuple nogoods `c` keeps with a member among the handles `hs`, each `{:members #{h}
:specs #{spec}}`, one per member set: `[:self]` for a self tuple, `[:conv]` for a
converse pair, `[:chain]` for a chain, and `[:det key]` for two live members of
determinant `key` with distinct fillers. A spec names the shape; `routes` reads the
marks that convict it.(offer! kb w sx only)Offer the stored fact sx to the converse and tuple-mark candidates again, or with
only :converse to the converse ones alone: a mark or a predicate genl edge
arriving over stored tuples makes candidates their store did not read
(decide/offer!).
Offer the stored fact `sx` to the converse and tuple-mark candidates again, or with `only` `:converse` to the converse ones alone: a mark or a predicate `genl` edge arriving over stored tuples makes candidates their store did not read (`decide/offer!`).
(owned? tax members core)Is the placed nogood over members with antecedents but the genlCx edges core one
this family places (chain/place-tuples!): a ground among core supports a tuple
mark's flat-cache key?
Is the placed nogood over `members` with antecedents but the `genlCx` edges `core` one this family places (`chain/place-tuples!`): a ground among `core` supports a tuple mark's flat-cache key?
(routes kb w c {:keys [members specs]})Each way a mark convicts the tuple nogood ng (nogoods-holding) over the unscoped
taxonomy, as {:keys #{k} :links [[sub super]]} (tax/separation-routes' shape): a
mark on a predicate P at or above every member's functor, its flat-cache key, and the
subsumption from each functor to P. A self tuple reads the irreflexive marks, a
chain the anti_transitive ones, and a converse pair the asymmetric ones and the
anti_symmetric ones unless it merges (merges?,
special/derive-antisymmetric-equalities). A determinant pair reads the determinant's
own functional and functionalInArg marks; two symbol fillers both :monotonic merge
(special/derive-functional-equalities) and give no route. Two symbol fillers one class
at a reader form no nogood there, which the read reads (exempt-at?). w is
decide/write-view's.
Each way a mark convicts the tuple nogood `ng` (`nogoods-holding`) over the unscoped
taxonomy, as `{:keys #{k} :links [[sub super]]}` (`tax/separation-routes`' shape): a
mark on a predicate `P` at or above every member's functor, its flat-cache key, and the
subsumption from each functor to `P`. A self tuple reads the `irreflexive` marks, a
chain the `anti_transitive` ones, and a converse pair the `asymmetric` ones and the
`anti_symmetric` ones unless it merges (`merges?`,
`special/derive-antisymmetric-equalities`). A determinant pair reads the determinant's
own `functional` and `functionalInArg` marks; two symbol fillers both `:monotonic` merge
(`special/derive-functional-equalities`) and give no route. Two symbol fillers one class
at a reader form no nogood there, which the read reads (`exempt-at?`). `w` is
`decide/write-view`'s.(self-tuples-in kb w ctxs)The stored self tuples under an irreflexive mark stated in a context of ctxs, which
a genlCx move exposing those contexts can give a placement (decide/edge-reach).
The stored self tuples under an `irreflexive` mark stated in a context of `ctxs`, which a `genlCx` move exposing those contexts can give a placement (`decide/edge-reach`).
(take-moved! kb)The members whose tuple nogoods moved since the last call, and the queue emptied
(noted).
The members whose tuple nogoods moved since the last call, and the queue emptied (`noted`).
(under-mark? tax q)Does a mark a tuple nogood is convicted through stand on q or a predicate above it
over the unscoped closure? A genl edge below no mark gives no tuple nogood a route.
Does a mark a tuple nogood is convicted through stand on `q` or a predicate above it over the unscoped closure? A `genl` edge below no mark gives no tuple nogood a route.
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 |