author | nipkow |
Fri, 05 Jul 2002 17:48:05 +0200 | |
changeset 13305 | f88d0c363582 |
child 16417 | 9bc16273c2d4 |
permissions | -rw-r--r-- |
nipkow@13305 | 1 |
(*<*) |
nipkow@13305 | 2 |
theory Plus = Main: |
nipkow@13305 | 3 |
(*>*) |
nipkow@13305 | 4 |
|
nipkow@13305 | 5 |
text{*\noindent Define the following addition function *} |
nipkow@13305 | 6 |
|
nipkow@13305 | 7 |
consts plus :: "nat \<Rightarrow> nat \<Rightarrow> nat" |
nipkow@13305 | 8 |
primrec |
nipkow@13305 | 9 |
"plus m 0 = m" |
nipkow@13305 | 10 |
"plus m (Suc n) = plus (Suc m) n" |
nipkow@13305 | 11 |
|
nipkow@13305 | 12 |
text{*\noindent and prove*} |
nipkow@13305 | 13 |
(*<*) |
nipkow@13305 | 14 |
lemma [simp]: "!m. plus m n = m+n" |
nipkow@13305 | 15 |
apply(induct_tac n) |
nipkow@13305 | 16 |
by(auto) |
nipkow@13305 | 17 |
(*>*) |
nipkow@13305 | 18 |
lemma "plus m n = m+n" |
nipkow@13305 | 19 |
(*<*) |
nipkow@13305 | 20 |
by(simp) |
nipkow@13305 | 21 |
|
nipkow@13305 | 22 |
end |
nipkow@13305 | 23 |
(*>*) |