@@ -1,17 +1,21 @@
1module Decidable.Decidable
1module Decidable.Decidable
3%access public
5%access public
5--------------------------------------------------------------------------------
7--------------------------------------------------------------------------------
6-- Typeclass for decidable n-ary Relations
8-- Typeclass for decidable n-ary Relations
7--------------------------------------------------------------------------------
9--------------------------------------------------------------------------------
9−using (t : Type)
11+-- Note: Instance resolution for Decidable is likely to not work in the REPL
10− class Rel (p : t) where
13+class Decidable (ts : Vect k Type) (p : Rel ts) where
11− total liftRel : (Type -> Type) -> Type
14+ total decide : liftRel ts p Dec
13− class (Rel p) => Decidable (p : t) where
16+-- 'No such variable {k506}'
14− total decide : liftRel {p} Dec
17+--decision : Decidable ts p => (ts : Vect k Type) -> (p : Rel ts) -> liftRel ts p Dec
18+--decision ts p = decide {ts} {p}
16using (P : Type, p : P)
20using (P : Type, p : P)
17 data Given : Dec P -> Type where
21 data Given : Dec P -> Type where