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