【发布时间】:2015-01-20 14:05:38
【问题描述】:
我正在尝试使用结构归纳来证明 'ns'。所有列表 'ns' 的类型均为 [Int],所有 'm' 的类型均为 Int。
foldl (+) m ns = m + (sum ns)
定义:
sum :: [Int] -> Int -- summation of an Int list
sum [] = 0 -- s.1
sum (x:xs) = x + (sum xs) -- s.2
foldl :: (a -> b -> a) -> a -> [b] -> a -- fold left
foldl _ s [] = s -- fl.1
foldl f s (x:xs) = foldl f (f s x) xs -- fl.2
如果有人能帮助我解决这个问题,我们将不胜感激。
【问题讨论】:
-
你自己有什么想法吗?你尝试过什么吗?当然,您已经获得了一些关于这种证明的一般情况的示例。
-
您的代码似乎不一致地使用了
my_前缀。我猜你应该编辑你的问题以删除它们。