{-# 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