author | nipkow |
Wed, 09 Nov 1994 19:51:09 +0100 | |
changeset 168 | 44ff2275d44f |
parent 156 | fd1be45b64bf |
child 171 | 16c4ea954511 |
permissions | -rw-r--r-- |
168 | 1 |
(* Title: Option.ML |
2 |
ID: $Id$ |
|
3 |
Author: Tobias Nipkow |
|
4 |
Copyright 1994 TU Muenchen |
|
5 |
||
6 |
Derived rules |
|
7 |
*) |
|
8 |
||
156 | 9 |
val option_rws = Let_def :: Option.option.simps; |
10 |
val SS = arith_ss addsimps option_rws; |
|
11 |
||
12 |
val [prem] = goal Option.thy "P(opt) ==> P(None) | (? x. P(Some(x)))"; |
|
13 |
br (prem RS rev_mp) 1; |
|
14 |
by (Option.option.induct_tac "opt" 1); |
|
15 |
by (ALLGOALS(fast_tac HOL_cs)); |
|
16 |
val optE = standard(result() RS disjE); |