Lists 上的证明是通过归纳法进行的
lemma append_assoc [simp]: "(xs @ ys) @ zs = xs @ (ys @ zs)"
by (induct xs) auto
但是,关于 Nats 的证明是
lemma nat_add_assoc: "(m + n) + k = m + ((n + k)::nat)"
by (rule add_assoc)
为什么我不需要对nat_add_assoc
证明进行归纳?是因为自然数上发生了一些自动化吗?