Mathematics Stack Exchange is a question and answer site for people studying math at any level and professionals in related fields. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top


In Haskell, there are a bunch of so-called type classes that are theoretically "alike":

class Monoid m where
    mempty  :: m
    mappend :: m -> m -> m

class (Applicative f) => Alternative f where
    empty   :: f a
    (<|>)   :: f a -> f a -> f a

class Category c where
    id      :: c x x
    (.)     :: c y z -> c x y -> c x z

When I see such patterns, I like to know how they can be generalized. So I called these structures "associative n-coids" for the time being, and tried to find such structures for $n>2$.


Just to be clear, I use the notation $X^n$ ($n \in \mathbb{N}$) for $\underbrace{X \times X \times \cdots X}_n \}$.

$X^0 = \{ () \}$ is a bit of a special case.


A 0-coid of $F:X^0\rightarrow Y$ equips $F$ with:

  • a binary operation $\ast : F1 \times F1 \rightarrow F1$, and
  • for every $A\in X^0$, an element $\epsilon_A \in F1$, such that $\epsilon_A$ is:

    • the left unit of $\left.\ast\right|_{F1 \times F1 \rightarrow F1}$, and
    • the right unit of $\left.\ast\right|_{F1 \times F1 \rightarrow F1}$.


A 1-coid of $F:X^1\rightarrow Y$ equips $F$ with:

  • a binary operation $\ast : FA \times FA \rightarrow FA$, and
  • for every $A\in X$, an element $\epsilon_A \in FA$, such that $\epsilon_A$ is:

    • the left unit of $\left.\ast\right|_{FA \times FA \rightarrow FA}$, and
    • the right unit of $\left.\ast\right|_{FA \times FA \rightarrow FA}$.


A 2-coid of $F:X^2\rightarrow Y$ equips $F$ with:

  • a binary operation $\ast : FAB \times FBC \rightarrow FAC$, and
  • for every $A\in X$, an element $\epsilon_A \in FAA$, such that $\epsilon_A$ is:

    • the left unit of $\left.\ast\right|_{FAA \times FAB \rightarrow FAB}$ for every $B\in X$, and
    • the right unit of $\left.\ast\right|_{FBA \times FAA \rightarrow FBA}$ for every $B\in X$.

Questions, part 1

  1. I'm unsure about my terminology. If you find any mistakes, please correct them :)
  2. The difference between the definitions of 0-coids and 1-coids seems inelegant to me. Why does this happen? Is $X^0$ the culprit here? If so, have I over-generalized this structure?

    -edit- I see what's going on now. What I'm doing here is diagonalizing ($FAA$) after quantifying ($A\in X$). What I should be doing is quantifying ($FS$) after diagnoalizing ($S\in \delta X$).

    However, this would introduce a lot of clutter in the definition (I'd need to project the tuples to give the types for $\ast$). I'm only doing this to fit 0-coids into the pattern, which seems like an bad justification. I think I have over-generalized this idea.

    Perhaps 0-coids should only be noted as a special case of 1-coids (cf. "Reductibility").

  3. I assume a 0-coid of $F$ forms a unital magma $(F1,\ast)$. Is this correct?
  4. I assume an associative 2-coid of $F$ is a category $C$, with $\text{Ob}(C)=X$, $\text{Hom}_C(A,B)=FAB$, $1_X = \epsilon_X$, and $f \circ g = g \ast f$. Is this correct?


Any 0-coid on $F:X^0 \rightarrow Y$ can be reduced to a 1-coid on $F':(X^0)^1\rightarrow Y:(()) \mapsto F()$.

Any 1-coid on $F:X^1 \rightarrow Y$ can be reduced to any n-coid on $F':X^n \rightarrow Y:A \mapsto FA\cdots{}A$.

Questions, part 2

  1. I can't come up with n-coids for $n>2$ that follows the pattern I've seen above. I suspect $n$ is limited by the arity of $\ast$. How can I rationalize this?
  2. When I move to ternary n-coids, I can imagine definitions for 0-coids, 1-coids, and 3-coids (with $\ast : F\underline{A}BC \times FB\underline{C}D \times FCD\underline{E} \rightarrow FACE$, underlining added for emphasis). However, I can't think of a definition for 2-coids that follows the patterns. This leads me to believe that, for k-ary n-coids, only $n=0$, $n=1$ and $n=k$ make sense. Is this the case?
  3. Is there an established name for k-ary k-coids?
share|cite|improve this question
Perhaps you are trying to get at higher categories and multicategories. – Zhen Lin Jan 1 '13 at 1:53

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.