我正在尝试编写以下函数:
justEq : ∀ {A} -> (x y : A) -> (just x ≡ just y) -> (x ≡ y)
justEq x y pf = {!!}
我不知道怎么写这个。对我来说,这是不言自明的直觉,但编译器不接受 refl 作为它的证明。
我经常不得不证明这些事情,例如,证明如果两个非空列表相等,那么它们的头是相等的。
对此的一般方法是什么?这是否与 Conor McBride 的在构造函数的返回中具有函数的“green-goo”有关?
我正在尝试编写以下函数:
justEq : ∀ {A} -> (x y : A) -> (just x ≡ just y) -> (x ≡ y)
justEq x y pf = {!!}
我不知道怎么写这个。对我来说,这是不言自明的直觉,但编译器不接受 refl 作为它的证明。
我经常不得不证明这些事情,例如,证明如果两个非空列表相等,那么它们的头是相等的。
对此的一般方法是什么?这是否与 Conor McBride 的在构造函数的返回中具有函数的“green-goo”有关?