A multiset is a ‘set’ in which elements may occur multiple times. These structures are ideal for expressing the outcome of an election, for instance of the form 60 ‘yes’ and 40 ‘no’. Moreover, multisets are a useful datatype in vote counting algorithms. This will be illustrated in three different forms of vote counting, known as: ‘instant-runoff’, ‘De Borda’, and ‘single transferrable vote’. The relevant abstract properties of multisets are: (1) they form a (free) commutative monoid, and (2) they form a functor, and (3) also a monad. This paper illustrates how such categorical properties can be put to good use in deriving and expressing election outcomes. The emphasis is not on the (elementary) category theory involved, but on its application in voting systems.

生成讲解博客的中文版本

生成AI智能校验的中文版本