\begin{code}
{-# OPTIONS --safe #-}
module Data.Vert where
open import Prelude hiding (a; b; c)
\end{code}
%<*vert>
\begin{code}
data Vert : Type where
a b c d : Vert
\end{code}
%</vert>
\begin{code}
module VertDiscrete where
_≡ᴮ_ : Vert → Vert → Bool
a ≡ᴮ a = true
b ≡ᴮ b = true
c ≡ᴮ c = true
d ≡ᴮ d = true
_ ≡ᴮ _ = false
sound : ∀ x y → T (x ≡ᴮ y) → x ≡ y
sound a a p = refl
sound b b p = refl
sound c c p = refl
sound d d p = refl
complete : ∀ x → T (x ≡ᴮ x)
complete a = tt
complete b = tt
complete c = tt
complete d = tt
discreteVert : Discrete Vert
discreteVert = from-bool-eq (record { VertDiscrete })
\end{code}