src/HOL/Tools/Nitpick/nitpick_isar.ML
changeset 53802 44bc6ff8f350
parent 52641 c56b6fa636e8
child 54546 8b403a7a8c44
equal deleted inserted replaced
53801:342e371395c6 53802:44bc6ff8f350
    69    ("tac_timeout", "0.5"),
    69    ("tac_timeout", "0.5"),
    70    ("max_threads", "0"),
    70    ("max_threads", "0"),
    71    ("debug", "false"),
    71    ("debug", "false"),
    72    ("verbose", "false"),
    72    ("verbose", "false"),
    73    ("overlord", "false"),
    73    ("overlord", "false"),
       
    74    ("spy", "false"),
    74    ("show_datatypes", "false"),
    75    ("show_datatypes", "false"),
    75    ("show_skolems", "true"),
    76    ("show_skolems", "true"),
    76    ("show_consts", "false"),
    77    ("show_consts", "false"),
    77    ("format", "1"),
    78    ("format", "1"),
    78    ("max_potential", "1"),
    79    ("max_potential", "1"),
    98    ("partial_consts", "total_consts"),
    99    ("partial_consts", "total_consts"),
    99    ("no_peephole_optim", "peephole_optim"),
   100    ("no_peephole_optim", "peephole_optim"),
   100    ("no_debug", "debug"),
   101    ("no_debug", "debug"),
   101    ("quiet", "verbose"),
   102    ("quiet", "verbose"),
   102    ("no_overlord", "overlord"),
   103    ("no_overlord", "overlord"),
       
   104    ("dont_spy", "spy"),
   103    ("hide_datatypes", "show_datatypes"),
   105    ("hide_datatypes", "show_datatypes"),
   104    ("hide_skolems", "show_skolems"),
   106    ("hide_skolems", "show_skolems"),
   105    ("hide_consts", "show_consts"),
   107    ("hide_consts", "show_consts"),
   106    ("trust_potential", "check_potential"),
   108    ("trust_potential", "check_potential"),
   107    ("trust_genuine", "check_genuine")]
   109    ("trust_genuine", "check_genuine")]
   140               [(name, value)]
   142               [(name, value)]
   141 
   143 
   142 structure Data = Theory_Data
   144 structure Data = Theory_Data
   143 (
   145 (
   144   type T = raw_param list
   146   type T = raw_param list
   145   val empty = map (apsnd single) default_default_params
   147   val empty =
       
   148     default_default_params
       
   149     |> getenv "NITPICK_SPY" = "yes" ? AList.update (op =) ("spy", "true")
       
   150     |> map (apsnd single)
   146   val extend = I
   151   val extend = I
   147   fun merge data = AList.merge (op =) (K true) data
   152   fun merge data = AList.merge (op =) (K true) data
   148 )
   153 )
   149 
   154 
   150 val set_default_raw_param =
   155 val set_default_raw_param =
   251     val blocking = mode <> Normal orelse lookup_bool "blocking"
   256     val blocking = mode <> Normal orelse lookup_bool "blocking"
   252     val falsify = lookup_bool "falsify"
   257     val falsify = lookup_bool "falsify"
   253     val debug = (mode <> Auto_Try andalso lookup_bool "debug")
   258     val debug = (mode <> Auto_Try andalso lookup_bool "debug")
   254     val verbose = debug orelse (mode <> Auto_Try andalso lookup_bool "verbose")
   259     val verbose = debug orelse (mode <> Auto_Try andalso lookup_bool "verbose")
   255     val overlord = lookup_bool "overlord"
   260     val overlord = lookup_bool "overlord"
       
   261     val spy = lookup_bool "spy"
   256     val user_axioms = lookup_bool_option "user_axioms"
   262     val user_axioms = lookup_bool_option "user_axioms"
   257     val assms = lookup_bool "assms"
   263     val assms = lookup_bool "assms"
   258     val whacks = lookup_term_list_option_polymorphic "whack" |> these
   264     val whacks = lookup_term_list_option_polymorphic "whack" |> these
   259     val merge_type_vars = lookup_bool "merge_type_vars"
   265     val merge_type_vars = lookup_bool "merge_type_vars"
   260     val binary_ints = lookup_bool_option "binary_ints"
   266     val binary_ints = lookup_bool_option "binary_ints"
   285       case lookup_int_option "batch_size" of
   291       case lookup_int_option "batch_size" of
   286         SOME n => Int.max (1, n)
   292         SOME n => Int.max (1, n)
   287       | NONE => if debug then 1 else 50
   293       | NONE => if debug then 1 else 50
   288     val expect = lookup_string "expect"
   294     val expect = lookup_string "expect"
   289   in
   295   in
   290     {cards_assigns = cards_assigns, maxes_assigns = maxes_assigns,
   296     {cards_assigns = cards_assigns, maxes_assigns = maxes_assigns, iters_assigns = iters_assigns,
   291      iters_assigns = iters_assigns, bitss = bitss, bisim_depths = bisim_depths,
   297      bitss = bitss, bisim_depths = bisim_depths, boxes = boxes, finitizes = finitizes,
   292      boxes = boxes, finitizes = finitizes, monos = monos, stds = stds,
   298      monos = monos, stds = stds, wfs = wfs, sat_solver = sat_solver, blocking = blocking,
   293      wfs = wfs, sat_solver = sat_solver, blocking = blocking, falsify = falsify,
   299      falsify = falsify, debug = debug, verbose = verbose, overlord = overlord, spy = spy,
   294      debug = debug, verbose = verbose, overlord = overlord,
   300      user_axioms = user_axioms, assms = assms, whacks = whacks, merge_type_vars = merge_type_vars,
   295      user_axioms = user_axioms, assms = assms, whacks = whacks,
   301      binary_ints = binary_ints, destroy_constrs = destroy_constrs, specialize = specialize,
   296      merge_type_vars = merge_type_vars, binary_ints = binary_ints,
   302      star_linear_preds = star_linear_preds, total_consts = total_consts, needs = needs,
   297      destroy_constrs = destroy_constrs, specialize = specialize,
   303      peephole_optim = peephole_optim, datatype_sym_break = datatype_sym_break,
   298      star_linear_preds = star_linear_preds, total_consts = total_consts,
   304      kodkod_sym_break = kodkod_sym_break, timeout = timeout, tac_timeout = tac_timeout,
   299      needs = needs, peephole_optim = peephole_optim,
   305      max_threads = max_threads, show_datatypes = show_datatypes, show_skolems = show_skolems,
   300      datatype_sym_break = datatype_sym_break,
   306      show_consts = show_consts, evals = evals, formats = formats, atomss = atomss,
   301      kodkod_sym_break = kodkod_sym_break, timeout = timeout,
   307      max_potential = max_potential, max_genuine = max_genuine, check_potential = check_potential,
   302      tac_timeout = tac_timeout, max_threads = max_threads,
   308      check_genuine = check_genuine, batch_size = batch_size, expect = expect}
   303      show_datatypes = show_datatypes, show_skolems = show_skolems,
       
   304      show_consts = show_consts, evals = evals, formats = formats,
       
   305      atomss = atomss, max_potential = max_potential, max_genuine = max_genuine,
       
   306      check_potential = check_potential, check_genuine = check_genuine,
       
   307      batch_size = batch_size, expect = expect}
       
   308   end
   309   end
   309 
   310 
   310 fun default_params thy =
   311 fun default_params thy =
   311   extract_params (Proof_Context.init_global thy) Normal (default_raw_params thy)
   312   extract_params (Proof_Context.init_global thy) Normal (default_raw_params thy)
   312   o map (apsnd single)
   313   o map (apsnd single)