Notational conventions for commutative monoid
import public Notation
import public Notation.Action
import public Data.Vect.Quantifiers
import public Frex.Free
import public Frex.Free.Construction
cast : (a : MonoidStructure) -> HVect [ary 0 (U a), ary 2 (U a)]
cast : (a : CommutativeMonoid) -> HVect [ary 0 (U a), ary 2 (U a)]
.sum : (a : CommutativeMonoid) -> Vect n (U a) -> U a
mult : (a : CommutativeMonoid) -> Nat -> U a -> U a
NatActionData : (a : CommutativeMonoid) -> ActionData Nat (U a)
NatAction1 : (a : CommutativeMonoid) -> Action1 Nat (U a)
NatAction2 : (a : CommutativeMonoid) -> Action2 Nat (U a)
notation2 : Action2 Nat (Term Signature (Either a (Fin n)))
notation1 : Action1 Nat (Term Signature (Either a (Fin n)))