@@ -1,6 +1,5 @@
1module Decidable.Decidable
1module Decidable.Decidable
3−import Data.VectFun -- FIXME let's see if this is needed
4import Data.Rel
3import Data.Rel
6%access public
5%access public
@@ -9,30 +8,12 @@ import Data.Rel
9-- Typeclass for decidable n-ary Relations
8-- Typeclass for decidable n-ary Relations
10--------------------------------------------------------------------------------
9--------------------------------------------------------------------------------
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)
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
25class Decidable (ts : Vect k Type) (p : Rel ts) where
11class Decidable (ts : Vect k Type) (p : Rel ts) where
26 total decide : liftRel ts p Dec
12 total decide : liftRel ts p Dec
28−{-
14+-- 'No such variable {k506}'
29−using (t : Type)
15+--decision : Decidable ts p => (ts : Vect k Type) -> (p : Rel ts) -> liftRel ts p Dec
30− class Rel (p : t) where
16+--decision ts p = decide {ts} {p}
31− total liftRel : (Type -> Type) -> Type
33− class (Rel p) => Decidable (p : t) where
34− total decide : liftRel {p} Dec
37using (P : Type, p : P)
18using (P : Type, p : P)
38 data Given : Dec P -> Type where
19 data Given : Dec P -> Type where