251 "-xAuto" |
251 "-xAuto" |
252 else |
252 else |
253 (* supplied by Stephan Schulz *) |
253 (* supplied by Stephan Schulz *) |
254 "--split-clauses=4 --split-reuse-defs --simul-paramod --forward-context-sr \ |
254 "--split-clauses=4 --split-reuse-defs --simul-paramod --forward-context-sr \ |
255 \--destructive-er-aggressive --destructive-er --presat-simplify \ |
255 \--destructive-er-aggressive --destructive-er --presat-simplify \ |
256 \--prefer-initial-clauses -tKBO6 -winvfreqrank -c1 -Ginvfreqconjmax -F1 \ |
256 \--prefer-initial-clauses -winvfreqrank -c1 -Ginvfreqconjmax -F1 \ |
257 \--delete-bad-limit=150000000 -WSelectMaxLComplexAvoidPosPred \ |
257 \--delete-bad-limit=150000000 -WSelectMaxLComplexAvoidPosPred -H'(4*" ^ |
258 \-H'(4*" ^ |
|
259 e_selection_heuristic_case heuristic "FunWeight" "SymOffsetWeight" ^ |
258 e_selection_heuristic_case heuristic "FunWeight" "SymOffsetWeight" ^ |
260 "(SimulateSOS, " ^ |
259 "(SimulateSOS, " ^ |
261 (e_selection_heuristic_case heuristic |
260 (e_selection_heuristic_case heuristic |
262 e_default_fun_weight e_default_sym_offs_weight |
261 e_default_fun_weight e_default_sym_offs_weight |
263 |> Config.get ctxt |> Real.ceil |> signed_string_of_int) ^ |
262 |> Config.get ctxt |> Real.ceil |> signed_string_of_int) ^ |
285 end |
284 end |
286 |
285 |
287 fun effective_e_selection_heuristic ctxt = |
286 fun effective_e_selection_heuristic ctxt = |
288 if is_new_e_version () then Config.get ctxt e_selection_heuristic else e_autoN |
287 if is_new_e_version () then Config.get ctxt e_selection_heuristic else e_autoN |
289 |
288 |
|
289 fun e_kbo () = if is_new_e_version () then "KBO6" else "KBO" |
|
290 |
290 val e_config : atp_config = |
291 val e_config : atp_config = |
291 {exec = (["E_HOME"], "eproof"), |
292 {exec = (["E_HOME"], "eproof"), |
292 required_vars = [], |
293 required_vars = [], |
293 arguments = |
294 arguments = |
294 fn ctxt => fn _ => fn heuristic => fn timeout => |
295 fn ctxt => fn _ => fn heuristic => fn timeout => |
295 fn ({is_lpo, gen_weights, gen_prec, ...}, ord_info, sel_weights) => |
296 fn ({is_lpo, gen_weights, gen_prec, ...}, ord_info, sel_weights) => |
296 "--tstp-in --tstp-out --output-level=5 --silent " ^ |
297 "--tstp-in --tstp-out --output-level=5 --silent " ^ |
297 e_selection_weight_arguments ctxt heuristic sel_weights ^ " " ^ |
298 e_selection_weight_arguments ctxt heuristic sel_weights ^ " " ^ |
298 e_term_order_info_arguments gen_weights gen_prec ord_info ^ " " ^ |
299 e_term_order_info_arguments gen_weights gen_prec ord_info ^ " " ^ |
299 "--term-ordering=" ^ (if is_lpo then "LPO4" else "KBO6") ^ " " ^ |
300 "--term-ordering=" ^ (if is_lpo then "LPO4" else e_kbo ()) ^ " " ^ |
300 "--cpu-limit=" ^ string_of_int (to_secs 2 timeout), |
301 "--cpu-limit=" ^ string_of_int (to_secs 2 timeout), |
301 proof_delims = tstp_proof_delims, |
302 proof_delims = tstp_proof_delims, |
302 known_failures = |
303 known_failures = |
303 known_szs_status_failures @ |
304 known_szs_status_failures @ |
304 [(TimedOut, "Failure: Resource limit exceeded (time)"), |
305 [(TimedOut, "Failure: Resource limit exceeded (time)"), |