comparison record.ur @ 12:a6730c3cfea7

Record.equal
author Adam Chlipala <adam@chlipala.net>
date Tue, 08 Feb 2011 16:52:41 -0500
parents 67b33be5d56a
children 6cd839818393
comparison
equal deleted inserted replaced
11:67b33be5d56a 12:a6730c3cfea7
4 fun mem [a ::: Type] [ns ::: {Unit}] (_ : eq a) (fl : folder ns) (x : a) (r : $(mapU a ns)) : bool = 4 fun mem [a ::: Type] [ns ::: {Unit}] (_ : eq a) (fl : folder ns) (x : a) (r : $(mapU a ns)) : bool =
5 @foldUR [a] [fn _ => bool] 5 @foldUR [a] [fn _ => bool]
6 (fn [nm ::_] [r ::_] [[nm] ~ r] y acc => 6 (fn [nm ::_] [r ::_] [[nm] ~ r] y acc =>
7 acc || x = y) 7 acc || x = y)
8 False fl r 8 False fl r
9
10 fun equal [ts ::: {Type}] (eqs : $(map eq ts)) (fl : folder ts) (r1 : $ts) (r2 : $ts) : bool =
11 @foldR3 [eq] [id] [id] [fn _ => bool]
12 (fn [nm ::_] [t ::_] [r ::_] [[nm] ~ r] isEq x y acc =>
13 acc && @eq isEq x y)
14 True fl eqs r1 r2