doc-src/TutorialI/Misc/natsum.thy
author wenzelm
Tue, 01 Aug 2000 13:43:22 +0200
changeset 9490 c2606af9922c
parent 9458 c613cd06d5cf
child 9541 d17c0b34d5c8
permissions -rw-r--r--
tuned msg;
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
8745
13b32661dde4 I wonder which files i forgot.
nipkow
parents:
diff changeset
     1
(*<*)
13b32661dde4 I wonder which files i forgot.
nipkow
parents:
diff changeset
     2
theory natsum = Main:;
13b32661dde4 I wonder which files i forgot.
nipkow
parents:
diff changeset
     3
(*>*)
13b32661dde4 I wonder which files i forgot.
nipkow
parents:
diff changeset
     4
text{*\noindent
13b32661dde4 I wonder which files i forgot.
nipkow
parents:
diff changeset
     5
In particular, there are \isa{case}-expressions, for example
13b32661dde4 I wonder which files i forgot.
nipkow
parents:
diff changeset
     6
*}
13b32661dde4 I wonder which files i forgot.
nipkow
parents:
diff changeset
     7
13b32661dde4 I wonder which files i forgot.
nipkow
parents:
diff changeset
     8
(*<*)term(*>*) "case n of 0 \\<Rightarrow> 0 | Suc m \\<Rightarrow> m";
13b32661dde4 I wonder which files i forgot.
nipkow
parents:
diff changeset
     9
13b32661dde4 I wonder which files i forgot.
nipkow
parents:
diff changeset
    10
text{*\noindent
13b32661dde4 I wonder which files i forgot.
nipkow
parents:
diff changeset
    11
primitive recursion, for example
13b32661dde4 I wonder which files i forgot.
nipkow
parents:
diff changeset
    12
*}
13b32661dde4 I wonder which files i forgot.
nipkow
parents:
diff changeset
    13
13b32661dde4 I wonder which files i forgot.
nipkow
parents:
diff changeset
    14
consts sum :: "nat \\<Rightarrow> nat";
13b32661dde4 I wonder which files i forgot.
nipkow
parents:
diff changeset
    15
primrec "sum 0 = 0"
13b32661dde4 I wonder which files i forgot.
nipkow
parents:
diff changeset
    16
        "sum (Suc n) = Suc n + sum n";
13b32661dde4 I wonder which files i forgot.
nipkow
parents:
diff changeset
    17
13b32661dde4 I wonder which files i forgot.
nipkow
parents:
diff changeset
    18
text{*\noindent
13b32661dde4 I wonder which files i forgot.
nipkow
parents:
diff changeset
    19
and induction, for example
13b32661dde4 I wonder which files i forgot.
nipkow
parents:
diff changeset
    20
*}
13b32661dde4 I wonder which files i forgot.
nipkow
parents:
diff changeset
    21
13b32661dde4 I wonder which files i forgot.
nipkow
parents:
diff changeset
    22
lemma "sum n + sum n = n*(Suc n)";
13b32661dde4 I wonder which files i forgot.
nipkow
parents:
diff changeset
    23
apply(induct_tac n);
9458
c613cd06d5cf apply. -> by
nipkow
parents: 8745
diff changeset
    24
by(auto);
8745
13b32661dde4 I wonder which files i forgot.
nipkow
parents:
diff changeset
    25
13b32661dde4 I wonder which files i forgot.
nipkow
parents:
diff changeset
    26
(*<*)
13b32661dde4 I wonder which files i forgot.
nipkow
parents:
diff changeset
    27
end
13b32661dde4 I wonder which files i forgot.
nipkow
parents:
diff changeset
    28
(*>*)