author | wenzelm |
Wed, 02 Aug 2000 19:40:14 +0200 | |
changeset 9502 | 50ec59aff389 |
parent 8846 | c7d945398677 |
child 9541 | d17c0b34d5c8 |
permissions | -rw-r--r-- |
8846 | 1 |
theory ToyList = PreList:; |
8751 | 2 |
|
3 |
datatype 'a list = Nil ("[]") |
|
4 |
| Cons 'a "'a list" (infixr "#" 65); |
|
5 |
||
6 |
consts app :: "'a list => 'a list => 'a list" (infixr "@" 65) |
|
7 |
rev :: "'a list => 'a list"; |
|
8 |
||
9 |
primrec |
|
10 |
"[] @ ys = ys" |
|
11 |
"(x # xs) @ ys = x # (xs @ ys)"; |
|
12 |
||
13 |
primrec |
|
14 |
"rev [] = []" |
|
15 |
"rev (x # xs) = (rev xs) @ (x # [])"; |