使用精益,计算机校样检查系统。
这些证明中的第一个成功,第二个没有。
variables n m : nat
theorem works (h1 : n = m) (h2 : 0 < n) : (0 < m) :=
eq.subst h1 h2
theorem nowrk (h3 : n = 0) (h4 : 0 < n) : (0 < 0) :=
eq.subst h3 h4
错误发生在eq.subst
和 中,如下所示:
"eliminator" elaborator type mismatch, term
h4
has type
0 < n
but is expected to have type
n < n
[然后是一些附加信息]
我不明白错误信息。我在假设中尝试了各种明显的排列,例如 0 = n 或 n > 0,但我无法让它工作,或者产生我可以理解的错误消息。
谁能澄清一下?我阅读了关于精益的定理证明部分,congr_arg
但这些其他命令对我没有帮助。