author | oheimb |
Wed, 12 Nov 1997 18:58:50 +0100 | |
changeset 4223 | f60e3d2c81d3 |
parent 4192 | c38ab5af38b5 |
child 4752 | 1c334bd00038 |
permissions | -rw-r--r-- |
2019 | 1 |
(* Title: Option.thy |
2 |
ID: $Id$ |
|
3 |
Author: Tobias Nipkow |
|
4 |
Copyright 1994 TU Muenchen |
|
5 |
||
6 |
Datatype 'a option |
|
7 |
*) |
|
8 |
||
9 |
Option = Arith + |
|
4133 | 10 |
|
2019 | 11 |
datatype 'a option = None | Some 'a |
4133 | 12 |
|
13 |
constdefs |
|
14 |
||
15 |
the :: "'a option => 'a" |
|
4192 | 16 |
"the == %y. case y of None => arbitrary | Some x => x" |
4133 | 17 |
|
18 |
option_map :: "('a => 'b) => ('a option => 'b option)" |
|
4192 | 19 |
"option_map == %f y. case y of None => None | Some x => Some (f x)" |
4133 | 20 |
|
2019 | 21 |
end |