0 | module Data.Container.Additive.Object.Instances
2 | import Data.List.Quantifiers
3 | import Data.Vect.Quantifiers
5 | import Data.Container.Base
6 | import Data.ComMonoid
7 | import Data.Container.Additive.Object.Definition
8 | import Data.Container.Additive.Extension.Definition
9 | import Data.Container.Additive.Product.Definitions
16 | Scalar = MkAddCont Scalar
23 | Empty = MkAddCont Empty @{MkI absurd}
28 | Const : Type -> ComMonoid -> AddCont
29 | Const a (
t ** m)
= MkAddCont (Const2 a t) @{MkI $
\_ => m}
32 | TrivialPos : Type -> AddCont
33 | TrivialPos a = Const a (
Unit ** %search)
39 | Const : (a : Type) -> (mon : ComMonoid a) => AddCont
40 | Const a = Const a (
a ** mon)