{-# OPTIONS --safe #-}

open import Prelude

module Data.List.Properties.Discrete {a} {A : Type a} (disc : Discrete A) where

open import Data.List.Properties

private
  infix 4 _≟_
  _≟_ : Discrete A
  _≟_ = disc

infixr 5 _∈?_
_∈?_ : A  List A  Bool
_∈?_ x = foldr  y ys  does (x  y) || ys) false

uniq : List A  Bool
uniq [] = true
uniq (x  xs) = neg (x ∈? xs) && uniq xs