Some ternary quasigroups over small sets.
Version of Sunday 20 September 2015.
Dave Barber's other pages.

Introduction. A ternary quasigroup (TQG for short) consists of first, a set, and second, a cancellative operation that consumes three inputs and generates one output, all four of them elements of the set. How cancellativity is extended to ternary operations will be explained after some fundamentals are established.

The TQG's set need not be large to provide interesting results: a cardinality (C) of four is quite enough. Elements will be called a, b, c et cetera — these constants are not assumed to have any properties except that no two of them are equal. In particular, the constants are not taken to be real numbers. Variables representing these constants have names such as p, q and r, sometimes subscripted.

Generic operations have names like O, N and M. In contrast, the method of denoting a particular operation is to write two numbers separated by a colon. The first indicates the cardinality, and the second a particular operation; an example is 4:41250. Details of the scheme for assigning numbers to operations will be revealed later.

The usual notation for invoking a ternary operation is O (a, b, c); but the condensed form Oabc, written when no confusion ensues, helps stem a profusion of parentheses in complicated expressions.

A ternary operation O is cancellative if it obeys all three of these rules:

In other words, changing exactly one input assuredly changes the output. This restriction is an adaptation of the feature that distinguishes quasigroups from other magmata.

Noteworthy is that the latin square can be extended to three dimensions creating a latin cube, which is precisely what the Cayley table for each operation turns out to be. The number of possible operations grows quickly (faster than the cube of a factorial) as C increases. Potapov and Krotov discuss this matter.

C12345
Operations1 22455,2962,781,803,520

It is feasible to list all the operations for C ≤ 3; but only a selection for C = 4. Complication grows quickly as C increases, and for many kinds of investigation:

Examples below usually assume C = 4, and come from a computer program that generated a list of all operations, then searched the list for the operations that satisfied each criterion.

The operations studied here are unrelated to the ternary operator of many computer programming languages. Another ternary operator is the scalar triple product of vector analysis, but it too does not relate to TQGs because while the inputs to this operation are vectors, the output is a scalar which is a different data type. For a ternary operation where the output data type is the same as that of the inputs, see 4-dimensional cross product, although it is not cancellative.


The notions here can easily be extended to operations that take four or more inputs. However, this report concentrates on three-input operations because three are enough to convey all the important ideas, and to permit tractable examples. Operations with four or more inputs would add complication but not substance.

In the other direction, two-input operations are insufficient because not all three-input operations can be decomposed into two successive invocations of two-input operations (example). This lack of decomposability is a primary motivation for producing this report; otherwise the ternary operations could simply be studied in terms of their binary components, and such binary operations are already covered extensively in the algebraic literature.

Another reason that binary operations do not suffice is that the notion of identity element is far simpler with two inputs than with three or more.


Some standard laws. Binary operations are often commutative, associative, or distributive. These notions can be generalized to ternary operations as follows.


Commutativity, or c'ty for short. The gist of this property is that the output of an operation is independent of the sequence of its inputs. In by comparison the addition of real numbers, 7 + 9 = 9 + 7. With three inputs instead of two, several possibilities arise:

Any two of these taken together result in full c'ty, where all six permutations of the inputs yield the same output. If C ≤ 4, it happens that any operation having cyclical c'ty has the other three c'ties also.

Under a permutation of variable names, the cyclicity criterion can be written O (r, p, q) = O (q, r, p). This means that O (p, q, r) also equals O (q, r, p). In other words, one phase of the cycling implies another.


Associativity, or a'ty for short. Under this property, the value of the output is independent of the grouping of inputs. With real numbers, an example is (7 + 8) + 9 = 7 + (8 + 9). The obvious extension to ternary operations yields these:

Any two of these together yield full a'ty: O (Opqr, s, t) = O (p, Oqrs, t) = O (p, q, Orst).

When C ≤ 4, an operation that has sinisterior a'ty also has exterior and dexterior; similarly, dexterior a'ty entails exterior and sinisterior. An example of full a'ty is 4:1632, while 4:17842 has exterior only.

With a fully associative operation, one can reasonably introduce the notion of a ternary semigroup. Note that some authors term a fully associative semigroup a group, despite the possibility in this ternary case that no single value serves as an identity. The fully associative operations, some tabulated here, constitute a relatively small subset of all operations when C ≥ 3.


Power associativity. This, perhaps the weakest form of a'ty, is like ordinary a'ty except that all five inputs are equal:

Power a'ty completely fails for 4:38322, but always succeeds for 4:14046. With many operations, some but not all three criteria will be satisfied, and even then for some values of p but not others.

Distributivity, or d'ty for short. This traditionally employs two operations; with real numbers the typical example is of the form 7 × (8 + 9) = 7 × 8 + 7 × 9. For ternary operations, three kinds of d'ty immediately follow:

The usual terminology is that O is distributive over N.

Sometimes each of two operations is distributive over the other. (Such mutual d'ty is reminiscent of the and and or operations of boolean algebra.) When K = 4:17019 and L = 4:43700, K is distributive over L thus:

and L is distributive over K thus:

Unlike most mathematical functions, many of the operations of ternary quasigroups are distributive over themselves; that is to say, O = N in the formulas above. Here are some different combinations of self-d'ty:


Some nonstandard laws. Creative algebraists can devise plenty more of these laws, and will frequently find be able to find operations that satisfy them — recall that when C = 4, there are over fifty thousand operations to choose from. Here are a few possibilities.


Bisociativity, or b'ty for short. This is similar to a'ty, but now two operations are involved. O can be bisociative over N in three ways:

For instance, 4:41121 is fully bisociative over 4:220, but 4:220 exhibits only exterior b'ty over 4:41121.

Full b'ty prevails when all any two conditions are satisfied, as the third condition will be consequential.

Bisociativity can be, but rarely is, defined for binary operations: O (Npq, r) = O (p, Nqr).


Exsociativity, or e'ty for short. This is like b'ty, except with a swap of operations on one side of the equation:

When for instance K = 4:303 and L = 4:39155, the following are satisfied:

Note that L happens to be fully bisociative over K.


Partributivity, or p'ty for short. This is like d'ty, except that on one side of the equation the two operations are swapped:

One says that O is partributive over N. For example, 4:22191 is fully partributive over 4:489, but 4:489 exhibits only interior and dexterior p'ty over 4:22191.

Transpositivity, or t'ty for short; the name arises from how the rearrangement of variables resembles what happens in transposing a matrix. Also termed mediality, it calls for two operations over nine variables, and comes in two versions:

This first version is satisfied by O = 4:73 and N = 4:21918 among others. As another solution to the first version, 4:58 and 4:16544 are exchangeable: either O = 4:58 and N = 4:16544, or O = 4:16544 and N = 4:58. The second version is satisfied by O = 4:15 and N = 4:14050. The combination O = 4:116 and N = 4:7920 makes both versions good, as does the singleton O = N = 4:1349.

T'ty, when defined for binary operations, looks like this: O (Npq, Nrs) = O (Npr, Nqs). Much as a non-square matrix is transposable, the second version of t'ty can sensibly be defined for one binary and one ternary operation together: O (Npqr, Nstu) = N (Ops, Oqt, Oru).


Identities. Many operations have identities. The notation employs an underscore, suggesting a blank spot where something can be filled in:

Some operations have several identities, but others have none; a wealth of possibilities are illustrated in the first row of each entry throughout this table. A consequence is that to devise a definition of loops in the ternary case is far more complicated than in the binary case, where a loop's identity element is unique.

TQG identities behave differently from the usual identity elements to binary operations, because here an identity cannot stand as an input to an operation.

If ppp = p in an operation that has exterior associativity, then pp_ and _pp (but not necessarily p_p) are also identities.


Skew elements. For each TQG operation O, three binary skew operations can be defined. The infix notation for each skew is the element, a diamond ♦, and a number:

Thanks to cancellativity, each of p♦1, p♦2, and p♦3 is guaranteed to exist and be unique. However, they might not be equal. For instance, the skews of 4:21401 have no conspicuous pattern; the skews of operation 4:43310 are as variegated as possible; and the skews of 3:8 are all equal.

4:21401 skews
a♦1 = da♦2 = ba♦3 = d
b♦1 = bb♦2 = bb♦3 = b
c♦1 = bc♦2 = dc♦3 = b
d♦1 = ad♦2 = cd♦3 = a
4:43310 skews
a♦1 = ca♦2 = da♦3 = b
b♦1 = ab♦2 = cb♦3 = d
c♦1 = dc♦2 = bc♦3 = a
d♦1 = bd♦2 = ad♦3 = c
3:8 skews
a♦1 = ba♦2 = ba♦3 = b
b♦1 = bb♦2 = bb♦3 = b
c♦1 = bc♦2 = bc♦3 = b

If O is known to be fully commutative, then p♦1 = p♦2 = p♦3, making the numberless postfix operator p♦ unambiguous.

A superscript notation is convenient for repeated application of skewing. For instance:

Under 4:21401, p♦1 is not an invertible operation, as b(♦−1)1 could equal b or c, and c(♦−1)1 does not equal anything. In contrast, p♦1 under 4:43310 is invertible, making p(♦−1)1 a valid expression.

Sometimes skewness passes through an operation. Examples:

  4:50 4:8796 4:8787 4:22802 4:10821 4:18919 4:13189 4:126
(O (p, q, r))♦1 = O (p♦1, q♦1, r♦1) true true true true falsefalse falsefalse
(O (p, q, r))♦2 = O (p♦2, q♦2, r♦2) true true falsefalse true true falsefalse
(O (p, q, r))♦3 = O (p♦3, q♦3, r♦3) true false true false true false true false

One might further establish double-skew or triple-skew operations:

Depending on the choice of O, multiple-skew operations might have single values, multiple values, or no values. An operation that is single-valued for all three double-skew conditions is 4:29262, the pertinent results therefrom being:

from 4:29262
p p♦♦1 p♦♦2 p♦♦3
valuerationale valuerationale valuerationale
a dadd = a ccac = a bbba = a
b abaa = b ccbc = b dddb = b
c cccc = c cccc = c cccc = c
d bdbb = d ccdc = d aaad = d

Because single-skewness is intimately connected with ordinary cancellativity, fully-double-skew operations such as 4:29262 suggest that a second-order cancellativity might be defined.

Single-valued for the triple-skew operation is 4:39155:

from 4:39155
p p♦♦♦
valuerationale
a dddd = a
b cccc = b
c aaaa = c
d bbbb = d


Direct products are simple but lengthy to explain.


Generators and subTQGs. In some cases, the set belonging to a TQG can be obtained by starting with one element as input, and repeatedly applying the operation using for inputs the original element and any derived outputs. This corresponds to the key feature of binary cyclic groups.

An example is 4:20867, where a is a generator because Oaaa = b, Oaab = c, and Oaac = d, covering all four elements. For this operation, b, c and d also happen to be generators.

With 4:34466 by contrast, a is not a generator. Consider Oaaa = c, Oaac = Oaca = Ocaa = a, Oacc = Ocac = Occa = c and Occc = a, in all of which b and d never appear. Still, a generates a ternary quasi-sub-group (subTQG) of two elements; c would have generated the same subTQG, which is isomorphic to 2:1. By the same token, either of b or d generates the subTQG containing both b and d.

4:6509 has two generators, b and c. Meanwhile, each of a and d generates the subTQG containing only itself.

Although a binary cyclic group is surely commutative, a TQG generated by one element might not be. Consider 4:27496, which can be generated by any one of its elements. Explanation: Oaaa = b, Oaab = d and Oabb = c, so a is a generator. Now observe Obbb = a. Since b generates a generator, b is itself a generator. Similarly, c and d are generators because Occc = a and Oddd = b. Still, 4:27496 is noncommutative:

non-commutativity of 4:27496
sinisteriorexteriordexteriorcyclical
abc = abac = ddac = acad = d abc = aacb = b abd = bbda = d


Decomposition. A ternary operation O is:

An easy way to find a decomposable O is to work backwards, first selecting F and G and then composing them. Here for instance are two binary operations over the set { a, b, c, d }:

F  G
aa = aab = dac = cad = b aa = cab = dac = bad = a
ba = cbb = bbc = dbd = a ba = abb = cbc = dbd = b
ca = bcb = ccc = acd = d ca = dcb = bcc = acd = c
da = ddb = adc = bdd = c da = bdb = adc = cdd = d

When combined as F (p, G (q, r)), 4:34618 is obtained for O (p, q, r). Hence 4:34618 exhibits dexterior decomposability.


Exemplifying indecomposable operations is 4:21401. The following demonstration first assumes that a dexterior decomposition exists, and then derives a contradiction.

Expand seven entries from the operation definition table:

To reduce bulk, write Gaa for G (a, a), Gab for G (a, b) et cetera:

Since F (a, Gaa) does not equal F (a, Gab), Gaa cannot equal Gab. More broadly, Gaa, Gab, Gac and Gad are pairwise unequal. In contrast, Gcc must equal one of Gaa, Gab, Gac and Gad because there are only C = 4 values to pick from.

Because F (a, Gcc) = b, Gcc cannot be Gab, Gac or Gad, so by elimination Gcc equals Gaa. Now the last item in the list becomes F (b, Gaa) = c, which contradicts the next-to-last, F (b, Gaa) = d. Hence 4:21401 has no dexterior decomposition.


All TQGs for C ≤ 3 decompose both ways. Of the 55,296 operations for C = 4:

A general method for verifying decomposability is here.


Orthogonality. Let M and N be ternary quasigroup operations over the same set S. Meanwhile, allow variables p, p′, q, q′, r and r′ to range independently over all elements of S, except for three constraints: p′ ≠ p, q′ ≠ q and r′ ≠ r. Then M and N are orthogonal if the following three conditions are satisfied:

When C < 4, there are no orthogonal pairs. When C = 4 there are 20,736 orthogonal pairs, 165,888 pairwise-orthogonal triplets, but no pairwise-orthogonal quadruplets; only 864 of the 55,296 operations can participate in orthogonality, but any operation that appears in a pair also appears in a triplet. What might happen when C > 4 is an open question.

Combining the Cayley tables of two or more orthogonal ternary operations gives the three-dimensional version of a Graeco-Latin square, here for instance with 4:116, 4:1300 and 4:1881:

4:116, 4:1300, 4:1881   skews
aaa =
a, a, a
aab =
b, b, b
aac =
c, c, c
aad =
d, d, d
aba =
b, c, d
abb =
a, d, c
abc =
d, a, b
abd =
c, b, a
aca =
c, d, b
acb =
d, c, a
acc =
a, b, d
acd =
b, a, c
ada =
d, b, c
adb =
c, a, d
adc =
b, d, a
add =
a, c, b
a♦1 =
a, a, a
a♦2 =
a, a, a
a♦3 =
a, a, a
baa =
d, c, b
bab =
c, d, a
bac =
b, a, d
bad =
a, b, c
bba =
c, a, c
bbb =
d, b, d
bbc =
a, c, a
bbd =
b, d, b
bca =
b, b, a
bcb =
a, a, b
bcc =
d, d, c
bcd =
c, c, d
bda =
a, d, d
bdb =
b, c, c
bdc =
c, b, b
bdd =
d, a, a
b♦1 =
c, b, d
b♦2 =
d, b, c
b♦3 =
d, b, d
caa =
b, d, c
cab =
a, c, d
cac =
d, b, a
cad =
c, a, b
cba =
a, b, b
cbb =
b, a, a
cbc =
c, d, d
cbd =
d, c, c
cca =
d, a, d
ccb =
c, b, c
ccc =
b, c, b
ccd =
a, d, a
cda =
c, c, a
cdb =
d, d, b
cdc =
a, a, c
cdd =
b, b, d
c♦1 =
d, c, b
c♦2 =
b, c, d
c♦3 =
b, c, b
daa =
c, b, d
dab =
d, a, c
dac =
a, d, b
dad =
b, c, a
dba =
d, d, a
dbb =
c, c, b
dbc =
b, b, c
dbd =
a, a, d
dca =
a, c, c
dcb =
b, d, d
dcc =
c, a, a
dcd =
d, b, b
dda =
b, a, b
ddb =
a, b, a
ddc =
d, c, d
ddd =
c, d, c
d♦1 =
b, d, c
d♦2 =
c, d, b
d♦3 =
c, d, c

Each combination (a, a, a), (a, a, b), (a, a, c), and so forth appears precisely once. On the other hand, the skew elements do not exhibit any obvious pattern.


How numbers are determined. To each operation has been assigned a reference number in the form C:n. As always, C stands for the cardinality. The specification of n requires a little more work, but two things can be said now:

Because the TQGs studied here are over small sets, only finitely many operations are possible, and large values of n will not be needed. Some maxima are:

C12345
maximum n012355,2952,781,803,519

Step 1. Create an ordering for the TQG's set members; alphabetical is as good as any other, so by definition a < b, b < c et cetera.

Step 2. Observe that the inputs to an invocation of an operation form an ordered triplet. For instance, in the invocation O (p, q, r), the triplet is (p, q, r). Now create a lexicographic ordering on those triplets. Given triplets T1 = (p1, q1, r1) and T2 = (p2, q2, r2), specify:

For example, (b, a, e) < (b, c, d) because b = b and then a < c. In this case, the e and d make no difference. As before, parentheses and commas can be omitted when no confusion will result, resulting in the briefer notation bae < bcd.

Now an ordering of input triplets can be constructed. As a case in point, here are all 27 possible input triplets for C = 3, in lexicographic order from least (left) to greatest (right):

aaaaabaac abaabbabc acaacbacc baababbac bbabbbbbc bcabcbbcc caacabcac cbacbbcbc ccaccbccc

Step 3. Consider two ternary operations, C:k and C:l over the same set, and ordered triplets T1 and T2. If these two conditions are satisfied:

then require the number k to be less than l. With the nonskipping rule from above, this is sufficient to define n for each operation, and it generates a lexicographic ordering in its own right.

Remark. This numbering scheme arose naturally from the author's C++ program, which used a simple scheme to find all the operations for each cardinality.


In an extended example, each row in the table below is one of the 24 operations of C = 3, while each column represents an input triplet. The table defines the same operations as found in another chart, but in a different format.

aaaaabaac abaabbabc acaacbacc baababbac bbabbbbbc bcabcbbcc caacabcac cbacbbcbc ccaccbccc
3:0 abc bca cab bca cab abc cab abc bca
3:1 abc bca cab cab abc bca bca cab abc
3:2 abc cab bca bca abc cab cab bca abc
3:3 abc cab bca cab bca abc bca abc cab
3:4 acb bac cba bac cba acb cba acb bac
3:5 acb bac cba cba acb bac bac cba acb
3:6 acb cba bac bac acb cba cba bac acb
3:7 acb cba bac cba bac acb bac acb cba
3:8 bac acb cba acb cba bac cba bac acb
3:9 bac acb cba cba bac acb acb cba bac
3:10 bac cba acb acb bac cba cba acb bac
3:11 bac cba acb cba acb bac acb bac cba
3:12 bca abc cab abc cab bca cab bca abc
3:13 bca abc cab cab bca abc abc cab bca
3:14 bca cab abc abc bca cab cab abc bca
3:15 bca cab abc cab abc bca abc bca cab
3:16 cab abc bca abc bca cab bca cab abc
3:17 cab abc bca bca cab abc abc bca cab
3:18 cab bca abc abc cab bca bca abc cab
3:19 cab bca abc bca abc cab abc cab bca
3:20 cba acb bac acb bac cba bac cba acb
3:21 cba acb bac bac cba acb acb bac cba
3:22 cba bac acb acb cba bac bac acb cba
3:23 cba bac acb bac acb cba acb cba bac


Conjugation. This is a method of converting one TQG into another. Although the two TQGs (called conjugates) will have the same set, their operations will differ.

The device required for conjugation is a unary operation that permutes a TQG's set; such a permutator can be characterized as a bijection from the set to itself. A popular symbol for a permutator is π. (Incidentally, a set and a permutator are the ingredients of a unary quasigroup.)

To conjugate a TQG, the procedure is simply to apply the permutator to every input and output in the table that defines the TQG's operation. Conjugacy turns out to be an equivalence relation.


Here is a full example of conjugation. Start with 4:15:

4:15
aaa = aaab = baac = caad = d aba = babb = aabc = dabd = c aca = cacb = dacc = aacd = b ada = dadb = cadc = badd = a
baa = bbab = abac = dbad = c bba = abbb = bbbc = cbbd = d bca = dbcb = cbcc = bbcd = a bda = cbdb = dbdc = abdd = b
caa = dcab = ccac = bcad = a cba = ccbb = dcbc = acbd = b cca = bccb = accc = dccd = c cda = acdb = bcdc = ccdd = d
daa = cdab = ddac = adad = b dba = ddbb = cdbc = bdbd = a dca = adcb = bdcc = cdcd = d dda = bddb = addc = dddd = c

Permute a, b, c and d in all the inputs and outputs according to this rule:

obtaining the next table:

ccc = cccb = bcca = accd = d cbc = bcbb = ccba = dcbd = a cac = acab = dcaa = ccad = b cdc = dcdb = acda = bcdd = c
bcc = bbcb = cbca = dbcd = a bbc = cbbb = bbba = abbd = d bac = dbab = abaa = bbad = c bdc = abdb = dbda = cbdd = b
acc = dacb = aaca = bacd = c abc = aabb = daba = cabd = b aac = baab = caaa = daad = a adc = cadb = bada = aadd = d
dcc = adcb = ddca = cdcd = b dbc = ddbb = adba = bdbd = c dac = cdab = bdaa = adad = d ddc = bddb = cdda = dddd = a

Now rearrange this table according to the usual pattern of inputs, yielding 4:55237:

4:55237
aaa = daab = caac = baad = a aba = cabb = dabc = aabd = b aca = bacb = aacc = dacd = c ada = aadb = badc = cadd = d
baa = bbab = abac = dbad = c bba = abbb = bbbc = cbbd = d bca = dbcb = cbcc = bbcd = a bda = cbdb = dbdc = abdd = b
caa = ccab = dcac = acad = b cba = dcbb = ccbc = bcbd = a cca = accb = bccc = cccd = d cda = bcdb = acdc = dcdd = c
daa = adab = bdac = cdad = d dba = bdbb = adbc = ddbd = c dca = cdcb = ddcc = adcd = b dda = dddb = cddc = bddd = a

A concise way to express the conjugacy of 4:15 and 4:55237 is:

π (4:15 (p, q, r)) = 4:55237 (π (p), π (q), π (r))

Because π is a bijection, its functional inverse exists, and can be denoted π−1. This allows us to also write:

4:15 (p, q, r) = π−1(4:55237 (π (p), π (q), π (r)))
π (4:15 (π−1(p), π−1(q), π−1(r))) = 4:55237 (p, q, r)

Conjugation preserves properties such as c'ty and a'ty. Further, if two TQG's are conjugated using the same π, d'ty of one over the other is preserved.


Because conjugation can be viewed as merely a change of symbols, two conjugate TQGs might be regarded as essentially the same. However, some operations yield larger equivalence classes than others. The table below details the case where C = 3, with consequently 24 operations and 6 permutations. The operations are shown in full here.

Conjugacy
for C = 3
evenodd
π0(a) = a
π0(b) = b
π0(c) = c
π2(a) = c
π2(b) = a
π2(c) = b
π4(a) = b
π4(b) = c
π4(c) = a
π1(a) = a
π1(b) = c
π1(c) = b
π3(a) = c
π3(b) = b
π3(c) = a
π5(a) = b
π5(b) = a
π5(c) = c
3: 03: 03:163:153: 03:163:15
3:163:163:153: 03:153: 03:16
3:153:153: 03:163:163:153: 0
3: 33: 33:123:193: 33:123:19
3:123:123:193: 33:193: 33:12
3:193:193: 33:123:123:193: 3
3: 53: 53:103:213: 53:103:21
3:103:103:213: 53:213: 53:10
3:213:213: 53:103:103:213: 5
3: 63: 63: 93:223: 63: 93:22
3: 93: 93:223: 63:223: 63: 9
3:223:223: 63: 93: 93:223: 6
3: 73: 73:233: 83: 73:233: 8
3:233:233: 83: 73: 83: 73:23
3: 83: 83: 73:233:233: 83: 7
3:113:113:113:113:203:203:20
3:203:203:203:203:113:113:11
3:133:133:133:133:183:183:18
3:183:183:183:183:133:133:13
3:143:143:143:143:173:173:17
3:173:173:173:173:143:143:14
3: 13: 13: 13: 13: 13: 13: 1
3: 23: 23: 23: 23: 23: 23: 2
3: 43: 43: 43: 43: 43: 43: 4

In the table are:

This variation in equivalence class size demonstrates that conjugation is not a trivial operation. With larger C, matters become more complicated.

The table above incorporates both even and odd permutations. Possible instead is a definition of conjugacy which retains only the even permutations, omitting the odd. In that case, 3:11 and 3:20 for instance would no longer be conjugates. Especially when C ≥ 5, the symmetric group (that is, the group of all permutations) has many interesting subgroups. In short, a researcher need not consider all possible permutations when exploring conjugacy.

More general than conjugation is isotopy, which uses a different permutation for each input, and yet another for the output:

π0(M (p, q, r)) = N1(p), π2(q), π3(r))


Fuzziness. An analogue of fuzzy logic can be used to extend the crisp ternary semigroups discussed above. The usual approach to fuzzy logic requires selecting a t-norm and t-conorm from among many possibilities, and the following example opts for probabilistic norms because they are among the easiest to calculate. (How they are probabilistic will be explained at the end of this section.)

Each data item will be an ordered quadruple (because C = 4) of nonnegative real numbers, for example ⟨ 0.29, 0.13, 0.26, 0.32 ⟩. Components are written with subscripts: x = ⟨ x0, x1, x2, x3 ⟩. A quadruple is complete when the sum of its four elements is precisely one. Meanwhile, an incomplete quadruple, whose sum is less than one, can appear only as an intermediate result in calculations.

Addition is defined in parallel: ⟨ x0, x1, x2, x3 ⟩ + ⟨ y0, y1, y2, y3 ⟩ = ⟨ x0 + y0, x1 + y1, x2 + y2, x3 + y3 ⟩. For a real number t and the set elements a, b, c and d, these multiplications are defined:

ta = ⟨ t, 0, 0, 0 ⟩
tb = ⟨ 0, t, 0, 0 ⟩
tc = ⟨ 0, 0, t, 0 ⟩
td = ⟨ 0, 0, 0, t

Hence ⟨ x0, x1, x2, x3 ⟩ = x0a + x1b + x2c + x3d.

To establish the fuzzy operation, multiply quadruples x, y and z:

(x0a + x1b + x2c + x3d) (y0a + y1b + y2c + y3d) (z0a + z1b + z2c + z3d)

Then select a crisp operation O, and apply the distributive law numerous times to obtain the fuzzy version of operation O. When three of the set members are "multiplied", take it to mean applying the operation O to them. For instance, the "product" of b, d, and a would be O (b, d, a) or more concisely Obda :

     
(x0y0z0)Oaaa + (x0y0z1)Oaab + (x0y0z2)Oaac + (x0y0z3)Oaad +
(x0y1z0)Oaba + (x0y1z1)Oabb + (x0y1z2)Oabc + (x0y1z3)Oabd +
(x0y2z0)Oaca + (x0y2z1)Oacb + (x0y2z2)Oacc + (x0y2z3)Oacd +
(x0y3z0)Oada + (x0y3z1)Oadb + (x0y3z2)Oadc + (x0y3z3)Oadd +
(x1y0z0)Obaa + (x1y0z1)Obab + (x1y0z2)Obac + (x1y0z3)Obad +
(x1y1z0)Obba + (x1y1z1)Obbb + (x1y1z2)Obbc + (x1y1z3)Obbd +
(x1y2z0)Obca + (x1y2z1)Obcb + (x1y2z2)Obcc + (x1y2z3)Obcd +
(x1y3z0)Obda + (x1y3z1)Obdb + (x1y3z2)Obdc + (x1y3z3)Obdd +
(x2y0z0)Ocaa + (x2y0z1)Ocab + (x2y0z2)Ocac + (x2y0z3)Ocad +
(x2y1z0)Ocba + (x2y1z1)Ocbb + (x2y1z2)Ocbc + (x2y1z3)Ocbd +
(x2y2z0)Occa + (x2y2z1)Occb + (x2y2z2)Occc + (x2y2z3)Occd +
(x2y3z0)Ocda + (x2y3z1)Ocdb + (x2y3z2)Ocdc + (x2y3z3)Ocdd +
(x3y0z0)Odaa + (x3y0z1)Odab + (x3y0z2)Odac + (x3y0z3)Odad +
(x3y1z0)Odba + (x3y1z1)Odbb + (x3y1z2)Odbc + (x3y1z3)Odbd +
(x3y2z0)Odca + (x3y2z1)Odcb + (x3y2z2)Odcc + (x3y2z3)Odcd +
(x3y3z0)Odda + (x3y3z1)Oddb + (x3y3z2)Oddc + (x3y3z3)Oddd

That expression being lengthy, a numerical example is in order. Let:

x = ⟨ 0.16, 0.23, 0.31, 0.30 ⟩
y = ⟨ 0.22, 0.34, 0.08, 0.36 ⟩
z = ⟨ 0.13, 0.29, 0.05, 0.53 ⟩
O = 4:14046

Then the sum becomes:

     
(0.16 × 0.22 × 0.13)b + (0.16 × 0.22 × 0.29)a + (0.16 × 0.22 × 0.05)c + (0.16 × 0.22 × 0.53)d +
(0.16 × 0.34 × 0.13)a + (0.16 × 0.34 × 0.29)b + (0.16 × 0.34 × 0.05)d + (0.16 × 0.34 × 0.53)c +
(0.16 × 0.08 × 0.13)d + (0.16 × 0.08 × 0.29)c + (0.16 × 0.08 × 0.05)a + (0.16 × 0.08 × 0.53)b +
(0.16 × 0.36 × 0.13)c + (0.16 × 0.36 × 0.29)d + (0.16 × 0.36 × 0.05)b + (0.16 × 0.36 × 0.53)a +
(0.23 × 0.22 × 0.13)a + (0.23 × 0.22 × 0.29)b + (0.23 × 0.22 × 0.05)d + (0.23 × 0.22 × 0.53)c +
(0.23 × 0.34 × 0.13)b + (0.23 × 0.34 × 0.29)a + (0.23 × 0.34 × 0.05)c + (0.23 × 0.34 × 0.53)d +
(0.23 × 0.08 × 0.13)c + (0.23 × 0.08 × 0.29)d + (0.23 × 0.08 × 0.05)b + (0.23 × 0.08 × 0.53)a +
(0.23 × 0.36 × 0.13)d + (0.23 × 0.36 × 0.29)c + (0.23 × 0.36 × 0.05)a + (0.23 × 0.36 × 0.53)b +
(0.31 × 0.22 × 0.13)c + (0.31 × 0.22 × 0.29)d + (0.31 × 0.22 × 0.05)b + (0.31 × 0.22 × 0.53)a +
(0.31 × 0.34 × 0.13)d + (0.31 × 0.34 × 0.29)c + (0.31 × 0.34 × 0.05)a + (0.31 × 0.34 × 0.53)b +
(0.31 × 0.08 × 0.13)b + (0.31 × 0.08 × 0.29)a + (0.31 × 0.08 × 0.05)c + (0.31 × 0.08 × 0.53)d +
(0.31 × 0.36 × 0.13)a + (0.31 × 0.36 × 0.29)b + (0.31 × 0.36 × 0.05)d + (0.23 × 0.36 × 0.53)c +
(0.30 × 0.22 × 0.13)d + (0.30 × 0.22 × 0.29)c + (0.30 × 0.22 × 0.05)a + (0.30 × 0.22 × 0.53)b +
(0.30 × 0.34 × 0.13)c + (0.30 × 0.34 × 0.29)d + (0.30 × 0.34 × 0.05)b + (0.30 × 0.34 × 0.53)a +
(0.30 × 0.08 × 0.13)a + (0.30 × 0.08 × 0.29)b + (0.30 × 0.08 × 0.05)d + (0.30 × 0.08 × 0.53)c +
(0.30 × 0.36 × 0.13)b + (0.30 × 0.36 × 0.29)a + (0.30 × 0.36 × 0.05)c + (0.30 × 0.36 × 0.53)d

After combining similar terms, the result is exactly ⟨ 0.246512, 0.255600, 0.249264, 0.248624 ⟩.


To see this operation's probabilistic behavior, consider an example with many zeros:

x = ⟨ 0.16, 0.84, 0.00, 0.00 ⟩
y = ⟨ 0.66, 0.34, 0.00, 0.00 ⟩
z = ⟨ 0.75, 0.25, 0.00, 0.00 ⟩
O = 4:14046, as before

Now substitute as in the first example:

(0.16 × 0.66 × 0.75)b + (0.16 × 0.66 × 0.25)a +
(0.16 × 0.34 × 0.75)a + (0.16 × 0.34 × 0.25)b +
(0.84 × 0.66 × 0.75)a + (0.84 × 0.66 × 0.25)b +
(0.84 × 0.34 × 0.75)b + (0.84 × 0.34 × 0.25)a

Many terms have dropped out because of the zeros in the inputs, and the result is ⟨ 0.5544, 0.4456, 0.0000, 0.0000 ⟩.

If the probabilities of three independent events are 0.16, 0.66 and 0.75, then the probability of zero or any two (i.e. an even number) of them occurring is 0.5544, and the probability of any one or three (an odd number) occuring is 0.4456.