私は Agda で単純な補題を証明しようとしていますが、これは正しいと思います。
ベクトルに 2 つ以上の要素がある場合、
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))
コンポーネントの読み方がよくわかりません。私の質問は次のとおりだと思います。それは可能ですか、その用語はどのように、そして何を意味しますか。
どうもありがとう。