244 prem_kind = Conjecture, |
244 prem_kind = Conjecture, |
245 best_slices = fn ctxt => |
245 best_slices = fn ctxt => |
246 let val method = effective_e_weight_method ctxt in |
246 let val method = effective_e_weight_method ctxt in |
247 (* FUDGE *) |
247 (* FUDGE *) |
248 if method = e_smartN then |
248 if method = e_smartN then |
249 [(0.333, (true, ((500, FOF, "mono_tags??", combsN, false), |
249 [(0.333, (true, ((500, FOF, "mono_tags??", combsN, false), e_fun_weightN))), |
250 e_fun_weightN))), |
250 (0.334, (true, ((50, FOF, "mono_guards??", combsN, false), e_fun_weightN))), |
251 (0.334, (true, ((50, FOF, "mono_guards??", combsN, false), |
251 (0.333, (true, ((1000, FOF, "mono_tags??", combsN, false), e_sym_offset_weightN)))] |
252 e_fun_weightN))), |
|
253 (0.333, (true, ((1000, FOF, "mono_tags??", combsN, false), |
|
254 e_sym_offset_weightN)))] |
|
255 else |
252 else |
256 [(1.0, (true, ((500, FOF, "mono_tags??", combsN, false), method)))] |
253 [(1.0, (true, ((500, FOF, "mono_tags??", combsN, false), method)))] |
257 end} |
254 end} |
258 |
255 |
259 val e = (eN, e_config) |
256 val e = (eN, e_config) |
334 (InternalError, "Please report this error")], |
328 (InternalError, "Please report this error")], |
335 conj_sym_kind = Hypothesis, |
329 conj_sym_kind = Hypothesis, |
336 prem_kind = Conjecture, |
330 prem_kind = Conjecture, |
337 best_slices = fn ctxt => |
331 best_slices = fn ctxt => |
338 (* FUDGE *) |
332 (* FUDGE *) |
339 [(0.333, (false, ((150, DFG DFG_Unsorted, "mono_tags??", liftingN, false), |
333 [(0.333, (false, ((150, DFG DFG_Unsorted, "mono_tags??", liftingN, false), sosN))), |
340 sosN))), |
334 (0.333, (false, ((300, DFG DFG_Unsorted, "poly_tags??", liftingN, false), sosN))), |
341 (0.333, (false, ((300, DFG DFG_Unsorted, "poly_tags??", liftingN, false), |
335 (0.334, (false, ((50, DFG DFG_Unsorted, "mono_tags??", liftingN, false), no_sosN)))] |
342 sosN))), |
336 |> (if Config.get ctxt force_sos then hd #> apfst (K 1.0) #> single else I)} |
343 (0.334, (false, ((50, DFG DFG_Unsorted, "mono_tags??", liftingN, false), |
|
344 no_sosN)))] |
|
345 |> (if Config.get ctxt force_sos then hd #> apfst (K 1.0) #> single |
|
346 else I)} |
|
347 |
337 |
348 val spass = (spassN, spass_config) |
338 val spass = (spassN, spass_config) |
|
339 |
|
340 val spass_new_H2 = "-Heuristic=2" |
|
341 val spass_new_H2_SOS = "-Heuristic=2 -SOS" |
|
342 val spass_new_Red2 = "-RFRew=2 -RBRew=2 -RTaut=2" |
|
343 val spass_new_Sorts0 = "-Sorts=0" |
349 |
344 |
350 (* Experimental *) |
345 (* Experimental *) |
351 val spass_new_config : atp_config = |
346 val spass_new_config : atp_config = |
352 {exec = ("SPASS_NEW_HOME", "SPASS"), |
347 {exec = ("SPASS_NEW_HOME", "SPASS"), |
353 required_execs = [], |
348 required_execs = [], |
354 arguments = fn _ => fn _ => fn extra_options => fn timeout => fn _ => |
349 arguments = fn _ => fn _ => fn extra_options => fn timeout => fn _ => |
355 (* TODO: add: -FPDFGProof -FPFCR *) |
|
356 ("-Isabelle=1 -TimeLimit=" ^ string_of_int (to_secs 1 timeout)) |
350 ("-Isabelle=1 -TimeLimit=" ^ string_of_int (to_secs 1 timeout)) |
357 |> extra_options <> "" ? prefix (extra_options ^ " "), |
351 |> extra_options <> "" ? prefix (extra_options ^ " "), |
358 proof_delims = #proof_delims spass_config, |
352 proof_delims = #proof_delims spass_config, |
359 known_failures = #known_failures spass_config, |
353 known_failures = #known_failures spass_config, |
360 conj_sym_kind = #conj_sym_kind spass_config, |
354 conj_sym_kind = #conj_sym_kind spass_config, |
361 prem_kind = #prem_kind spass_config, |
355 prem_kind = #prem_kind spass_config, |
362 best_slices = fn _ => |
356 best_slices = fn _ => |
363 (* FUDGE *) |
357 (* FUDGE *) |
364 [(0.25, (true, ((150, DFG DFG_Sorted, "mono_native", combsN, true), |
358 (* |
365 "-Heuristic=1"))), |
359 [(0.25, (true, ((150, DFG DFG_Sorted, "mono_native", combsN, true), spass_new_H1))), |
366 (0.20, (true, ((500, DFG DFG_Sorted, "mono_native", liftingN, true), |
360 (0.20, (false, ((500, DFG DFG_Sorted, "mono_native", liftingN, true), spass_new_H2_SOS))), |
367 "-Heuristic=2 -SOS"))), |
361 (0.20, (true, ((50, DFG DFG_Sorted, "mono_native", liftingN, true), spass_new_H2))), |
368 (0.20, (true, ((50, DFG DFG_Sorted, "mono_native", liftingN, true), |
362 (0.20, (true, ((250, DFG DFG_Sorted, "mono_native", combs_and_liftingN, true), spass_new_H2))), |
369 "-Heuristic=2"))), |
363 (0.15, (true, ((100, DFG DFG_Sorted, "mono_native", combs_and_liftingN, true), spass_new_H2)))] |
370 (0.20, (true, ((250, DFG DFG_Sorted, "mono_native", combs_and_liftingN, |
364 *) |
371 true), "-Heuristic=2"))), |
365 [(0.1, (true, ((50, DFG DFG_Sorted, "mono_native", liftingN, true), spass_new_H2))), |
372 (0.15, (true, ((100, DFG DFG_Sorted, "mono_native", combs_and_liftingN, |
366 (0.1, (true, ((150, DFG DFG_Sorted, "mono_native", combsN, true), spass_new_Sorts0))), |
373 true), "-Heuristic=2")))]} |
367 (0.1, (true, ((250, DFG DFG_Sorted, "mono_native", combs_and_liftingN, true), spass_new_H2))), |
|
368 (0.1, (false, ((500, DFG DFG_Sorted, "mono_native", liftingN, true), spass_new_H2_SOS))), |
|
369 (0.1, (true, ((600, DFG DFG_Sorted, "mono_native", combs_and_liftingN, true), spass_new_Red2))), |
|
370 (0.1, (true, ((150, DFG DFG_Sorted, "poly_guards??", combsN, false), spass_new_H2))), |
|
371 (0.1, (false, ((300, DFG DFG_Sorted, "mono_native", combsN, true), spass_new_H2_SOS))), |
|
372 (0.1, (true, ((100, DFG DFG_Sorted, "mono_native", combs_and_liftingN, true), spass_new_H2))), |
|
373 (0.1, (true, ((50, DFG DFG_Sorted, "mono_native", combsN, true), spass_new_Sorts0))), |
|
374 (0.1, (true, ((100, DFG DFG_Sorted, "poly_guards??", liftingN, false), spass_new_Red2)))]} |
374 |
375 |
375 val spass_new = (spass_newN, spass_new_config) |
376 val spass_new = (spass_newN, spass_new_config) |
376 |
377 |
377 |
378 |
378 (* Vampire *) |
379 (* Vampire *) |
408 conj_sym_kind = Conjecture, |
409 conj_sym_kind = Conjecture, |
409 prem_kind = Conjecture, |
410 prem_kind = Conjecture, |
410 best_slices = fn ctxt => |
411 best_slices = fn ctxt => |
411 (* FUDGE *) |
412 (* FUDGE *) |
412 (if is_old_vampire_version () then |
413 (if is_old_vampire_version () then |
413 [(0.333, (false, ((150, FOF, "poly_guards??", combs_or_liftingN, false), |
414 [(0.333, (false, ((150, FOF, "poly_guards??", combs_or_liftingN, false), sosN))), |
414 sosN))), |
415 (0.333, (false, ((500, FOF, "mono_tags??", combs_or_liftingN, false), sosN))), |
415 (0.333, (false, ((500, FOF, "mono_tags??", combs_or_liftingN, false), |
416 (0.334, (true, ((50, FOF, "mono_guards??", combs_or_liftingN, false), no_sosN)))] |
416 sosN))), |
|
417 (0.334, (true, ((50, FOF, "mono_guards??", combs_or_liftingN, false), |
|
418 no_sosN)))] |
|
419 else |
417 else |
420 [(0.333, (false, ((150, vampire_tff0, "poly_guards??", |
418 [(0.333, (false, ((150, vampire_tff0, "poly_guards??", combs_or_liftingN, false), sosN))), |
421 combs_or_liftingN, false), sosN))), |
419 (0.333, (false, ((500, vampire_tff0, "mono_native", combs_or_liftingN, false), sosN))), |
422 (0.333, (false, ((500, vampire_tff0, "mono_native", combs_or_liftingN, |
420 (0.334, (true, ((50, vampire_tff0, "mono_native", combs_or_liftingN, false), no_sosN)))]) |
423 false), sosN))), |
|
424 (0.334, (true, ((50, vampire_tff0, "mono_native", combs_or_liftingN, |
|
425 false), no_sosN)))]) |
|
426 |> (if Config.get ctxt force_sos then hd #> apfst (K 1.0) #> single |
421 |> (if Config.get ctxt force_sos then hd #> apfst (K 1.0) #> single |
427 else I)} |
422 else I)} |
428 |
423 |
429 val vampire = (vampireN, vampire_config) |
424 val vampire = (vampireN, vampire_config) |
430 |
425 |