【发布时间】:2015-03-05 19:21:27
【问题描述】:
我有以下:
elem :: Eq a => a -> [a] -> Bool
elem _ [] = False
elem x (y:ys) = x == y || elem x ys
我如何证明对于所有 x 的 y 和 z...
elem z (xs ++ ys) == elem z xs || elem z ys
我试图让左侧等同于右侧,但是我的尝试都没有结果。
L.S elem z (x:xs ++ y:ys) = z==x || z==y || elem xs || elem ys
R.S elem z (x:xs) || elem z (y:ys) = z==x || z==y || elem xs || elem ys
谁能帮帮我?
【问题讨论】:
-
这是作业吗?编辑您的问题并添加您迄今为止提出的任何证明草图。
-
@Jubobs 这是一个没有解决方案的教科书问题,我会在一分钟内发布我的尝试
-
好的。提示:通过列表
xs的归纳来证明它。出于好奇,这是出自哪本教科书? -
好的,我发布了我的尝试
-
既然你已经接受了我的回答,我猜你自己想出了归纳案例。对吗?