Liking cljdoc? Tell your friends :D

kigen.semigroupoid.homomorphism

Finding all homomorphisms of a semigroupoid into another one by using relational programming. Semigroupoids are represented abstractly, as composition tables, a vector of vectors. For non-composable arrow pairs the corresponding entry is :n.

Finding all homomorphisms of a semigroupoid into another one by using
relational programming.
Semigroupoids are represented abstractly, as composition tables, a vector of
vectors. For non-composable arrow pairs the corresponding entry is :n.
raw docstring

composable-pairsclj

(composable-pairs S)

All the composable pairs of elements of semigroupoid S given as a composition table. In the abstract setting we do not have domains and codomains, we reason backwards, arrows are composable if the composite in the table.

All the composable pairs of elements of semigroupoid S given as a composition
table. In the abstract setting we do not have domains and codomains, we
reason backwards, arrows are composable if the composite in the table.
sourceraw docstring

composeclj

(compose S a b)

Safe composition, works for all a,b arrow pairs. Composing with :n, the non-defined value, yields :n.

Safe composition, works for all `a`,`b` arrow pairs. Composing with :n,
the non-defined value, yields :n.
sourceraw docstring

compose-NCclj

(compose-NC S a b)

Composition function for arrows a and b in the given composition table S. Computing the composite is two vector lookups. Arrows a and b are assumed to be composable. This is a Non-Check version.

Composition function for arrows a and b in the given composition table S.
Computing the composite is two vector lookups. Arrows a and b are assumed
to be composable. This is a Non-Check version.
sourceraw docstring

composition-relationclj

(composition-relation S)

A hash-map with keys as the elements of S, and the values are pairs that compose to that key value. Composition turned backwards. It includes undefined value :n as a key.

A hash-map with keys as the elements of S, and the values are pairs that
compose to that key value. Composition turned backwards.
It includes undefined value :n as a key.
sourceraw docstring

composoclj

(composo S a b ab)

Succeeds if a composed with b is ab in the composition table S.

Succeeds if `a` composed with `b` is `ab` in the composition table `S`.
sourceraw docstring

comptabs-up-to-morphismsclj

(comptabs-up-to-morphisms sgps)

Given a collection of composition tables, it returns the isomorphism anti-isomorphism class representatives. Representative is the first one encountered. Anti-isomporphism is isomorphism to the transposed table.

Given a collection of composition tables, it returns the isomorphism
anti-isomorphism class representatives. Representative is the first one
encountered. Anti-isomporphism is isomorphism to the transposed table.
sourceraw docstring

homomorphism?clj

(homomorphism? S T phi)

S is a composition table of a semigroupoid phi is a vector representing the homomorphism just for checking how to do it functionally, before relationally

S is a composition table of a semigroupoid
phi is a vector representing the homomorphism
just for checking how to do it functionally, before relationally
sourceraw docstring

homomorphismsclj

(homomorphisms S T)

Logic search for all homomorphisms from semigroupoid S to T given as composition tables.

Logic search for all homomorphisms from semigroupoid S to T given as
composition tables.
sourceraw docstring

isomorphismsclj

(isomorphisms S T)

Logic search for all isomorphisms from semigroupoid S to T given as composition tables.

Logic search for all isomorphisms from semigroupoid S to T given as
composition tables.
sourceraw docstring

(morphism-search S T bijective? strict?)

Logic search for all homomorphisms of semigroupoid S to T given as composition tables. If bijective?, then only isomorphisms are enumerated. When strict?, non-composable arrow pairs cannot become composable.

Logic search for all homomorphisms of semigroupoid `S` to `T` given as
composition tables. If `bijective?`, then only isomorphisms are enumerated.
When `strict?`, non-composable arrow pairs cannot become composable.
sourceraw docstring

strict-homomorphismsclj

(strict-homomorphisms S T)

Logic search for all homomorphisms from semigroupoid S to T given as composition tables.

Logic search for all homomorphisms from semigroupoid S to T given as
composition tables.
sourceraw docstring

strict-isomorphismsclj

(strict-isomorphisms S T)

Logic search for all isomorphisms from semigroupoid S to T given as composition tables.

Logic search for all isomorphisms from semigroupoid S to T given as
composition tables.
sourceraw docstring

sub-comptabclj

(sub-comptab T elts)

Extracts the sub- composition table defined by elts from T. It recodes the elements as a new composition table. Thus, the elements are assumed to form a subsemigroupoid, otherwise nil entries appear.

Extracts the sub- composition table defined by `elts` from `T`. It recodes
 the elements as a new composition table. Thus, the elements are assumed to
form a subsemigroupoid, otherwise `nil` entries appear.
sourceraw docstring

substitute-NCclj

(substitute-NC comprel phi)

Transfer the composition relation through a morphism phi, i.e., converting all keys and values by phi. This does not check for collapsings.

Transfer the composition relation through a morphism phi, i.e., converting
all keys and values by phi. This does not check for collapsings.
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