std.group

Implementation of the Group type

Types

type Group a = { monoid : std.monoid.Monoid a, inverse : a -> a }

Group a represents an monoid an which has an inverse element. This means the following additional laws must hold:

  • forall x . append (inverse x) x = empty = append x (inverse x)