使用agda标准库(v13)验证列表L ++ []≡L
如何填充下一个孔?
$ cat foo.aga
open import Data.List using
(List ; [] ; _∷_ ; _++_ ; [_])
open import Relation.Binary.PropositionalEquality
using (_≡_; refl; cong; trans; sym)
p : ∀ {A : Set} {L : List A} → L ++ [] ≡ L
p = {!!}
婴儿的步骤:
p0 : (x : Prop) → ([ x ]) ++ [] ≡ [ x ]
p0 = λ x → refl
p1 : (x y : Prop) → (x ∷ y ∷ []) ++ [] ≡ x ∷ y ∷ []
p1 = λ x y → refl
中洞,为什么不工作REFL?它是由第一个论证的结构递归引起的吗?
我认为做一些递归我可以证明p看着p0和p1,但在这一刻,我没有看到它。
这已经足够了,谢谢,重写是新鲜事。 – jonaprieto