The syntax and axioms for monoids
data Operation : Nat -> TypeSignature : Signaturedata Axiom : TypeMonoidTheory : PresentationMonoidStructure : TypeMonoid : TypeUnit : Op SignatureProd : Op Signatureascii : Printer Signature ()generic : Printer Signature ()natPlus : Printer Signature ()additive1 : Printer Signature ()additive2 : Printer Signature ()withRaw : Printer Signature a -> Printer MonoidTheory awithWords : Printer Signature a -> Printer MonoidTheory a