equal
deleted
inserted
replaced
625 | suffix_for_mode Minimize = "_min" |
625 | suffix_for_mode Minimize = "_min" |
626 |
626 |
627 (* Give the ATPs some slack before interrupting them the hard way. "z3_tptp" on |
627 (* Give the ATPs some slack before interrupting them the hard way. "z3_tptp" on |
628 Linux appears to be the only ATP that does not honor its time limit. *) |
628 Linux appears to be the only ATP that does not honor its time limit. *) |
629 val atp_timeout_slack = seconds 1.0 |
629 val atp_timeout_slack = seconds 1.0 |
|
630 |
|
631 val mono_max_privileged_facts = 10 |
630 |
632 |
631 fun run_atp mode name |
633 fun run_atp mode name |
632 ({exec, required_vars, arguments, proof_delims, known_failures, |
634 ({exec, required_vars, arguments, proof_delims, known_failures, |
633 prem_role, best_slices, best_max_mono_iters, |
635 prem_role, best_slices, best_max_mono_iters, |
634 best_max_new_mono_instances, ...} : atp_config) |
636 best_max_new_mono_instances, ...} : atp_config) |
699 (* pseudo-theorem involving the same constants as the subgoal *) |
701 (* pseudo-theorem involving the same constants as the subgoal *) |
700 val subgoal_th = |
702 val subgoal_th = |
701 Logic.list_implies (hyp_ts, concl_t) |
703 Logic.list_implies (hyp_ts, concl_t) |
702 |> Skip_Proof.make_thm thy |
704 |> Skip_Proof.make_thm thy |
703 val rths = |
705 val rths = |
704 facts |> chop (length facts div 4) |
706 facts |> chop mono_max_privileged_facts |
705 |>> map (pair 1 o snd) |
707 |>> map (pair 1 o snd) |
706 ||> map (pair 2 o snd) |
708 ||> map (pair 2 o snd) |
707 |> op @ |
709 |> op @ |
708 |> cons (0, subgoal_th) |
710 |> cons (0, subgoal_th) |
709 in |
711 in |