The basic idea is we relax the group operation to be more relational than functional. Where a group says "given $a$ and $b$ we have a product $ab$" we instead say "given $a, b, c$, perhaps they have the property that we would otherwise describe as $abc = 1$, if we had a group product". So a crowd is a set $G$ with a distinguished element 1 and a ternary relation $R \subseteq G^3$ satisfying some axioms \[x = 1 \iff (x, 1, 1)\] \[(x, y, 1) \iff (y, x, 1)\] \[(x, y, z) \iff (z, x, y)\] So this is kind of like a group, but the multiplication can be multi-valued. Then you get to prove the nice theorem that if you additionally impose a single-valuedness axiom like \[ \forall x, y. \exists ! z . (x, y, z)\] you have an actual honest-to-goodness group... or at least that's what I assumed, until I noticed Lorscheid's Proposition 5.7, whose condition (2) is basically imposing associativity. I found this a bit disappointing, as I hoped associativity should somehow come from the existing axioms for free. I guess it doesn't.
But! It was therefore a nice open-ended puzzle to come up with a variation on the definition of crowd that did somehow imply associativity if you tried to define groups in terms of it.
Say a multicrowd is functional if for every $n$ and $a_1, \ldots, a_n \in G$, there is a unique $b$ such that $(a_1, \ldots, a_n, b)$. Then we should have
Theorem: A functional multicrowd is the same thing as a group.
Proof: To make a functional multicrowd from a group, define
\[(a_1, \ldots, a_n) \iff a_1\cdots a_n = 1\]
and check $\pi, \iota, \delta$ and functionality are satisfied.
In the other direction, to make a group from a functional multicrowd, we first define some notation. Let \[[a_1, \ldots, a_n]\] be the unique $b$ such that $(a_1, \ldots, a_n)$, and define the group structure $(G, \cdot, 1, {—}^{-1})$ by \[1 = [] \qquad a^{-1} = [a] \qquad a\cdot b = [[a,b]]\] Most of the group axioms are easy to show. Let's show associativity. We must show $(ab)c = a(bc)$, in other words \[[[[[a,b]],c]] = [[a, [[b,c]]]] \tag{*}\] First of all notice that \[ (a, [[b, c]], [a,[[b,c]]])\] holds by definition of $[\cdots]$. Since $(b, c, [b,c])$, we can insert it to obtain \[(a, b, c, [b, c], [[b, c]], [a,[[b,c]]])\] Since $[b, c], [[b, c]]$, we can delete it to obtain \[(a, b, c, [a,[[b,c]]])\] By the uniqueness part of functionality, we have shown \[[a, b, c] = [a,[[b,c]]]\] So it would suffice to show that also \[[a, b, c] = [[[a,b]],c] \tag{**}\] We can do this as follows. First take \[ ( [[a,b]], c, [[[a,b]],c])\] which is true by definition. Insert $(a, b, [a, b])$ to get \[ (a, b, [a, b], [[a,b]], c, [[[a,b]],c])\] Now delete $([a, b], [[a,b]])$ to get \[ (a, b, c, [[[a,b]],c])\] Hence we have shown $(**)$ and it follows that $(*)$, as required. $\cqed$