84 ("blocking", "false"), |
84 ("blocking", "false"), |
85 ("type_enc", "smart"), |
85 ("type_enc", "smart"), |
86 ("strict", "false"), |
86 ("strict", "false"), |
87 ("lam_trans", "smart"), |
87 ("lam_trans", "smart"), |
88 ("uncurried_aliases", "smart"), |
88 ("uncurried_aliases", "smart"), |
|
89 ("learn", "true"), |
89 ("fact_filter", "smart"), |
90 ("fact_filter", "smart"), |
90 ("max_facts", "smart"), |
91 ("max_facts", "smart"), |
91 ("fact_thresholds", "0.45 0.85"), |
92 ("fact_thresholds", "0.45 0.85"), |
92 ("max_mono_iters", "smart"), |
93 ("max_mono_iters", "smart"), |
93 ("max_new_mono_instances", "smart"), |
94 ("max_new_mono_instances", "smart"), |
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"), |
110 ("no_uncurried_aliases", "uncurried_aliases"), |
111 ("no_uncurried_aliases", "uncurried_aliases"), |
|
112 ("dont_learn", "learn"), |
111 ("no_isar_proof", "isar_proof"), |
113 ("no_isar_proof", "isar_proof"), |
112 ("dont_slice", "slice"), |
114 ("dont_slice", "slice"), |
113 ("dont_minimize", "minimize")] |
115 ("dont_minimize", "minimize")] |
114 |
116 |
115 val params_for_minimize = |
117 val params_for_minimize = |
294 "smart" => NONE |
296 "smart" => NONE |
295 | s => (type_enc_from_string Strict s; SOME s) |
297 | s => (type_enc_from_string Strict s; SOME s) |
296 val strict = mode = Auto_Try orelse lookup_bool "strict" |
298 val strict = mode = Auto_Try orelse lookup_bool "strict" |
297 val lam_trans = lookup_option lookup_string "lam_trans" |
299 val lam_trans = lookup_option lookup_string "lam_trans" |
298 val uncurried_aliases = lookup_option lookup_bool "uncurried_aliases" |
300 val uncurried_aliases = lookup_option lookup_bool "uncurried_aliases" |
|
301 val learn = lookup_bool "learn" |
299 val fact_filter = lookup_option lookup_string "fact_filter" |
302 val fact_filter = lookup_option lookup_string "fact_filter" |
300 val max_facts = lookup_option lookup_int "max_facts" |
303 val max_facts = lookup_option lookup_int "max_facts" |
301 val fact_thresholds = lookup_real_pair "fact_thresholds" |
304 val fact_thresholds = lookup_real_pair "fact_thresholds" |
302 val max_mono_iters = lookup_option lookup_int "max_mono_iters" |
305 val max_mono_iters = lookup_option lookup_int "max_mono_iters" |
303 val max_new_mono_instances = |
306 val max_new_mono_instances = |
315 val expect = lookup_string "expect" |
318 val expect = lookup_string "expect" |
316 in |
319 in |
317 {debug = debug, verbose = verbose, overlord = overlord, blocking = blocking, |
320 {debug = debug, verbose = verbose, overlord = overlord, blocking = blocking, |
318 provers = provers, type_enc = type_enc, strict = strict, |
321 provers = provers, type_enc = type_enc, strict = strict, |
319 lam_trans = lam_trans, uncurried_aliases = uncurried_aliases, |
322 lam_trans = lam_trans, uncurried_aliases = uncurried_aliases, |
320 fact_filter = fact_filter, max_facts = max_facts, |
323 learn = learn, fact_filter = fact_filter, max_facts = max_facts, |
321 fact_thresholds = fact_thresholds, max_mono_iters = max_mono_iters, |
324 fact_thresholds = fact_thresholds, max_mono_iters = max_mono_iters, |
322 max_new_mono_instances = max_new_mono_instances, isar_proof = isar_proof, |
325 max_new_mono_instances = max_new_mono_instances, isar_proof = isar_proof, |
323 isar_shrink_factor = isar_shrink_factor, slice = slice, |
326 isar_shrink_factor = isar_shrink_factor, slice = slice, |
324 minimize = minimize, timeout = timeout, preplay_timeout = preplay_timeout, |
327 minimize = minimize, timeout = timeout, preplay_timeout = preplay_timeout, |
325 expect = expect} |
328 expect = expect} |
369 end |
372 end |
370 else if subcommand = minN then |
373 else if subcommand = minN then |
371 run_minimize (get_params Minimize ctxt |
374 run_minimize (get_params Minimize ctxt |
372 (("provers", [default_minimize_prover]) :: |
375 (("provers", [default_minimize_prover]) :: |
373 override_params)) |
376 override_params)) |
374 (the_default 1 opt_i) (#add fact_override) state |
377 (K ()) (the_default 1 opt_i) (#add fact_override) state |
375 else if subcommand = messagesN then |
378 else if subcommand = messagesN then |
376 messages opt_i |
379 messages opt_i |
377 else if subcommand = supported_proversN then |
380 else if subcommand = supported_proversN then |
378 supported_provers ctxt |
381 supported_provers ctxt |
379 else if subcommand = kill_proversN then |
382 else if subcommand = kill_proversN then |