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