{-# OPTIONS --without-K --safe #-}
module Categories.Category.Discrete where
open import Level using (Level; suc; _⊔_)
open import Categories.Category using (Category)
open import Categories.Category.Groupoid using (IsGroupoid)
record IsDiscrete {o ℓ e} (C : Category o ℓ e) : Set (o ⊔ ℓ ⊔ e) where
open Category C using (Obj; _⇒_; _≈_)
field
isGroupoid : IsGroupoid C
preorder : {A B : Obj} → (f g : A ⇒ B) → f ≈ g
record DiscreteCategory (o ℓ e : Level) : Set (suc (o ⊔ ℓ ⊔ e)) where
field
category : Category o ℓ e
isDiscrete : IsDiscrete category
open IsDiscrete isDiscrete public