Finite sum over a monoid
Function
context | $ \langle\!\langle M,* \rangle\!\rangle$ … monoid |
let | $e$ … unit of $\langle\!\langle M,* \rangle\!\rangle$ |
definition | $\sum^n:\prod_{S:\mathrm{Sequence}(M)}\mathrm{range}(\mathrm{length}(S))\to M$ |
definition | $\sum_{k=1}^n\ S_k:= \begin{cases} e & \mathrm{if}\ n=0\\\\ \left(\sum_{k=1}^{n-1}\ S_k\right)\ *\ S_n & \mathrm{else} \end{cases}$ |
Discussion
Here $\prod_{S:\mathrm{Sequence}(M)}$ is a dependent function type former.