Enumerating all semigroup(oid)s using relational programming. Semigroupoids are represented as composition tables, a vector of vectors.
Enumerating all semigroup(oid)s using relational programming. Semigroupoids are represented as composition tables, a vector of vectors.
(all-composition-tables n)
Lazy, brute force enumeration of all n
by n
composition tables.
It can be filtered by associativity?
.
For testing purposes only: n=3 is fine, but n=4 has 5^16 cases.
Lazy, brute force enumeration of all `n` by `n` composition tables. It can be filtered by [[associativity?]]. For testing purposes only: n=3 is fine, but n=4 has 5^16 cases.
(associative-triple? S [a b c])
Checks whether the given triple is associative in S
.
It works with :n entries, thus compatible with semigroupoids.
Checks whether the given triple is associative in `S`. It works with :n entries, thus compatible with semigroupoids.
(associativity-failures S)
(associativity-failures S triples)
Returns pairs where associativity fails in a composition table S
.
If the triples
are not given, then all possible triples are checked.
Compatible with semigroupoids.
Returns pairs where associativity fails in a composition table `S`. If the `triples` are not given, then all possible triples are checked. Compatible with semigroupoids.
(associativity? S)
(associativity? S triples)
Brute-force checking associativity for a composition table S
.
If the triples
are not given, then all possible triples are checked.
Compatible with semigroupoids.
Brute-force checking associativity for a composition table `S`. If the `triples` are not given, then all possible triples are checked. Compatible with semigroupoids.
(associativo S [a b c])
The goal for associativity for a given triple when using semigroup composition.
The goal for associativity for a given triple when using semigroup composition.
(associativo-diagonal S a)
The goal for associativity for a given triple of same elements for typeless semigroup composition.
The goal for associativity for a given triple of same elements for typeless semigroup composition.
(predefined lvs cells)
Sudoku-like hints for the composition table. Returns the goals for predefined values.
Sudoku-like hints for the composition table. Returns the goals for predefined values.
(semigroupoids-order-n n)
(semigroupoids-order-n n partial-comptab)
Enumerating semigroupoids of order n by constructing all n by n composition tables. Constraints: table entries should be in 0..n-1, or n for undefined, and all composable triples should satisfy associativity. The value n stands for nil, and represents undefined composition.
Enumerating semigroupoids of order n by constructing all n by n composition tables. Constraints: table entries should be in 0..n-1, or n for undefined, and all composable triples should satisfy associativity. The value n stands for nil, and represents undefined composition.
(semigroups-order-n n)
(semigroups-order-n n comptab)
Enumerating semigroups of order n by constructing all n by n composition tables. Logic variables: the entries of S, n^2 of them in total. Constraints: table entries should be in 0..n-1, all triples should satisfy associativity.
Enumerating semigroups of order n by constructing all n by n composition tables. Logic variables: the entries of S, n^2 of them in total. Constraints: table entries should be in 0..n-1, all triples should satisfy associativity.
(sgpoid-associativo S [a b c])
The goal for associativity for a given triple in a semigroupoid.
The goal for associativity for a given triple in a semigroupoid.
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 |