module algebra.semigroup.core where
open import level
open import equality.core
open import sum
open import hott.level
record IsSemigroup {i} (X : Set i) : Set i where
field
_*_ : X → X → X
assoc : (x y z : X) → (x * y) * z ≡ x * (y * z)
is-set : h 2 X
Semigroup : ∀ i → Set (lsuc i)
Semigroup i = Σ (Set i) IsSemigroup