在以下示例中
open import Agda.Builtin.Nat
open import Agda.Builtin.Equality
postulate
f : Nat → Nat
g : ∀{x y} → f x ≡ suc y → Nat
h : Nat → Nat
h x with f x
h x | zero = zero
h x | suc y = g {x} {y} {!refl!}
Agda不接受refl
作为参数。
主要问题是
当然,对Agda行为的任何见解都会受到赞赏。
答案 0 :(得分:1)
≡-Reasoning and 'with' patterns和Agda: type isn't simplified in with
block应该回答您的问题。 The official docs描述了如何做自己想做的事,但它们似乎不太适合初学者。