Liking cljdoc? Tell your friends :D

vaelii.impl.decide.tuple

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".
raw docstring

converse-familyclj

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!`).
sourceraw docstring

exempt-at?clj

(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.
sourceraw docstring

held?clj

(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?
sourceraw docstring

kind-ofclj

(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`.
sourceraw docstring

marks-familyclj

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!`).
sourceraw docstring

member?clj

(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?
sourceraw docstring

membersclj

(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.
sourceraw docstring

members-underclj

(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`).
sourceraw docstring

monotonic-member?clj

(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.
sourceraw docstring

moved?clj

(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!`)?
sourceraw docstring

nogoods-holdingclj

(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.
sourceraw docstring

offer!clj

(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!`).
sourceraw docstring

owned?clj

(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?
sourceraw docstring

routesclj

(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.
sourceraw docstring

self-tuples-inclj

(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`).
sourceraw docstring

take-moved!clj

(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`).
sourceraw docstring

under-mark?clj

(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.
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