512 val atp_important_message_keep_quotient = 10 |
512 val atp_important_message_keep_quotient = 10 |
513 |
513 |
514 val fallback_best_type_systems = |
514 val fallback_best_type_systems = |
515 [Preds (Mangled_Monomorphic, Nonmonotonic_Types, Light)] |
515 [Preds (Mangled_Monomorphic, Nonmonotonic_Types, Light)] |
516 |
516 |
517 fun adjust_dumb_type_sys formats (Simple_Types level) = |
|
518 if member (op =) formats THF then |
|
519 (THF, Simple_Types level) |
|
520 else if member (op =) formats TFF then |
|
521 (TFF, Simple_Types level) |
|
522 else |
|
523 adjust_dumb_type_sys formats (Preds (Mangled_Monomorphic, level, Heavy)) |
|
524 | adjust_dumb_type_sys formats type_sys = |
|
525 (case hd formats of |
|
526 CNF_UEQ => |
|
527 (CNF_UEQ, case type_sys of |
|
528 Preds stuff => |
|
529 (if is_type_sys_fairly_sound type_sys then Preds else Tags) |
|
530 stuff |
|
531 | _ => type_sys) |
|
532 | format => (format, type_sys)) |
|
533 |
|
534 fun choose_format_and_type_sys _ formats (Dumb_Type_Sys type_sys) = |
517 fun choose_format_and_type_sys _ formats (Dumb_Type_Sys type_sys) = |
535 adjust_dumb_type_sys formats type_sys |
518 choose_format formats type_sys |
536 | choose_format_and_type_sys best_type_systems formats |
519 | choose_format_and_type_sys best_type_systems formats |
537 (Smart_Type_Sys full_types) = |
520 (Smart_Type_Sys full_types) = |
538 map type_sys_from_string best_type_systems @ fallback_best_type_systems |
521 map type_sys_from_string best_type_systems @ fallback_best_type_systems |
539 |> find_first (if full_types then is_type_sys_virtually_sound else K true) |
522 |> find_first (if full_types then is_type_sys_virtually_sound else K true) |
540 |> the |> adjust_dumb_type_sys formats |
523 |> the |> choose_format formats |
541 |
524 |
542 val metis_minimize_max_time = seconds 2.0 |
525 val metis_minimize_max_time = seconds 2.0 |
543 |
526 |
544 fun choose_minimize_command minimize_command name preplay = |
527 fun choose_minimize_command minimize_command name preplay = |
545 (case preplay of |
528 (case preplay of |