+-comm : (x y : @$\mathbb{N}$@) @$\rightarrow$@ x + y @$\equiv$@ y + x +-comm zero y rewrite (+zero {y}) = refl +-comm (suc x) y = let open @$\equiv$@-Reasoning in begin suc (x + y) @$\equiv$@@$\langle$@@$\rangle$@ suc (x + y) @$\equiv$@@$\langle$@ cong suc (+-comm x y) @$\rangle$@ suc (y + x) @$\equiv$@@$\langle$@ sym (+-suc {y} {x}) @$\rangle$@ y + suc x @$\blacksquare$@ -- +-suc : {x y : @$\mathbb{N}$@} @$\rightarrow$@ x + suc y @$\equiv$@ suc (x + y) -- +-suc {zero} {y} = refl -- +-suc {suc x} {y} = cong suc (+-suc {x} {y})