在我的Coq研究中经常会出现这样的证明状态:n : nat______________________________________(1/1)Coq抱怨说它不能把n和S n统一起来,S n和S (S n)不能统一。在纸和笔中,很容易在目标中引入象征性的操作,比如t = S n,甚至n = S n,那么
你如何解释归纳谓词?它们是用来干什么的?他们背后的理论是什么?它们只存在于依赖型系统中,还是在其他系统中?它们在某种程度上与GADT有关吗?在Coq中,为什么默认情况下它们是真的?这是Coq的一个例子:| even0 : even 0
| evens : forall p:nat, even p -> even (