module algebra.monoid.core where open import level open import algebra.semigroup open import equality.core open import sum record IsMonoid {i} (M : Set i) : Set i where field instance sgrp : IsSemigroup M open IsSemigroup sgrp public field e : M lunit : (x : M) → e * x ≡ x runit : (x : M) → x * e ≡ x Monoid : ∀ i → Set (lsuc i) Monoid i = Σ (Set i) IsMonoid