idris - 带有延迟类型的孔。如何证明?
问题描述
replicate1
我试图通过显示以下所有元素来证明它可以replicate1 n x
正常工作x
:
all1 : (p : a -> Bool) -> List a -> Bool
all1 p [] = True
all1 p (x :: xs) = p x && all1 p xs
replicate1 : (n: Nat) -> a -> List a
replicate1 Z x = [x]
replicate1 (S k) x = x :: replicate1 k x
all_replicate_is_x : Eq a => {x: a} -> all1 (== x) (replicate1 n x) = True
all_replicate_is_x {n = Z} = ?hole
all_replicate_is_x {n = (S k)} = ?all_replicate_is_x_rhs_2
底壳孔是
Test.hole [P]
`-- a : Type
constraint : Eq a
x : a
-----------------------------------------
Test.hole : x == x && Delay True = True
如何证明这一点?
解决方案
推荐阅读
- swift - 从堆栈中移除当前的 View Controller 并移动到新的 View Controller
- c# - 设计一个没有单个项目查找uri的rest api搜索是一种常见的模式吗?
- python - Python promise 类转向解析值
- android - 用毕加索在给定的时间间隔刷新图像
- database - 组合框无法填充关联表单中的两个字段
- django - 使用 Django Rest 框架进行 JWT 令牌认证
- docker - 詹金斯 2.0 泊坞窗图像
- javascript - Javascript Async Await 代码执行顺序
- django - 在 django 中删除迁移
- javascript - Javascript中的数组左旋转将记录到控制台但不返回