@@ -1,17 +1,38 @@
11module Decidable.Decidable
22
3+import Data.VectFun -- FIXME let's see if this is needed
4+import Data.Rel
5+
36%access public
47
58--------------------------------------------------------------------------------
69-- Typeclass for decidable n-ary Relations
710--------------------------------------------------------------------------------
811
12+--DecProc : (ts : Vect k Type) -> (p : Rel ts) -> Type
13+--DecProc [] p = Dec p
14+--DecProc (t::ts) p = (x : t) -> DecProc ts (p x)
15+--DecProc : (ts : Vect k Type) -> (p : VectFun ts Type) -> Type
16+--DecProc [] p = Dec p
17+--DecProc (t::ts) p = (x : t) -> DecProc ts (p x)
18+
19+--class Decidable (ts : Vect k Type) (p : VectFun ts Type) where
20+-- total decide : DecProc ts p
21+--class Decidable (ts : Vect k Type) (p : Rel ts) where
22+-- total decide : DecProc ts p
23+--class Decidable (ts : Vect k Type) (p : VectFun ts Type) where
24+-- total decide : liftRel ts p Dec
25+class Decidable (ts : Vect k Type) (p : Rel ts) where
26+ total decide : liftRel ts p Dec
27+
28+{-
929using (t : Type)
1030 class Rel (p : t) where
1131 total liftRel : (Type -> Type) -> Type
1232
1333 class (Rel p) => Decidable (p : t) where
1434 total decide : liftRel {p} Dec
35+-}
1536
1637using (P : Type, p : P)
1738 data Given : Dec P -> Type where