372 | (pre, (name', _, _, _, _) :: post) => |
372 | (pre, (name', _, _, _, _) :: post) => |
373 line :: pre @ map (replace_dependencies_in_line (name', [name])) post |
373 line :: pre @ map (replace_dependencies_in_line (name', [name])) post |
374 |
374 |
375 val waldmeister_conjecture_num = "1.0.0.0" |
375 val waldmeister_conjecture_num = "1.0.0.0" |
376 |
376 |
377 val repair_waldmeister_endgame = |
377 fun repair_waldmeister_endgame arg = |
378 let |
378 let |
379 fun do_tail (name, _, t, rule, deps) = |
379 fun do_tail (name, _, t, rule, deps) = |
380 (name, Negated_Conjecture, s_not t, rule, deps) |
380 (name, Negated_Conjecture, s_not t, rule, deps) |
381 fun do_body [] = [] |
381 fun do_body [] = [] |
382 | do_body ((line as ((num, _), _, _, _, _)) :: lines) = |
382 | do_body ((line as ((num, _), _, _, _, _)) :: lines) = |
383 if num = waldmeister_conjecture_num then map do_tail (line :: lines) |
383 if num = waldmeister_conjecture_num then map do_tail (line :: lines) |
384 else line :: do_body lines |
384 else line :: do_body lines |
385 in do_body end |
385 in do_body arg end |
386 |
386 |
387 (* Recursively delete empty lines (type information) from the proof. *) |
387 (* Recursively delete empty lines (type information) from the proof. *) |
388 fun add_nontrivial_line (line as (name, _, t, _, [])) lines = |
388 fun add_nontrivial_line (line as (name, _, t, _, [])) lines = |
389 if is_only_type_information t then delete_dependency name lines |
389 if is_only_type_information t then delete_dependency name lines |
390 else line :: lines |
390 else line :: lines |