src/Doc/Tutorial/Misc/Plus.thy
author paulson <lp15@cam.ac.uk>
Tue, 30 May 2023 14:24:09 +0100
changeset 78128 3d2db8057b9f
parent 67613 ce654b0e6d69
permissions -rw-r--r--
Hiding the constructor names, particularly to avoid conflicts involving "ext"

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

text\<open>\noindent Define the following addition function\<close>

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

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

end
(*>*)