Coq - 证明Ssreflect中的空范围

时间:2017-05-24 12:56:21

标签: coq ssreflect

我必须以下列形式证明目标:

Component.onCompleted: hotfolder.sigNewOrder.connect(bla)

我目前的情况是我的堆栈中有forall x: ordinal_finType m, P x ,所以这基本上是空集Hm: m = 0。在这种情况下我该怎么办? 使用

forall

离开我

case => x.

但当然我不能使用forall i : (x < m)%N, P i ,因为它因依赖类型错误而失败。

1 个答案:

答案 0 :(得分:1)

那么你需要用零假设重写,实际上由于math-comp中<运算符的计算性质,空虚的证明是微不足道的。

Lemma ordinal0P P : 'I_0 -> P.
Proof. by case. Qed.

或者如果你想:

Lemma avoid_rewrite_error: forall P m, m = 0 -> forall (i : 'I_m), P.
Proof. by move=> ? ? -> []. Qed.