Constructive Lemmas |
T!h t. HD (CONS h t) = h!h t. TL (CONS h t) = t!x. x = x!t. (!x. t) <=> t!t. F ==> t <=> T!t. T ==> t <=> t!t. t ==> F <=> ~t!t. t ==> T <=> T!t. t ==> t!f h1 h2 t1 t2.
LENGTH t1 = LENGTH t2
==> zipwith f (CONS h1 t1) (CONS h2 t2) =
CONS (f h1 h2) (zipwith f t1 t2)!f x y. zipwith f [x] [y] = [f x y]!f. zipwith f [] [] = []!l1 l2. zip l1 l2 = zipwith (,) l1 l2F <=> (!p. p)T <=> (\p. p) = (\p. p)(~) = (\p. p ==> F)(/\) = (\p q. (\f. f p q) = (\f. f T T))(==>) = (\p q. p /\ q <=> p)(!) = (\p. p = (\x. T))LENGTH [] = 0 |