93 ("max_facts", "smart"), |
93 ("max_facts", "smart"), |
94 ("fact_thresholds", "0.45 0.85"), |
94 ("fact_thresholds", "0.45 0.85"), |
95 ("max_mono_iters", "smart"), |
95 ("max_mono_iters", "smart"), |
96 ("max_new_mono_instances", "smart"), |
96 ("max_new_mono_instances", "smart"), |
97 ("isar_proofs", "false"), |
97 ("isar_proofs", "false"), |
98 ("isar_shrink", "10"), |
98 ("isar_compress", "10"), |
99 ("slice", "true"), |
99 ("slice", "true"), |
100 ("minimize", "smart"), |
100 ("minimize", "smart"), |
101 ("preplay_timeout", "3")] |
101 ("preplay_timeout", "3")] |
102 |
102 |
103 val alias_params = |
103 val alias_params = |
117 ("dont_minimize", "minimize")] |
117 ("dont_minimize", "minimize")] |
118 |
118 |
119 val params_for_minimize = |
119 val params_for_minimize = |
120 ["debug", "verbose", "overlord", "type_enc", "strict", "lam_trans", |
120 ["debug", "verbose", "overlord", "type_enc", "strict", "lam_trans", |
121 "uncurried_aliases", "max_mono_iters", "max_new_mono_instances", |
121 "uncurried_aliases", "max_mono_iters", "max_new_mono_instances", |
122 "learn", "isar_proofs", "isar_shrink", "timeout", "preplay_timeout"] |
122 "learn", "isar_proofs", "isar_compress", "timeout", "preplay_timeout"] |
123 |
123 |
124 val property_dependent_params = ["provers", "timeout"] |
124 val property_dependent_params = ["provers", "timeout"] |
125 |
125 |
126 fun is_known_raw_param s = |
126 fun is_known_raw_param s = |
127 AList.defined (op =) default_default_params s orelse |
127 AList.defined (op =) default_default_params s orelse |
312 val fact_thresholds = lookup_real_pair "fact_thresholds" |
312 val fact_thresholds = lookup_real_pair "fact_thresholds" |
313 val max_mono_iters = lookup_option lookup_int "max_mono_iters" |
313 val max_mono_iters = lookup_option lookup_int "max_mono_iters" |
314 val max_new_mono_instances = |
314 val max_new_mono_instances = |
315 lookup_option lookup_int "max_new_mono_instances" |
315 lookup_option lookup_int "max_new_mono_instances" |
316 val isar_proofs = lookup_bool "isar_proofs" |
316 val isar_proofs = lookup_bool "isar_proofs" |
317 val isar_shrink = Real.max (1.0, lookup_real "isar_shrink") |
317 val isar_compress = Real.max (1.0, lookup_real "isar_compress") |
318 val slice = mode <> Auto_Try andalso lookup_bool "slice" |
318 val slice = mode <> Auto_Try andalso lookup_bool "slice" |
319 val minimize = |
319 val minimize = |
320 if mode = Auto_Try then NONE else lookup_option lookup_bool "minimize" |
320 if mode = Auto_Try then NONE else lookup_option lookup_bool "minimize" |
321 val timeout = if mode = Auto_Try then NONE else lookup_time "timeout" |
321 val timeout = if mode = Auto_Try then NONE else lookup_time "timeout" |
322 val preplay_timeout = |
322 val preplay_timeout = |
328 provers = provers, type_enc = type_enc, strict = strict, |
328 provers = provers, type_enc = type_enc, strict = strict, |
329 lam_trans = lam_trans, uncurried_aliases = uncurried_aliases, |
329 lam_trans = lam_trans, uncurried_aliases = uncurried_aliases, |
330 learn = learn, fact_filter = fact_filter, max_facts = max_facts, |
330 learn = learn, fact_filter = fact_filter, max_facts = max_facts, |
331 fact_thresholds = fact_thresholds, max_mono_iters = max_mono_iters, |
331 fact_thresholds = fact_thresholds, max_mono_iters = max_mono_iters, |
332 max_new_mono_instances = max_new_mono_instances, isar_proofs = isar_proofs, |
332 max_new_mono_instances = max_new_mono_instances, isar_proofs = isar_proofs, |
333 isar_shrink = isar_shrink, slice = slice, minimize = minimize, |
333 isar_compress = isar_compress, slice = slice, minimize = minimize, |
334 timeout = timeout, preplay_timeout = preplay_timeout, expect = expect} |
334 timeout = timeout, preplay_timeout = preplay_timeout, expect = expect} |
335 end |
335 end |
336 |
336 |
337 fun get_params mode = extract_params mode o default_raw_params |
337 fun get_params mode = extract_params mode o default_raw_params |
338 fun default_params thy = get_params Normal thy o map (apsnd single) |
338 fun default_params thy = get_params Normal thy o map (apsnd single) |