doc-src/TutorialI/Misc/natsum.thy
author wenzelm
Mon, 23 Oct 2000 11:14:00 +0200
changeset 10289 475ea668c67d
parent 10171 59d6633835fa
child 10538 d1bf9ca9008d
permissions -rw-r--r--
tuned deps;
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
9792
bbefb6ce5cb2 *** empty log message ***
nipkow
parents: 9541
diff changeset
     5
In particular, there are @{text"case"}-expressions, for example
9541
d17c0b34d5c8 *** empty log message ***
nipkow
parents: 9458
diff changeset
     6
@{term[display]"case n of 0 => 0 | Suc m => m"}
8745
13b32661dde4 I wonder which files i forgot.
nipkow
parents:
diff changeset
     7
primitive recursion, for example
13b32661dde4 I wonder which files i forgot.
nipkow
parents:
diff changeset
     8
*}
13b32661dde4 I wonder which files i forgot.
nipkow
parents:
diff changeset
     9
13b32661dde4 I wonder which files i forgot.
nipkow
parents:
diff changeset
    10
consts sum :: "nat \\<Rightarrow> nat";
13b32661dde4 I wonder which files i forgot.
nipkow
parents:
diff changeset
    11
primrec "sum 0 = 0"
13b32661dde4 I wonder which files i forgot.
nipkow
parents:
diff changeset
    12
        "sum (Suc n) = Suc n + sum n";
13b32661dde4 I wonder which files i forgot.
nipkow
parents:
diff changeset
    13
13b32661dde4 I wonder which files i forgot.
nipkow
parents:
diff changeset
    14
text{*\noindent
13b32661dde4 I wonder which files i forgot.
nipkow
parents:
diff changeset
    15
and induction, for example
13b32661dde4 I wonder which files i forgot.
nipkow
parents:
diff changeset
    16
*}
13b32661dde4 I wonder which files i forgot.
nipkow
parents:
diff changeset
    17
13b32661dde4 I wonder which files i forgot.
nipkow
parents:
diff changeset
    18
lemma "sum n + sum n = n*(Suc n)";
13b32661dde4 I wonder which files i forgot.
nipkow
parents:
diff changeset
    19
apply(induct_tac n);
10171
59d6633835fa *** empty log message ***
nipkow
parents: 9834
diff changeset
    20
apply(auto);
59d6633835fa *** empty log message ***
nipkow
parents: 9834
diff changeset
    21
done
8745
13b32661dde4 I wonder which files i forgot.
nipkow
parents:
diff changeset
    22
13b32661dde4 I wonder which files i forgot.
nipkow
parents:
diff changeset
    23
(*<*)
13b32661dde4 I wonder which files i forgot.
nipkow
parents:
diff changeset
    24
end
13b32661dde4 I wonder which files i forgot.
nipkow
parents:
diff changeset
    25
(*>*)