<div dir="ltr">Attached find a program that gives two proofs that if n is even, then there exists an m such that n equals 2*m.  Or rather, a proof and a non-proof. The equation I need to prove is<div><br></div><div><div>  suc (suc (m + (m + 0))) ≡ suc (m + suc (m + 0))      (*)</div><div><div><br></div><div>If I use<div><br></div><div>  sym (+-suc m (m + 0)) : suc (m + (m + 0)) ≡ m + suc (m + 0)</div><div><br></div><div>to rewrite then it works perfectly, rewriting the lhs of (*). But if I remove the sym then it fails to work, even though it should rewrite the rhs of (*). What am I doing wrong?</div><div><br></div><div>Cheers, -- P</div><div><div><br></div><div><br clear="all"><div><div class="gmail_signature"><div dir="ltr"><div><div dir="ltr">.   \ Philip Wadler, Professor of Theoretical Computer Science,<br>.   /\ School of Informatics, University of Edinburgh<br></div><div>.  /  \ and Senior Research Fellow, IOHK<br></div><div dir="ltr">. <span><a href="http://homepages.inf.ed.ac.uk/wadler/" target="_blank">http://homepages.inf.ed.ac.uk/wadler/</a></span></div></div></div></div></div>
</div></div></div></div></div></div>