src/HOL/Tools/ATP/atp_systems.ML
changeset 47505 e33d957ae2bf
parent 47499 4b0daca2bf88
child 47506 da72e05849ef
equal deleted inserted replaced
47503:cb44d09d9d22 47505:e33d957ae2bf
   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)"),