author | paulson |
Fri, 19 Sep 1997 16:12:21 +0200 | |
changeset 3685 | 5b8c0c8f576e |
parent 3344 | b3e39a2987c1 |
child 4032 | 4b1c69d8b767 |
permissions | -rw-r--r-- |
2019 | 1 |
(* Title: Option.ML |
2 |
ID: $Id$ |
|
3 |
Author: Tobias Nipkow |
|
4 |
Copyright 1996 TU Muenchen |
|
5 |
||
6 |
Derived rules |
|
7 |
*) |
|
8 |
||
9 |
open Option; |
|
10 |
||
3344
b3e39a2987c1
Deleted option_case_tac because exhaust_tac performs a similar function.
paulson
parents:
3295
diff
changeset
|
11 |
goal Option.thy "P(case opt of None => a | Some(x) => b x) = \ |
b3e39a2987c1
Deleted option_case_tac because exhaust_tac performs a similar function.
paulson
parents:
3295
diff
changeset
|
12 |
\ ((opt = None --> P a) & (!x. opt = Some x --> P(b x)))"; |
2019 | 13 |
by (option.induct_tac "opt" 1); |
14 |
by (Simp_tac 1); |
|
15 |
by (Asm_full_simp_tac 1); |
|
3344
b3e39a2987c1
Deleted option_case_tac because exhaust_tac performs a similar function.
paulson
parents:
3295
diff
changeset
|
16 |
qed "expand_option_case"; |