如何证明相同的子目标

How to prove the same subgoals

我有两个这样的子目标:

prove_me (x::xs) = true


prove_me (x::xs) = true

证明将是平等的。如何使用第一个目标解决第二个目标?

你不能从字面上重用一个目标的证明到另一个目标,但你可以证明一个辅助引理:

assert (H : prove_me (x::xs) = true).
{ (* proof of result *) }

然后,您可以使用H来释放这两个子目标。