Idris2Doc : Data.ComMonoid

Data.ComMonoid

(source)

Reexports

importpublic Data.Num
importpublic Data.Bag

Definitions

recordComMonoid : Type->Type
  Commutative monoid
Not encoding monoid laws, nor commutativity here

Totality: total
Visibility: public export
Constructor: 
MkComMonoid : (a->a->a) ->a->ComMonoida

Projections:
.neutral : ComMonoida->a
.plus : ComMonoida->a->a->a

Hints:
Numa=>ComMonoida
ComMonoida=>ComMonoidb=>ComMonoid (a, b)
Nump=> {automon : ComMonoidp} ->InterfaceOnPositions (Constp) Num
.plus : ComMonoida->a->a->a
Totality: total
Visibility: public export
plus : ComMonoida->a->a->a
Totality: total
Visibility: public export
.neutral : ComMonoida->a
Totality: total
Visibility: public export
neutral : ComMonoida->a
Totality: total
Visibility: public export
numIsMonoid : Numa=>ComMonoida
  Every `Num` type is a commutative monoid under addition.
Deliberately `export` and not `public export`, as it complicates search
It spawns a witness for every `Const a` with numeric `a`

Totality: total
Visibility: export
listIsMonoid : ComMonoid (Lista)
Totality: total
Visibility: public export
bagIsMonoid : ComMonoid (Baga)
Totality: total
Visibility: public export
pairIsMonoid : ComMonoida=>ComMonoidb=>ComMonoid (a, b)
Totality: total
Visibility: public export
sum : ComMonoida=>Baga->a
Totality: total
Visibility: public export
ComMonoid : Type
  Same as ComMonoid, but without exposing the underlying carrier in the type

Totality: total
Visibility: public export
uSet : ComMonoid->Type
  Forgetful functor

Totality: total
Visibility: public export
ComMonoidHomo : ComMonoid->ComMonoid->Type
  Not encoding the rules for now
Not using pattern matching so it reduces

Totality: total
Visibility: public export
functionIsMonoid : ComMonoidb->ComMonoid (a->b)
  Hom object of commutative monoids 
Notably, without commutativity this does not exist

Totality: total
Visibility: public export
natMon : ComMonoid
  Natural numbers, the free commutative monoid on one generator.

Totality: total
Visibility: public export
Free : Type->ComMonoid
Totality: total
Visibility: public export
fromGenerators : (a->uSety) ->ComMonoidHomo (Freea) y
  Hom-set isomorphism of the free-forgetful adjunction between ComMon and Set
A map on generators is extended to a homomorphism out of a free commtuative
monoid on the generators

Totality: total
Visibility: public export
scale : ComMonoida=>Nat->a->a
  Canonical action of `Nat` on a commutative monoid
`scale n x` is the `n`-fold sum `x + ... + x`
Special case of `fromGenerators` whe `a=Unit`.

Totality: total
Visibility: public export