这是我的问题的一个最小示例
Lemma arith: forall T (G: seq T), (size G + 1 + 1).+1 = (size G + 3).
我希望能够将其减少到
forall T (G: seq T), (size G + 2).+1 = (size G + 3).
用最简单的方法。立即尝试 simpl 或 auto 无济于事。
如果我先用关联性重写,也就是说,
intros. rewrite - addnA. simpl. auto.
,
simpl 和 auto 仍然什么都不做。我的目标是
(size G + (1 + 1)).+1 = size G + 3
我猜 .+1 以某种方式在 (1+1) 上进行简单和自动工作的“方式”。看来我必须先删除 .+1 才能简化 1+1。
然而,在我的实际证明中,除了 .+1 之外,还有很多东西“挡道”,我真的很想先简化我大量的 +1。作为一个黑客,我在个别事件上使用“替换”,但这感觉非常笨拙(并且有很多不同的算术表达式要替换)。有没有更好的方法来做到这一点?
我正在使用 ssrnat 库。
谢谢。