@@ -190,39 +190,44 @@ instance DecEq a => DecEq (Vect n a) where
190190--------------------------------------------------------------------------------
191191
192192instance DecEq Int where
193− decEq x y = if x == y then Yes (really_believe_me {a = x=x} {b = x=y} refl)
194− else No (really_believe_me _|_)
193+ decEq x y = if x == y then Yes primitiveEq else No primitiveNotEq
194+ where postulate primitiveEq : x = y
195+ postulate primitiveNotEq : x = y -> _|_
195196
196197--------------------------------------------------------------------------------
197198-- Char
198199--------------------------------------------------------------------------------
199200
200201instance DecEq Char where
201− decEq x y = if x == y then Yes (really_believe_me {a = x=x} {b = x=y} refl)
202− else No (really_believe_me _|_)
202+ decEq x y = if x == y then Yes primitiveEq else No primitiveNotEq
203+ where postulate primitiveEq : x = y
204+ postulate primitiveNotEq : x = y -> _|_
203205
204206--------------------------------------------------------------------------------
205207-- Integer
206208--------------------------------------------------------------------------------
207209
208210instance DecEq Integer where
209− decEq x y = if x == y then Yes (really_believe_me {a = x=x} {b = x=y} refl)
210− else No (really_believe_me _|_)
211+ decEq x y = if x == y then Yes primitiveEq else No primitiveNotEq
212+ where postulate primitiveEq : x = y
213+ postulate primitiveNotEq : x = y -> _|_
211214
212215--------------------------------------------------------------------------------
213216-- Float
214217--------------------------------------------------------------------------------
215218
216219instance DecEq Float where
217− decEq x y = if x == y then Yes (really_believe_me {a = x=x} {b = x=y} refl)
218− else No (really_believe_me _|_)
220+ decEq x y = if x == y then Yes primitiveEq else No primitiveNotEq
221+ where postulate primitiveEq : x = y
222+ postulate primitiveNotEq : x = y -> _|_
219223
220224--------------------------------------------------------------------------------
221225-- String
222226--------------------------------------------------------------------------------
223227
224228instance DecEq String where
225− decEq x y = if x == y then Yes (really_believe_me {a = x=x} {b = x=y} refl)
226− else No (really_believe_me _|_)
229+ decEq x y = if x == y then Yes primitiveEq else No primitiveNotEq
230+ where postulate primitiveEq : x = y
231+ postulate primitiveNotEq : x = y -> _|_
227232
228233