author | blanchet |
Thu, 30 Aug 2012 09:47:46 +0200 | |
changeset 49022 | 005ce926a932 |
parent 49020 | f379cf5d71bd |
child 49028 | 487427a02bee |
permissions | -rw-r--r-- |
(* Title: HOL/Codatatype/Tools/bnf_sugar_tactics.ML Author: Jasmin Blanchette, TU Muenchen Copyright 2012 Tactics for sugar on top of a BNF. *) signature BNF_SUGAR_TACTICS = sig val mk_nchotomy_tac: int -> thm -> tactic end; structure BNF_Sugar_Tactics : BNF_SUGAR_TACTICS = struct open BNF_FP_Util fun mk_nchotomy_tac n exhaust = (rtac allI THEN' rtac exhaust THEN' EVERY' (maps (fn k => [rtac (mk_disjIN n k), REPEAT_DETERM o rtac exI, atac]) (1 upto n))) 1; end;