packages feed

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)