Let us form words from the elements of an algebraic structure. When these words are rewritten under some given axioms, the resulting entailment graph splits into connected components that we call clusters. In many experiments, the clusters condense and their count seems to be related to number of elements of the underlying structure. This behaviour is called Droplet Phenomenon.
​
Can we understand when the Droplet Phenomenon is happening?
​
To study this, we build entailment graphs generated by rewriting systems under the axioms of groups, quasigroups, loops, unital magmas, monoids and rings with or without unity, and we track how the number of clusters depends on the axioms, the seeds and the rewriting depth. For an operation specified by its multiplication table, with all pairwise products as words, we prove that the number of clusters equals the size of the image of the operation. Consequently, a surjective operation gives exactly one cluster per element. For algebraic structures defined by presentations, the problem becomes an instance of the word problem. Finally, we extend the entailments graphs to Cayley graphs and then to hypergroups and their Cayley hypergraphs. The multivalued entries merge the clusters, suggesting that the correspondence between clusters and elements is a single-valued phenomenon.

Initialization

All function definitions used in this essay are collected here as initialization cells.

Entailment graphs


Hypergroups and Cayley hypergraphs


Entailment Graphs on different Algebraic Structures

Let (G, ∘) be an algebraic structure with |G| = n, a binary operation ∘, and let A be its set of axioms. We form a set E of binary trees (seeds) built from the elements of G, and a depth d controls how many times the axioms are applied. Applying the axioms in A to the trees in E, one rewrite at a time, produces the entailment graph; its connected components are the clusters we study.

Setup

The entailment graphs are obtained with the help of TwoWayRuleNestGraph, TableToRelations that converts a multiplication table into rewriting rules, and the drawing function EntailmentGraphs. These functions are defined as initialization cells in the Initialization section at the beginning of the notebook.
EntailmentGraphs[axioms, seeds, n] applies the two-way rules axioms to each seed
n
times and draws the resulting entailment graph, with the connected clusters placed on a circle. The Cayley graphs are obtained by looking at the action of the generators between the clusters.
Cayley graphs. Given a group G with a generating set S, the Cayley graph of (G, S) has one vertex for every element of G and, for every generator s ∈ S, a directed edge from x to x∘s, coloured by s. In our figures each cluster of the entailment graph plays the role of one element, and the coloured edges between clusters trace the action of the generators; when the droplet phenomenon occurs, these edges reproduce the Cayley graph of the structure.
We visualize the clusters on multiple examples. The coloured lines allow us to go from one cluster to the other by ‘applying’ an element.

Groups and adjacents

Z6 versus Z2 x Z3

Z6 is the cyclic group of order 6, presented by a single generator c with c^6 = e;
Z2 x Z3 is presented by two commuting generators a and b with a^2 = e and b^3 = e.
The two groups are isomorphic, so both entailment graphs should show six clusters and the same Cayley graph up to re-labelling.
Compare the entailment graphs of Z6 and Z2 x Z3:
In[]:=
axiomsZ6 =
{x_∘y_ <-> y_∘x_,
x_∘(y_∘z_) <-> (x_∘y_)∘z_,
e∘x_ <-> x_,
x_∘e <-> x_,
((((c∘c)∘c)∘c)∘c)∘c <-> e};
seedsZ6 = {c, c∘(e∘c),
c∘(c∘e),
e∘(c∘c),
c∘c,
c∘(c∘c),
c∘((c∘c)∘c),
c∘(((c∘c)∘c)∘c),
((((c∘c)∘c)∘c)∘c)∘c };
​
axiomsZ2Z3 =
{x_∘y_ <-> y_∘x_,
x_∘(y_∘z_) <-> (x_∘y_)∘z_,
e∘x_ <-> x_,
x_∘e <-> x_,
a∘a <-> e,
b∘(b∘b) <-> e};
seedsZ2Z3 =
{a∘(e∘b),
a∘a,
a∘e,
b∘(a∘b),
a∘(a∘b),
b∘(a∘a),
b∘b,
a∘b,
a∘(a∘b),
a∘(b∘b),
b∘(b∘b)};
​
​
{EntailmentGraphs[axiomsZ6, seedsZ6, 1],
EntailmentGraphs[axiomsZ2Z3, seedsZ2Z3, 1]}
Out[]=

S3

S3 is the smallest non-abelian group, presented by a rotation r and a transposition s with r^3 = e, s^2 = e and s∘r = (r∘r)∘s. It has six elements, so we expect six clusters.
Draw the entailment graphs of the symmetric group S3:
axiomsS3 =
{e∘x_ <-> x_,
x_∘e <-> x_,
(x_∘y_)∘z_ <-> x_∘(y_∘z_),
(r∘r)∘r <-> e,
s∘s <-> e,
s∘r <-> (r∘r)∘s};
Take all order pairs of generators and combine them with the operator:
seedsS3=Fold[SmallCircle,First[#],Rest[#]]&/@Tuples[{e,s,r},2];
EntailmentGraphs[axiomsS3,seedsS3,1]
Out[]=
Having done some experiments on groups, we now want to focus on what axioms we allow. We will start by choosing different subsets of the group axioms to evaluate if the number of clusters changes.

Quasigroups

A quasigroup has a multiplication table in which every element appears exactly once in each row and each column; no identity or associativity axiom is assumed.
Draw the entailment graph of a quasigroup of order 3, given by its full multiplication table:
In[]:=
axiomsQuasigroupExample =
{a ∘ a <-> a,
a ∘ b <-> c,
a ∘ c <-> b,
b ∘ a <-> b,
b ∘ b <-> a,
b ∘ c <-> c,
c ∘ a <-> c,
c ∘ b <-> b,
c ∘ c <-> a};
seedsQuasigroupExample = Fold[SmallCircle, First[#], Rest[#]] & /@ Tuples[{a, b, c}, 2];
​
EntailmentGraphs[axiomsQuasigroupExample, seedsQuasigroupExample, 2]
Out[]=

Loops

A loop is a quasigroup with an identity element.
Draw the entailment graph of a loop of order 5:
In[]:=
axiomsLoop5 =
{e∘x_ <-> x_,
x_∘e <-> x_,
a∘a <-> d,
a∘b <-> e,
a∘c <-> b,
a∘d <-> c,
b∘a <-> c,
b∘b <-> a,
b∘c <-> d,
b∘d <-> e,
c∘a <-> e,
c∘b <-> d,
c∘c <-> a,
c∘d <-> b,
d∘a <-> b,
d∘b <-> c,
d∘c <-> e,
d∘d <-> a};
seedsLoop5 = Fold[SmallCircle, First[#], Rest[#]] & /@ Tuples[{a, b, c,d,e}, 2];
​
EntailmentGraphs[axiomsLoop5, seedsLoop5, 2]
Out[]=

Unital magma

A unital magma has only the identity axiom.
Draw the entailment graph of a unital magma of order 3:
In[]:=
axiomsUnitalMagmaExample =
{m ∘ m <-> m,
m ∘ e <-> m,
m ∘ n <-> m,
e ∘ m <-> m,
e ∘ e <-> e,
e ∘ n <-> n,
n ∘ m <-> e,
n ∘ e <-> n,
n ∘ n <-> m};
seedsUnitalMagmaExample = Fold[SmallCircle, First[#], Rest[#]] & /@ Tuples[{e, m, n}, 2];
​
EntailmentGraphs[axiomsUnitalMagmaExample, seedsUnitalMagmaExample, 2]

Monoid

A monoid is an associative unital magma.
Draw the entailment graph of a monoid of order 3:
In[]:=
axiomsMonoidExample =
{k ∘ k <-> k,
k ∘ m <-> k,
k ∘ e <-> k,
m ∘ k <-> k,
m ∘ m <-> k,
m ∘ e <-> m,
e ∘ k <-> k,
e ∘ m <-> m,
e ∘ e <-> e};
seedsMonoidExample = Fold[SmallCircle, First[#], Rest[#]] & /@ Tuples[{e, k, m}, 3];
​
EntailmentGraphs[axiomsMonoidExample, seedsMonoidExample, 2]

Idempotent structures

Here the structure is given by a presentation: a commutative idempotent operation, x∘x <-> x, on three generators.
Draw the entailment graph of an idempotent commutative operation on three generators:
In[]:=
axiomsIdempotentNoAssoc =
{x_∘y_ <-> y_∘x_,
x_∘x_ <-> x_};
seedsIdem = Fold[SmallCircle, First[#], Rest[#]] & /@ Tuples[{a, b, c}, 3];
​
EntailmentGraphs[axiomsIdempotentNoAssoc, seedsIdem, 2]
Add associativity and repeat with two generators:
In[]:=
axiomsIdempotent =
{x_∘y_ <-> y_∘x_,
x_∘(y_∘z_) <-> (x_∘y_)∘z_,
x_∘x_ <-> x_};
seedsPairwise = Groupings[Tuples[{a, b}, 2], SmallCircle -> 2];
​
EntailmentGraphs[axiomsIdempotent, seedsPairwise, 2]

Rings

Everything so far concerned a single operation. Rings are the first natural test with two operations: an addition ⊕ and a multiplication ⊗; these two are linked via distributivity. With two operations there are two types of clusters: the addition clusters, generated by seeds of the form x⊕y and connected by ⊕-edges, and the multiplication clusters, generated by seeds of the form x⊗y and connected by ⊗-edges. The multiplication does not form a ring with the set; if the ring has a unit, then ⊗ is surjective and the multiplication clusters should match the elements; but when the unit disappears, the image of ⊗ might shrinks and so does the number of multiplication clusters.
Define the axioms of the Z4 ring and take as seeds all elements and all pairwise sums and products:
In[]:=
axiomsZ4Ring =
{x_⊕y_ <-> y_⊕x_,
x_⊕(y_⊕z_) <-> (x_⊕y_)⊕z_,
o⊕x_ <-> x_,
x_⊗y_ <-> y_⊗x_,
x_⊗(y_⊗z_) <-> (x_⊗y_)⊗z_,
u⊗x_ <-> x_,
x_⊗(y_⊕z_) <-> (x_⊗y_)⊕(x_⊗z_),
u⊕(u⊕(u⊕u)) <-> o};
​
elemsZ4add = {u⊕(u⊕(u⊕u)), u, u⊕u, u⊕(u⊕u),o,o⊕u,u⊕o,o⊕o,o⊕(o⊕o)};
elemsZ4mul = {u⊗(u⊗(u⊗u)), u, u⊗u, u⊗(u⊗u),o,o⊗u,u⊗o,o⊗o,o⊗(o⊗o)};
With the axioms and seeds above, create the entailment graph with connecting edges given by the operations above:
In the example above, the unit generates the additive group, so distributivity determines the multiplication. We will try now the same analysis but on a special example.
Define the axioms of Z2[x]/(x^2):
With the axioms and seeds above, create the entailment graph for both addition and multiplication:

Non-unital ring

A rng (non-unital ring) drops the multiplicative unit and the multiplication map not surjective.
Define axioms and seeds for non-unital ring:
​

Conjectures on Cluster Counts

Conjectures for Group-like structures

Draw the entailment graph of Z5 with all of its axioms present:
axiomsZ5 =
{x_∘y_ <-> y_∘x_,
x_∘(y_∘z_) <-> (x_∘y_)∘z_,
e∘x_ <-> x_,
x_∘e <-> x_,
a∘(a∘(a∘(a∘a))) <-> e};
seedsZ5 = {e, a, (a∘a), ((a∘a)∘a), (((a∘a)∘a)∘a)};
​
​
EntailmentGraphs[axiomsZ5, seedsZ5, 2]
Remove the identity axiom:
axiomsZ5NOID =
{x_∘y_ <-> y_∘x_,
x_∘(y_∘z_) <-> (x_∘y_)∘z_,
a∘(a∘(a∘(a∘a))) <-> e};
seedsNOIDZ5 = {e, a, (a∘a), ((a∘a)∘a), (((a∘a)∘a)∘a)};
​
EntailmentGraphs[axiomsZ5NOID, seedsZ5NOID, 2]
From the last example we observe that once the identity axiom is removed, the number of clusters changes. This indicates a relationship between the axioms and the cluster count. We make this precise with two statements: the first is proved as the proposition below, while the second requires more time and mathematical analysis.
Conjecture 1 (operations given by complete tables). Let ∘ be a binary operation on a finite set G, given by its complete multiplication table, and let the seed set consist of all products x∘y with x, y ∈ G. Then for every depth d ≥ 1 the number of clusters of the entailment graph equals |{x∘y : x, y ∈ G}|, the size of the image of ∘. In particular, if ∘ is surjective, the number of clusters equals |G|.
​
​Conjecture 2 (structures given by presentations). Let G be a finite group given by a presentation, and let the seed set E consist of seeds whose values cover every element of G. Then the number of clusters of the entailment graph at depth d converges to |G| as d  ∞.

How is this connected to the word problem of groups?

Two binary trees lie in the same cluster when one of them can be transformed into the other by a finite chain of axiom applications. Asking whether two trees share a cluster is therefore the word problem for the presentation. This is why Conjecture 2 is stated as a limit: at any fixed depth d the graph may still show more clusters than |G|, because some equalities need rewriting chains longer than d allows. Since distinct group elements are not necessarily identified, the cluster count decreases with d and reaches |G| at some finite depth, which is the conjecture.
​
By the Adian–Rabin theorem it is undecidable whether a finitely presented group is finite. For operations given by complete multiplication tables the situation is clear: we can prove Conjecture 1.

Proposition

Given a complete multiplication table of a binary operation ∘ on a finite set G, with relations x∘y <-> z, and the binary trees of all products x∘y with x, y in G, the number of clusters equals the size of the image of ∘. In particular, if ∘ is surjective, the number of clusters is equal to the number of elements in G.
​
Proof. Evaluating the terms from E we get a value in G for every expression. Terms without a value are never identified. At the same time, every term rewrites down to its value, so terms with the same value are connected. The values of the seeds x∘y range over the image of ∘, and this gives one cluster per image element.
The operation x∘y = (x + y) mod k on {0, …, n - 1} has image {0, …, k - 1} of size k < n, so the Proposition predicts k clusters even though there are n elements.
Build the remainder operation for n = 8 and k = 3 and draw its entailment graph:

Remark

Observe that we also have constraints on what elements the set E contains. In particular, the entailment graph only contains what is reachable from E. Therefore the number of clusters should be interpreted as a triple (axioms, E, d). There are two things that can go wrong:
​
1. The values of the seeds do not cover all the elements; then no rewriting can create the missing elements and the count converges to the number of distinct values in E, which by definition is smaller than the order of the group.
​
2. The values of the seeds are ‘too small’ for the axioms to match; this can result in no axioms being applied to any of the seeds.

Conjectures for Ring-like structures

Let R be a finite ring presented by axioms for two operations, ⊗ and ⊕, and E a set of seeds obtained by applying the two operations to different elements. Then:
◼
  • The number of clusters obtained with E containing only ⊕-products of elements equals |R|, where R is thought as a group.
  • ◼
  • The cluster count of the ⊗-only restricted graph, with E containing only ⊗-products of elements, is |{x ⊗ y : x, y ∈ R}|. This equals |R| iff R is unital (or more generally iff ⊗ is surjective).
  • ◼
  • More exploration is needed for seeds that have both operations; however the conjectures are expected to work similarly.
  • Towards Cayley hypergraphs

    This section extends the Cayley graphs structure to operations that are multivalued. The multivalued operations arise in hypergroups, in particular, from cosets: for a subgroup H of a group G, multiplying two cosets of H elementwise does not give a single coset in general. We obtain a union of coset and we can record this with a hyperoperation.

    Setup

    This section reuses EntailmentGraphs from the first section and adds the coset-hypergroup machinery: the cluster counter EntailmentClusterCount, the constructors CosetHypergroup and HyperOpToRelations, the reproductive-law test ReproductiveQ, and the drawing functions CayleyHypergraph and CayleyHypergraphObject. All of these are defined as initialization cells in the Initialization section at the beginning of the notebook.

    Examples

    Hypergroup

    The smallest interesting case uses the symmetric group S3 from our examples, with the non-normal subgroup H = {e, s} generated by the transposition s = (1 2).
    Build the coset hypergroup of S3 with respect to H = {e, s}.
    In[]:=
    hg = CosetHypergroup[SymmetricGroup[3],
    PermutationGroup[{Cycles[{{1, 2}}]}]];
    {names, cosets, hyperOp} = Lookup[hg, {"Names", "Cosets", "HyperOp"}];
    Display its hyperoperation table:
    The entry for C1 * C1 is {C0, C2}. Drawn as a graph, this becomes two arrows of the same color leaving the same vertex, which can be interpreted as a hyperedge. The picture below is the Cayley hypergraph of the coset hypergroup: one color per coset acting by right multiplication.
    Draw the Cayley hypergraph:
    In[]:=
    figCayley = CayleyHypergraph[names, hyperOp]
    The same object through the Wolfram Institute Hypergraph paclet:
    Construct the hypergraph object if the WolframInstitute/Hypergraph paclet is available:
    In[]:=
    hypS3 = CayleyHypergraphObject[names, hyperOp]
    For single-valued operations, Conjecture 1 says that a surjective table gives one cluster per element. However, the proof of the proposition no longer works: the hyperoperation contributes one rule per target, so a single tree such as C1*C1 can now rewrite to several different elements. Let us see what actually happens.
    Draw the entailment graph of the coset hypergroup:
    In[]:=
    hyperRules = HyperOpToRelations[hyperOp, names];
    hyperSeeds = SmallCircle @@@ Tuples[names, 2];
    ​
    figEntail = EntailmentGraphs[hyperRules, hyperSeeds, 2,
    "EntailmentFunctions" -> Table[With[{g = names[[k]]},
    Row[{"∘", g}] -> (SmallCircle[#, g] &)],
    {k, Length[names]}]]
    We observe that the three cosets produce a single cluster. Whenever an entry has several targets, as C1*C1 <-> C0 and C1*C1 <-> C2 do, the shared tree connects the targets to each other, and here the whole graph merges into one cluster. To see the same mechanism in an even more extreme form, we next build a semihypergroup, where the reproductive law fails. Is theright analog of surjectivity the Reproductivity?

    Semihypergroup

    Define a semihypergroup on three elements whose entries are nested prefixes:
    Display the table of elements:
    Draw the entailment graph:
    Draw the Cayley hypergraph of the semihypergroup:
    Construct its hypergraph object:
    In[]:=
    hypS3 = CayleyHypergraphObject[namesNR, hyperOpNR]
    Observe that the entries share elements, so the multivalued rules connect all the cosets to each other. The correspondence between clusters and elements is a single-valued phenomenon; for hyperstructures, with or without the reproductive law, multivalued entries collapse the clusters.

    Conjecture for hypergroups

    The number of clusters of a hypergroup equals the order of its fundamental group.

    Concluding Remarks

    We introduced entailment graphs generated by rewritings and studied how their cluster counts vary across algebraic structures. For operations given by complete multiplication tables, the number of clusters equals the size of the image of the operation, implying that a surjective operation gives exactly one cluster per element. In contrast, for algebraic structures defined by presentations, the connection to the word problem shows that it cannot hold in full generality.
    ​
    The project extended the construction to coset hypergroups, where the multivalued hyperoperation merges the clusters, as illustrated by Cayley hypergraph of S3 as shown by the non-normal subgroup {e, s}. These results provide a starting point for further understanding entailment graphs in a broader algebraic setting.
    ​
    Future work includes evaluating Cayley “partial” graphs at greater rewriting depths to better understand their behaviour and studying the rate at which cluster counts converge as the rewriting depth increases. More investigation of Cayley hypergraphs across a different examples is needed, together with a deeper understanding of the role of labelled hypergraphs. Other direction include extending the analysis to semihypergroups, where the reproductive law does not hold, examining the geometry of clusters and its dependence on the choice of seeds. Exploring the behaviour of entailment graphs for rings, algebras, and fields presents significant computational challenges.

    Acknowledgements

    I am deeply grateful for my mentors, Carlos Zapata-Carratalá, Dugan Hammock and Pavel Hajek for their guidance and encouragement and the late-night revisions. Special thanks to Carlos for helping me develop the project and for our many conversations on its algebraic and computational framework. I was reminded of what the ‘juice’ of life is.
    Finally, I would like to thank Stephen Wolfram in suggesting the research direction that motivated this project.

    References

    1
    .
    Wolfram Physics Project (n.d.), “TwoWayRuleNestGraph,” Wolfram Function Repository. https://www.wolframcloud.com/obj/wolframphysics/TwoWayRuleNestGraph.
    2
    .
    G. Birkhoff (1935), “On the Structure of Abstract Algebras,” Proceedings of the Cambridge Philosophical Society 31(4), 433-454.
    3
    .
    W. W. Boone (1958), “The Word Problem,” Proceedings of the National Academy of Sciences 44(10), 1061-1065.
    4
    .
    S. I. Adian (1955), “Algorithmic Unsolvability of Problems of Recognition of Certain Properties of Groups,” Doklady Akademii Nauk SSSR 103, 533-535.
    5
    .
    M. O. Rabin (1958), “Recursive Unsolvability of Group Theoretic Problems,” Annals of Mathematics 67(1), 172-194.
    6
    .
    J. A. Todd and H. S. M. Coxeter (1936), “A Practical Method for Enumerating Cosets of a Finite Abstract Group,” Proceedings of the Edinburgh Mathematical Society 5(1), 26-34.
    7
    .
    D. E. Knuth and P. B. Bendix (1970), “Simple Word Problems in Universal Algebras,” in J. Leech (ed.), Computational Problems in Abstract Algebra, Pergamon Press, 263-297.

    AI Disclosure

    The following generative AI tools were used in this project: Claude. They were used for brainstorming and editing.
    All code and written content was reviewed, understood and approved by the author.

    CITE THIS NOTEBOOK

    One Droplet at a Time: How Entailment Graphs Condense​
    by Alexandra Ciotau​
    Wolfram Community, STAFF PICKS, July 16, 2026
    https://community.wolfram.com/groups/-/m/t/3762683