src/HOL/Tools/Sledgehammer/sledgehammer_isar.ML
changeset 46409 d4754183ccce
parent 46398 caf27e675dd1
child 46435 e9c90516bc0d
equal deleted inserted replaced
46408:2520cd337056 46409:d4754183ccce
    87    ("overlord", "false"),
    87    ("overlord", "false"),
    88    ("blocking", "false"),
    88    ("blocking", "false"),
    89    ("type_enc", "smart"),
    89    ("type_enc", "smart"),
    90    ("strict", "false"),
    90    ("strict", "false"),
    91    ("lam_trans", "smart"),
    91    ("lam_trans", "smart"),
       
    92    ("uncurried_aliases", "smart"),
    92    ("relevance_thresholds", "0.45 0.85"),
    93    ("relevance_thresholds", "0.45 0.85"),
    93    ("max_relevant", "smart"),
    94    ("max_relevant", "smart"),
    94    ("max_mono_iters", "3"),
    95    ("max_mono_iters", "3"),
    95    ("max_new_mono_instances", "200"),
    96    ("max_new_mono_instances", "200"),
    96    ("isar_proof", "false"),
    97    ("isar_proof", "false"),
   105   [("no_debug", "debug"),
   106   [("no_debug", "debug"),
   106    ("quiet", "verbose"),
   107    ("quiet", "verbose"),
   107    ("no_overlord", "overlord"),
   108    ("no_overlord", "overlord"),
   108    ("non_blocking", "blocking"),
   109    ("non_blocking", "blocking"),
   109    ("non_strict", "strict"),
   110    ("non_strict", "strict"),
       
   111    ("no_uncurried_aliases", "uncurried_aliases"),
   110    ("no_isar_proof", "isar_proof"),
   112    ("no_isar_proof", "isar_proof"),
   111    ("dont_slice", "slice"),
   113    ("dont_slice", "slice"),
   112    ("dont_minimize", "minimize")]
   114    ("dont_minimize", "minimize")]
   113 
   115 
   114 val params_for_minimize =
   116 val params_for_minimize =
   115   ["debug", "verbose", "overlord", "type_enc", "strict", "lam_trans",
   117   ["debug", "verbose", "overlord", "type_enc", "strict", "lam_trans",
   116    "max_mono_iters", "max_new_mono_instances", "isar_proof",
   118    "uncurried_aliases", "max_mono_iters", "max_new_mono_instances",
   117    "isar_shrink_factor", "timeout", "preplay_timeout"]
   119    "isar_proof", "isar_shrink_factor", "timeout", "preplay_timeout"]
   118 
   120 
   119 val property_dependent_params = ["provers", "timeout"]
   121 val property_dependent_params = ["provers", "timeout"]
   120 
   122 
   121 fun is_known_raw_param s =
   123 fun is_known_raw_param s =
   122   AList.defined (op =) default_default_params s orelse
   124   AList.defined (op =) default_default_params s orelse
   284       else case lookup_string "type_enc" of
   286       else case lookup_string "type_enc" of
   285         "smart" => NONE
   287         "smart" => NONE
   286       | s => (type_enc_from_string Strict s; SOME s)
   288       | s => (type_enc_from_string Strict s; SOME s)
   287     val strict = mode = Auto_Try orelse lookup_bool "strict"
   289     val strict = mode = Auto_Try orelse lookup_bool "strict"
   288     val lam_trans = lookup_option lookup_string "lam_trans"
   290     val lam_trans = lookup_option lookup_string "lam_trans"
       
   291     val uncurried_aliases = lookup_option lookup_bool "uncurried_aliases"
   289     val relevance_thresholds = lookup_real_pair "relevance_thresholds"
   292     val relevance_thresholds = lookup_real_pair "relevance_thresholds"
   290     val max_relevant = lookup_option lookup_int "max_relevant"
   293     val max_relevant = lookup_option lookup_int "max_relevant"
   291     val max_mono_iters = lookup_int "max_mono_iters"
   294     val max_mono_iters = lookup_int "max_mono_iters"
   292     val max_new_mono_instances = lookup_int "max_new_mono_instances"
   295     val max_new_mono_instances = lookup_int "max_new_mono_instances"
   293     val isar_proof = lookup_bool "isar_proof"
   296     val isar_proof = lookup_bool "isar_proof"
   302       else lookup_time "preplay_timeout" |> the_timeout
   305       else lookup_time "preplay_timeout" |> the_timeout
   303     val expect = lookup_string "expect"
   306     val expect = lookup_string "expect"
   304   in
   307   in
   305     {debug = debug, verbose = verbose, overlord = overlord, blocking = blocking,
   308     {debug = debug, verbose = verbose, overlord = overlord, blocking = blocking,
   306      provers = provers, type_enc = type_enc, strict = strict,
   309      provers = provers, type_enc = type_enc, strict = strict,
   307      lam_trans = lam_trans, relevance_thresholds = relevance_thresholds,
   310      lam_trans = lam_trans, uncurried_aliases = uncurried_aliases,
   308      max_relevant = max_relevant, max_mono_iters = max_mono_iters,
   311      relevance_thresholds = relevance_thresholds, max_relevant = max_relevant,
       
   312      max_mono_iters = max_mono_iters,
   309      max_new_mono_instances = max_new_mono_instances,  isar_proof = isar_proof,
   313      max_new_mono_instances = max_new_mono_instances,  isar_proof = isar_proof,
   310      isar_shrink_factor = isar_shrink_factor, slice = slice,
   314      isar_shrink_factor = isar_shrink_factor, slice = slice,
   311      minimize = minimize, timeout = timeout, preplay_timeout = preplay_timeout,
   315      minimize = minimize, timeout = timeout, preplay_timeout = preplay_timeout,
   312      expect = expect}
   316      expect = expect}
   313   end
   317   end