使用精益,计算机证明检查系统。瘦:eq.subst扼流器上h:(n = 0)
这些证明的第一个成功,第二个不成功。
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
等的证明在精益的定理的部分,但这些其他命令并没有帮助我。
可以使用works'的'扩展版本,以获得'nowrk'工作: '''定理nowrk(H3:N = 0)(H4:0
此外,[这可能是有趣的](https://stackoverflow.com/questions/45142007/proving-substitution-property-继承人过分平等) –