idris-0.9.8: lib/Decidable/Decidable.idr
module Decidable.Decidable
%access public
--------------------------------------------------------------------------------
-- Typeclass for decidable n-ary Relations
--------------------------------------------------------------------------------
using (t : Type)
class Rel (p : t) where
total liftRel : (Type -> Type) -> Type
class (Rel p) => Decidable (p : t) where
total decide : liftRel Dec
using (P : Type, p : P)
data Given : Dec P -> Type where
always : Given (Yes p)