Idris2Doc : Algebra.Semigroup

Algebra.Semigroup

(source)

Definitions

interfaceLSemigroup : Type->Type
  This interface is a witness that for a
type `a` the axioms of a semigroup hold: `(<+>)` is associative.

Note: If the type is actually a monoid, use `Data.Algebra.LMonoid` instead.

Parameters: a
Constraints: Semigroup a
Methods:
0appendAssociative : x<+> (y<+>z) = (x<+>y) <+>z

Implementation: 
CommutativeSemigroupa->LSemigroupa
0appendAssociative : {auto__con : LSemigroupa} ->x<+> (y<+>z) = (x<+>y) <+>z
Totality: total
Visibility: public export
interfaceCommutativeSemigroup : Type->Type
  This interface is a witness that for a
type `a` the axioms of a commutative semigroup hold:
`(<+>)` is commutative.

Parameters: a
Constraints: LSemigroup a
Methods:
0appendCommutative : x<+>y=y<+>x
0appendCommutative : {auto__con : CommutativeSemigroupa} ->x<+>y=y<+>x
Totality: total
Visibility: public export