equal
deleted
inserted
replaced
9 open Option; |
9 open Option; |
10 |
10 |
11 val [prem] = goal Option.thy "P(opt) ==> P(None) | (? x. P(Some(x)))"; |
11 val [prem] = goal Option.thy "P(opt) ==> P(None) | (? x. P(Some(x)))"; |
12 br (prem RS rev_mp) 1; |
12 br (prem RS rev_mp) 1; |
13 by (option.induct_tac "opt" 1); |
13 by (option.induct_tac "opt" 1); |
14 by (ALLGOALS(Fast_tac)); |
14 by (ALLGOALS Blast_tac); |
15 bind_thm("optionE", standard(result() RS disjE)); |
15 bind_thm("optionE", standard(result() RS disjE)); |
16 (* |
16 (* |
17 goal Option.thy "opt=None | (? x.opt=Some(x))"; |
17 goal Option.thy "opt=None | (? x.opt=Some(x))"; |
18 by (option.induct_tac "opt" 1); |
18 by (option.induct_tac "opt" 1); |
19 by (Simp_tac 1); |
19 by (Simp_tac 1); |