doc-src/TutorialI/Misc/Plus.thy
author wenzelm
Fri, 15 Jul 2005 15:44:11 +0200
changeset 16860 43abdba4da5c
parent 16417 9bc16273c2d4
child 19249 86c73395c99b
permissions -rw-r--r--
* Pure/library.ML: several combinators for linear functional transformations; * Pure/library.ML: canonical list combinators fold, fold_rev, and fold_yield; * Pure/term.ML: combinators fold_atyps, fold_aterms, fold_term_types, fold_types;

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

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

consts plus :: "nat \<Rightarrow> nat \<Rightarrow> nat"
primrec
"plus m 0 = m"
"plus m (Suc n) = plus (Suc m) n"

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

end
(*>*)