src/HOL/Tools/Nitpick/nitpick_isar.ML
changeset 34121 c4628a1dcf75
parent 34118 5e831d805118
child 34923 c4f04bee79f3
     1.1 --- a/src/HOL/Tools/Nitpick/nitpick_isar.ML	Mon Dec 14 16:48:49 2009 +0100
     1.2 +++ b/src/HOL/Tools/Nitpick/nitpick_isar.ML	Thu Dec 17 15:22:11 2009 +0100
     1.3 @@ -37,6 +37,7 @@
     1.4  val default_default_params =
     1.5    [("card", ["1\<midarrow>8"]),
     1.6     ("iter", ["0,1,2,4,8,12,16,24"]),
     1.7 +   ("bits", ["1,2,3,4,6,8,10,12"]),
     1.8     ("bisim_depth", ["7"]),
     1.9     ("box", ["smart"]),
    1.10     ("mono", ["smart"]),
    1.11 @@ -48,6 +49,7 @@
    1.12     ("user_axioms", ["smart"]),
    1.13     ("assms", ["true"]),
    1.14     ("merge_type_vars", ["false"]),
    1.15 +   ("binary_ints", ["smart"]),
    1.16     ("destroy_constrs", ["true"]),
    1.17     ("specialize", ["true"]),
    1.18     ("skolemize", ["true"]),
    1.19 @@ -83,6 +85,7 @@
    1.20     ("no_user_axioms", "user_axioms"),
    1.21     ("no_assms", "assms"),
    1.22     ("dont_merge_type_vars", "merge_type_vars"),
    1.23 +   ("unary_ints", "binary_ints"),
    1.24     ("dont_destroy_constrs", "destroy_constrs"),
    1.25     ("dont_specialize", "specialize"),
    1.26     ("dont_skolemize", "skolemize"),
    1.27 @@ -283,6 +286,7 @@
    1.28      val cards_assigns = lookup_ints_assigns read_type_polymorphic "card" 1
    1.29      val maxes_assigns = lookup_ints_assigns read_const_polymorphic "max" ~1
    1.30      val iters_assigns = lookup_ints_assigns read_const_polymorphic "iter" 0
    1.31 +    val bitss = lookup_int_seq "bits" 1
    1.32      val bisim_depths = lookup_int_seq "bisim_depth" ~1
    1.33      val boxes =
    1.34        lookup_bool_option_assigns read_type_polymorphic "box" @
    1.35 @@ -303,6 +307,7 @@
    1.36      val user_axioms = lookup_bool_option "user_axioms"
    1.37      val assms = lookup_bool "assms"
    1.38      val merge_type_vars = lookup_bool "merge_type_vars"
    1.39 +    val binary_ints = lookup_bool_option "binary_ints"
    1.40      val destroy_constrs = lookup_bool "destroy_constrs"
    1.41      val specialize = lookup_bool "specialize"
    1.42      val skolemize = lookup_bool "skolemize"
    1.43 @@ -333,15 +338,16 @@
    1.44      val expect = lookup_string "expect"
    1.45    in
    1.46      {cards_assigns = cards_assigns, maxes_assigns = maxes_assigns,
    1.47 -     iters_assigns = iters_assigns, bisim_depths = bisim_depths, boxes = boxes,
    1.48 -     monos = monos, wfs = wfs, sat_solver = sat_solver, blocking = blocking,
    1.49 -     falsify = falsify, debug = debug, verbose = verbose, overlord = overlord,
    1.50 -     user_axioms = user_axioms, assms = assms,
    1.51 -     merge_type_vars = merge_type_vars, destroy_constrs = destroy_constrs,
    1.52 -     specialize = specialize, skolemize = skolemize,
    1.53 -     star_linear_preds = star_linear_preds, uncurry = uncurry,
    1.54 -     fast_descrs = fast_descrs, peephole_optim = peephole_optim,
    1.55 -     timeout = timeout, tac_timeout = tac_timeout, sym_break = sym_break,
    1.56 +     iters_assigns = iters_assigns, bitss = bitss, bisim_depths = bisim_depths,
    1.57 +     boxes = boxes, monos = monos, wfs = wfs, sat_solver = sat_solver,
    1.58 +     blocking = blocking, falsify = falsify, debug = debug, verbose = verbose,
    1.59 +     overlord = overlord, user_axioms = user_axioms, assms = assms,
    1.60 +     merge_type_vars = merge_type_vars, binary_ints = binary_ints,
    1.61 +     destroy_constrs = destroy_constrs, specialize = specialize,
    1.62 +     skolemize = skolemize, star_linear_preds = star_linear_preds,
    1.63 +     uncurry = uncurry, fast_descrs = fast_descrs,
    1.64 +     peephole_optim = peephole_optim, timeout = timeout,
    1.65 +     tac_timeout = tac_timeout, sym_break = sym_break,
    1.66       sharing_depth = sharing_depth, flatten_props = flatten_props,
    1.67       max_threads = max_threads, show_skolems = show_skolems,
    1.68       show_datatypes = show_datatypes, show_consts = show_consts,
    1.69 @@ -379,8 +385,6 @@
    1.70           error ("Bad argument(s) to " ^ quote loc ^ ": " ^ details ^ ".")
    1.71         | BAD (loc, details) =>
    1.72           error ("Internal error (" ^ quote loc ^ "): " ^ details ^ ".")
    1.73 -       | LIMIT (_, details) =>
    1.74 -         (warning ("Limit reached: " ^ details ^ "."); x)
    1.75         | NOT_SUPPORTED details =>
    1.76           (warning ("Unsupported case: " ^ details ^ "."); x)
    1.77         | NUT (loc, us) =>
    1.78 @@ -394,6 +398,10 @@
    1.79           error ("Invalid term" ^ plural_s_for_list ts ^
    1.80                  " (" ^ quote loc ^ "): " ^
    1.81                  commas (map (Syntax.string_of_term ctxt) ts) ^ ".")
    1.82 +       | TOO_LARGE (_, details) =>
    1.83 +         (warning ("Limit reached: " ^ details ^ "."); x)
    1.84 +       | TOO_SMALL (_, details) =>
    1.85 +         (warning ("Limit reached: " ^ details ^ "."); x)
    1.86         | TYPE (loc, Ts, ts) =>
    1.87           error ("Invalid type" ^ plural_s_for_list Ts ^
    1.88                  (if null ts then