A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://agda.github.io/agda-stdlib/master/Algebra.Properties.Semiring.Sum.html below:

Algebra.Properties.Semiring.Sum

Algebra.Properties.Semiring.Sum
------------------------------------------------------------------------
-- The Agda standard library
--
-- Finite summations over a semiring
------------------------------------------------------------------------

{-# OPTIONS --cubical-compatible --safe #-}

open import Algebra.Bundles using (Semiring)

module Algebra.Properties.Semiring.Sum {c} {} (R : Semiring c ) where

open import Data.Nat.Base using (zero; suc)
open import Data.Vec.Functional using (Vector; head; tail; map)

open Semiring R

------------------------------------------------------------------------
-- Re-export summation over monoids

open import Algebra.Properties.CommutativeMonoid.Sum +-commutativeMonoid public

------------------------------------------------------------------------
-- Properties

*-distribˡ-sum :  {n} x (ys : Vector Carrier n)  x * sum ys  sum (map (x *_) ys)
*-distribˡ-sum {zero} x ys = zeroʳ x
*-distribˡ-sum {suc n} x ys = trans (distribˡ x (head ys) (sum (tail ys))) (+-congˡ (*-distribˡ-sum x (tail ys)))

*-distribʳ-sum :  {n} x (ys : Vector Carrier n)  sum ys * x  sum (map (_* x) ys)
*-distribʳ-sum {zero} x ys = zeroˡ x
*-distribʳ-sum {suc n} x ys = trans (distribʳ x (head ys) (sum (tail ys))) (+-congˡ (*-distribʳ-sum x (tail ys)))

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4