Idris2Doc : Frexlet.Monoid.Commutative.NatSemiLinear.Sum

Frexlet.Monoid.Commutative.NatSemiLinear.Sum

Properties to do with sums

Definitions

sumHomomorphism : (a : CommutativeMonoid) ->SetoidHomomorphism (VectSetoidn (casta)) (casta) (a.sum)
Totality: total
Visibility: public export
.sum : (a : CommutativeMonoid) ->VectSetoidn (casta) ~>casta
Totality: total
Visibility: public export
sumTabulateExtensional : (a : CommutativeMonoid) -> (f : (Finn->Ua)) -> (g : (Finn->Ua)) -> ((cast (Finn) ~~>casta) .equivalence) .relation (matef) (mateg) ->a.rel (a.sum (tabulatef)) (a.sum (tabulateg))
Totality: total
Visibility: public export
sumZeroZero : (a : CommutativeMonoid) -> (n : Nat) -> ((casta) .equivalence) .relation (a.sum (replicatenO1)) O1
Totality: total
Visibility: public export
sumDegenerate : (a : CommutativeMonoid) -> (xs : Vectn (Ua)) -> (i : Finn) -> ((j : Finn) ->Either (i=j) (((casta) .equivalence) .relation (indexjxs) O1)) -> ((casta) .equivalence) .relation (a.sumxs) (indexixs)
Totality: total
Visibility: public export
interchange : (a : CommutativeMonoid) -> (x : Ua) -> (y : Ua) -> (z : Ua) -> (w : Ua) ->a.rel ((x.+.y) .+. (z.+.w)) ((x.+.z) .+. (y.+.w))
Totality: total
Visibility: public export
sumCommutative : (a : CommutativeMonoid) -> (f : (Finn->Ua)) -> (g : (Finn->Ua)) ->a.rel (a.sum (tabulate (\i=>fi.+.gi))) (a.sum (tabulatef) .+.a.sum (tabulateg))
Totality: total
Visibility: public export
sumPreservation : (a : CommutativeMonoid) -> (b : CommutativeMonoid) -> (h : a~>b) -> (xs : Vectn (Ua)) ->b.rel ((h.H) .H (a.sumxs)) (b.sum (map ((h.H) .H) xs))
  NB: a,b are explicit since we can't recover them from the
homomorphism between them as algebras alone.

Totality: total
Visibility: public export