changeset 252 | a4dc62a46ee4 |
parent 251 | f04b33ce250f |
child 253 | 132634d24019 |
251:f04b33ce250f | 252:a4dc62a46ee4 |
---|---|
1 (* Title: Option.ML |
|
2 ID: $Id$ |
|
3 Author: Tobias Nipkow |
|
4 Copyright 1994 TU Muenchen |
|
5 |
|
6 Derived rules |
|
7 *) |
|
8 |
|
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 = store_thm("optE", standard(result() RS disjE)); |