-
7 votesanswersviews
如果伊德里斯认为事情可能完全没有,那么伊德里斯可以用于证明吗?
http://docs.idris-lang.org/en/v0.99/tutorial/theorems.html#totality-checking-issues指出: 其次,到目前为止,目前的实施工作投入有限,因此可能仍然存在这样的情况:它认为功能是总的而不是 . 不要依赖它来证明你的证明! 这是否意味着不能依赖Idris作为证据,或者有没有办法创建不需要整体检查的证明? -
4 votesanswersviews
解释为什么x ==〜(~x 1)1(两个补码并返回!)
众所周知,内存中的负数通常表示为两个补码数 from x to ~x + 1 并且要回去,我们不会做明显的事情 ~([~x + 1] - 1) 但相反,我们做到了 ~[~x + 1] + 1 有谁可以解释为什么它总是有效?我想我可以用1位,2位,3位数证明它,然后使用数学归纳法,但它无法帮助我理解它是如何工作的 . 谢谢! -
1 votesanswersviews
证明函数的总体最多需要n个递归调用
假设我们正在编写lambda演算的实现,作为其中的一部分,我们希望能够选择一个新的非冲突名称: record Ctx where constructor MkCtx bindings : List String emptyCtx : Ctx emptyCtx = MkCtx [] addCtx : String -> Ctx -> Ctx addCtx name = rec...