\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}