,它看起来像Coq中使用的归纳构造的演算,对于归纳类型有不相交的内射构造函数。
在普通的构造演算(例如,没有原始归纳类型)中,对类型(例如,∏(Nat: *).∏(Succ: Nat → Nat).∏(Zero: Nat).Nat)使用模拟编码,这仍然是正确的吗?我能始终找出使用了哪个“构造函数”吗?此外,内射性(如在∀a b.I a = I b → a = b中)是否可在带有Prop或非谓词集的Coq</e
我正致力于在Coq中正式化,但是对于具有非均匀类型参数的归纳数据类型,我很难通过归纳法来证明。Select_ind :
forall (F : Type -> Type) (P : forall A : Set, Select F A -> Prop),然而,对这类类型的变量调用induction会产生错误类型的术语.考虑一
我尝试在余数证明中使用从1开始的归纳法。从this question那里我得到了我需要的归纳原理的证明: Section induction_at_1.我得到的在结构上看起来与标准归纳非常相似。例如,我想通过归纳法证明 Lemma cancellation:
forall a b c: nat, a > 0 -> a * b = a * c -> b = c.这似乎非常适合我上面的归纳,但是当我像这样开始我<em
在我的Coq研究中经常会出现这样的证明状态:n : nat______________________________________(1/1)Coq抱怨说它不能把n和S n统一起来,S n和S (S n)不能统一。在纸和笔中,很容易在目标中引入象征性的操作,比如t = S n,甚至n = S n,那么归纳假设就会变得适