{-# OPTIONS --without-K #-}
-- Agda-hott library.
-- Author: Mario Román
-- Monoid. Definition of the algebraic structure of a monoid.
open import Agda.Primitive
open import Base
open import Equality
open import logic.Sets
module algebra.Monoids {ℓ} where
record Monoid : Type (lsuc ℓ) where
field
-- Operations of a monoid
G : Type ℓ
GisSet : isSet G
_<>_ : G → G → G -- Multiplication function
e : G -- Unit element
-- Axioms of a monoid
lunit : (x : G) → (e <> x) == x
runit : (x : G) → (x <> e) == x
assoc : (x y z : G) → (x <> (y <> z)) == ((x <> y) <> z)
open Monoid {{...}} public