\begin{code}
{-# OPTIONS --cubical --safe #-}
module Data.Fin.Base where
open import Data.Maybe.Base
open import Data.Nat.Base using (ℕ; suc; zero)
open import Level
open import Data.Empty
module DisplayImpl where
open import Data.Unit
open import Data.Sum
Fin : ℕ → Type₀
\end{code}
%<*fin-def>
\begin{code}
Fin zero = ⊥
Fin (suc n) = ⊤ ⊎ Fin n
\end{code}
%</fin-def>
\begin{code}
Fin : ℕ → Type₀
Fin zero = ⊥
Fin (suc n) = Maybe (Fin n)
pattern f0 = nothing
pattern fs n = just n
\end{code}