data Sum : (a : Type) -> List a -> Type Normalized arithmetic expression in a commutative
ring (represented as an (ordered) sum of terms).
Totality: total
Visibility: public export
Constructors:
Nil : Sum a as (::) : Term a as -> Sum a as -> Sum a as
(+) : (0 _ : Rig a z o p m) -> ((v : a) -> Maybe (v = z)) -> a -> a -> a- Totality: total
Visibility: public export
Fixity Declaration: infixl operator, level 8 (*) : (0 _ : Rig a z o p m) -> ((v : a) -> Maybe (v = z)) -> a -> a -> a- Totality: total
Visibility: public export
Fixity Declaration: infixl operator, level 9 eterm : (0 _ : Rig a z o p m) -> ((v : a) -> Maybe (v = z)) -> Term a as -> a- Totality: total
Visibility: public export esum : (0 _ : Rig a z o p m) -> ((v : a) -> Maybe (v = z)) -> Sum a as -> a Evaluate a sum of terms.
Totality: total
Visibility: public exportadd : (0 _ : Rig a z o p m) -> ((v : a) -> Maybe (v = z)) -> Sum a as -> Sum a as -> Sum a as Add two sums of terms.
The order of terms will be kept. If two terms have identical
products of variables, they will be unified by adding their
factors.
Totality: total
Visibility: public exportnormSum : (0 _ : Rig a z o p m) -> ((v : a) -> Maybe (v = z)) -> Sum a as -> Sum a as Normalize a sum of terms by removing all terms with a
`zero` factor.
Totality: total
Visibility: public exportmult1 : (0 _ : Rig a z o p m) -> ((v : a) -> Maybe (v = z)) -> Term a as -> Sum a as -> Sum a as Multiplies a single term with a sum of terms.
Totality: total
Visibility: public exportmult : (0 _ : Rig a z o p m) -> ((v : a) -> Maybe (v = z)) -> Sum a as -> Sum a as -> Sum a as Multiplies two sums of terms.
Totality: total
Visibility: public export0 padd : (0 r : Rig a z o p m) -> (isZ : ((v : a) -> Maybe (v = z))) -> (x : Sum a as) -> (y : Sum a as) -> esum x + esum y = esum (add x y)- Totality: total
Visibility: export 0 pmult : (0 r : Rig a z o p m) -> (isZ : ((v : a) -> Maybe (v = z))) -> (x : Sum a as) -> (y : Sum a as) -> esum x * esum y = esum (mult x y)- Totality: total
Visibility: export 0 pnormSum : (0 r : Rig a z o p m) -> (isZ : ((v : a) -> Maybe (v = z))) -> (s : Sum a as) -> esum (normSum s) = esum s- Totality: total
Visibility: export