src/HOL/Tools/ATP/atp_proof_reconstruct.ML
changeset 47927 c35238d19bb9
parent 47921 fc26d5538868
child 47947 7b482cc7473e
equal deleted inserted replaced
47926:c6d5418ee770 47927:c35238d19bb9
   632      | (pre, Inference_Step (name', t', rule, _) :: post) =>
   632      | (pre, Inference_Step (name', t', rule, _) :: post) =>
   633        Inference_Step (name, t', rule, deps) ::
   633        Inference_Step (name, t', rule, deps) ::
   634        pre @ map (replace_dependencies_in_line (name', [name])) post
   634        pre @ map (replace_dependencies_in_line (name', [name])) post
   635      | _ => raise Fail "unexpected inference"
   635      | _ => raise Fail "unexpected inference"
   636 
   636 
       
   637 val waldmeister_conjecture_num = "1.0.0.0"
       
   638 
   637 val repair_waldmeister_endgame =
   639 val repair_waldmeister_endgame =
   638   let
   640   let
   639     fun do_tail (Inference_Step (name, t, rule, deps)) =
   641     fun do_tail (Inference_Step (name, t, rule, deps)) =
   640         Inference_Step (name, s_not t, rule, deps)
   642         Inference_Step (name, s_not t, rule, deps)
   641       | do_tail line = line
   643       | do_tail line = line
   642     fun do_body [] = []
   644     fun do_body [] = []
   643       | do_body ((line as Inference_Step ((_, ss), _, _, _)) :: lines) =
   645       | do_body ((line as Inference_Step ((num, _), _, _, _)) :: lines) =
   644         if is_conjecture ss then map do_tail (line :: lines)
   646         if num = waldmeister_conjecture_num then map do_tail (line :: lines)
   645         else line :: do_body lines
   647         else line :: do_body lines
   646       | do_body (line :: lines) = line :: do_body lines
   648       | do_body (line :: lines) = line :: do_body lines
   647   in do_body end
   649   in do_body end
   648 
   650 
   649 (* Recursively delete empty lines (type information) from the proof. *)
   651 (* Recursively delete empty lines (type information) from the proof. *)