当我证明一些定理时,我的目标随着我应用越来越多的策略而变化。一般来说,目标倾向于分成多个子目标,子目标更简单。在最后一点,Coq决定目标是被证明的。这个“经过验证”的目标是什么样子的?*)换句话说,当我最终应用reflexivity时,Coq只是说** Got it **而没有任何解释。有没有办法获得更多关于它实际做了什么的细节,或者为
我对Coq类型系统在下面h的定义中证明术语的匹配部分的行为感到困惑:
Set Implicit Arguments.在应用了下面的各种术语之后,我们得到了h的预期类型。然而,HC0 :B= x => HC0是b= x -> b=x的恒等函数,我不认为有任何胁迫会强迫b=x -> b=x被识别为b=y -> b=x。我最好<
我可以定义以下归纳类型:| c1 : forall (A : Type), A -> T A
| c2 : T unit.但是,命令Check (c1 (T nat))在消息中失败:术语T nat的类型是Type@{max(Set, Top.3+1)},而它的类型是Type@{Top.3} (宇宙不一致)。我如何调整上述<em