259 \1.5,1.5,1),1*Clauseweight(PreferProcessed,1,1,1),1*\ |
259 \1.5,1.5,1),1*Clauseweight(PreferProcessed,1,1,1),1*\ |
260 \FIFOWeight(PreferProcessed))' " |
260 \FIFOWeight(PreferProcessed))' " |
261 else |
261 else |
262 "-xAuto " |
262 "-xAuto " |
263 |
263 |
264 val e_ord_weights = |
264 val e_ord_weights = map (fn (s, w) => s ^ ":" ^ string_of_int w) #> space_implode "," |
265 map (fn (s, w) => s ^ ":" ^ string_of_int w) #> space_implode "," |
|
266 fun e_ord_precedence [_] = "" |
265 fun e_ord_precedence [_] = "" |
267 | e_ord_precedence info = info |> map fst |> space_implode "<" |
266 | e_ord_precedence info = info |> map fst |> space_implode "<" |
268 |
267 |
269 fun e_term_order_info_arguments false false _ = "" |
268 fun e_term_order_info_arguments false false _ = "" |
270 | e_term_order_info_arguments gen_weights gen_prec ord_info = |
269 | e_term_order_info_arguments gen_weights gen_prec ord_info = |
291 [(TimedOut, "Failure: Resource limit exceeded (time)"), |
290 [(TimedOut, "Failure: Resource limit exceeded (time)"), |
292 (TimedOut, "time limit exceeded")] @ |
291 (TimedOut, "time limit exceeded")] @ |
293 known_szs_status_failures, |
292 known_szs_status_failures, |
294 prem_role = Conjecture, |
293 prem_role = Conjecture, |
295 best_slices = fn ctxt => |
294 best_slices = fn ctxt => |
296 let val heuristic = Config.get ctxt e_selection_heuristic in |
295 let |
|
296 val heuristic = Config.get ctxt e_selection_heuristic |
|
297 val ehoh = string_ord (getenv "E_VERSION", "2.3") <> LESS |
|
298 val (format, enc) = |
|
299 if ehoh then (THF (Monomorphic, THF_Predicate_Free), "mono_native_higher") |
|
300 else (TFF Monomorphic, "mono_native") |
|
301 in |
297 (* FUDGE *) |
302 (* FUDGE *) |
298 if heuristic = e_smartN then |
303 if heuristic = e_smartN then |
299 [(0.15, (((128, meshN), TFF Monomorphic, "mono_native", combsN, false), e_fun_weightN)), |
304 [(0.15, (((128, meshN), format, enc, combsN, false), e_fun_weightN)), |
300 (0.15, (((128, mashN), TFF Monomorphic, "mono_native", combsN, false), e_sym_offset_weightN)), |
305 (0.15, (((128, mashN), format, enc, combsN, false), e_sym_offset_weightN)), |
301 (0.15, (((91, mepoN), TFF Monomorphic, "mono_native", combsN, false), e_autoN)), |
306 (0.15, (((91, mepoN), format, enc, combsN, false), e_autoN)), |
302 (0.15, (((1000, meshN), TFF Monomorphic, "poly_guards??", combsN, false), e_sym_offset_weightN)), |
307 (0.15, (((1000, meshN), format, "poly_guards??", combsN, false), e_sym_offset_weightN)), |
303 (0.15, (((256, mepoN), TFF Monomorphic, "mono_native", liftingN, false), e_fun_weightN)), |
308 (0.15, (((256, mepoN), format, enc, liftingN, false), e_fun_weightN)), |
304 (0.25, (((64, mashN), TFF Monomorphic, "mono_native", combsN, false), e_fun_weightN))] |
309 (0.25, (((64, mashN), format, enc, combsN, false), e_fun_weightN))] |
305 else |
310 else |
306 [(1.0, (((500, ""), TFF Monomorphic, "mono_native", combsN, false), heuristic))] |
311 [(1.0, (((500, ""), format, enc, combsN, false), heuristic))] |
307 end, |
312 end, |
308 best_max_mono_iters = default_max_mono_iters, |
313 best_max_mono_iters = default_max_mono_iters, |
309 best_max_new_mono_instances = default_max_new_mono_instances} |
314 best_max_new_mono_instances = default_max_new_mono_instances} |
310 |
315 |
311 val e = (eN, fn () => e_config) |
316 val e = (eN, fn () => e_config) |
328 (0.25, (((1000, meshN), FOF, "poly_guards??", combsN, false), ""))], |
333 (0.25, (((1000, meshN), FOF, "poly_guards??", combsN, false), ""))], |
329 best_max_mono_iters = default_max_mono_iters, |
334 best_max_mono_iters = default_max_mono_iters, |
330 best_max_new_mono_instances = default_max_new_mono_instances} |
335 best_max_new_mono_instances = default_max_new_mono_instances} |
331 |
336 |
332 val e_par = (e_parN, fn () => e_par_config) |
337 val e_par = (e_parN, fn () => e_par_config) |
333 |
|
334 |
|
335 (* Ehoh *) |
|
336 |
|
337 val ehoh_config : atp_config = |
|
338 {exec = fn _ => (["E_HOME"], ["eprover"]), |
|
339 arguments = fn _ => fn _ => fn _ => fn timeout => fn file_name => fn _ => |
|
340 "--auto-schedule --tstp-in --tstp-out --silent --cpu-limit=" ^ |
|
341 string_of_int (to_secs 2 timeout) ^ " --proof-object=1 " ^ file_name, |
|
342 proof_delims = |
|
343 [("# SZS output start CNFRefutation", "# SZS output end CNFRefutation")] @ |
|
344 tstp_proof_delims, |
|
345 known_failures = |
|
346 [(TimedOut, "Failure: Resource limit exceeded (time)"), |
|
347 (TimedOut, "time limit exceeded")] @ |
|
348 known_szs_status_failures, |
|
349 prem_role = Hypothesis, |
|
350 best_slices = |
|
351 (* FUDGE *) |
|
352 K [(1.0, (((500, ""), THF (Monomorphic, THF_Predicate_Free), "mono_native_higher", liftingN, false), ""))], |
|
353 best_max_mono_iters = default_max_mono_iters, |
|
354 best_max_new_mono_instances = default_max_new_mono_instances} |
|
355 |
|
356 val ehoh = (ehohN, fn () => ehoh_config) |
|
357 |
338 |
358 |
339 |
359 (* iProver *) |
340 (* iProver *) |
360 |
341 |
361 val iprover_config : atp_config = |
342 val iprover_config : atp_config = |
752 gen_prec = String.isSubstring xprecN ord, gen_simp = String.isSubstring xsimpN ord} |
733 gen_prec = String.isSubstring xprecN ord, gen_simp = String.isSubstring xsimpN ord} |
753 end |
734 end |
754 end |
735 end |
755 |
736 |
756 val atps = |
737 val atps = |
757 [agsyhol, alt_ergo, e, e_par, ehoh, iprover, leo2, leo3, satallax, spass, vampire, z3_tptp, |
738 [agsyhol, alt_ergo, e, e_par, iprover, leo2, leo3, satallax, spass, vampire, z3_tptp, |
758 zipperposition, remote_agsyhol, remote_alt_ergo, remote_e, remote_iprover, remote_leo2, |
739 zipperposition, remote_agsyhol, remote_alt_ergo, remote_e, remote_iprover, remote_leo2, |
759 remote_leo3, remote_vampire, remote_snark, remote_pirate, remote_waldmeister] |
740 remote_leo3, remote_vampire, remote_snark, remote_pirate, remote_waldmeister] |
760 |
741 |
761 val _ = Theory.setup (fold add_atp atps) |
742 val _ = Theory.setup (fold add_atp atps) |
762 |
743 |