equal
deleted
inserted
replaced
|
1 (* Title: HOL/Codatatype/Tools/bnf_sugar_tactics.ML |
|
2 Author: Jasmin Blanchette, TU Muenchen |
|
3 Copyright 2012 |
|
4 |
|
5 Tactics for sugar on top of a BNF. |
|
6 *) |
|
7 |
|
8 signature BNF_SUGAR_TACTICS = |
|
9 sig |
|
10 val mk_nchotomy_tac: int -> thm -> tactic |
|
11 end; |
|
12 |
|
13 structure BNF_Sugar_Tactics : BNF_SUGAR_TACTICS = |
|
14 struct |
|
15 |
|
16 open BNF_FP_Util |
|
17 |
|
18 fun mk_nchotomy_tac n exhaust = |
|
19 (rtac allI THEN' rtac exhaust THEN' |
|
20 EVERY' (maps (fn i => [rtac (mk_disjIN n i), REPEAT_DETERM o rtac exI, atac]) (1 upto n))) 1; |
|
21 |
|
22 end; |