src/Doc/Tutorial/Misc/Plus.thy
author wenzelm
Tue, 16 May 2017 15:37:07 +0200
changeset 65843 d547173212d2
parent 48985 5386df44a037
child 67406 23307fd33906
permissions -rw-r--r--
proper init_settings for init_component (before generated ML_OPTIONS etc.); fresh start for "Poly/ML 5.7 Linux", suppressing old builds with ML_OPTIONS="-H 500";

(*<*)
theory Plus imports Main begin
(*>*)

text{*\noindent Define the following addition function *}

primrec add :: "nat \<Rightarrow> nat \<Rightarrow> nat" where
"add m 0 = m" |
"add m (Suc n) = add (Suc m) n"

text{*\noindent and prove*}
(*<*)
lemma [simp]: "!m. add m n = m+n"
apply(induct_tac n)
by(auto)
(*>*)
lemma "add m n = m+n"
(*<*)
by(simp)

end
(*>*)