我试图在 Agda 中证明一个简单的引理,我认为这是正确的。
如果一个向量有两个以上的元素,则取其
head
后取与立即init
取其相同head
。
我将其制定如下:
lem-headInit : ∀{l} (xs : Vec ℕ (suc (suc l)))
-> head (init xs) ≡ head xs
lem-headInit (x ∷ xs) = ?
这给了我;
.l : ℕ
x : ℕ
xs : Vec ℕ (suc .l)
------------------------------
Goal: head (init (x ∷ xs) | (initLast (x ∷ xs) | initLast xs)) ≡ x
作为回应。
我不完全了解如何阅读该(init (x ∷ xs) | (initLast (x ∷ xs) | initLast xs))
组件。我想我的问题是;是否可能,该术语的含义和含义。
非常感谢。