带有延迟类型的孔。如何证明?

时间:2018-09-06 22:01:21

标签: 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

如何证明这一点?

0 个答案:

没有答案
相关问题