124 val e_sineN = "e_sine" |
124 val e_sineN = "e_sine" |
125 val e_tofofN = "e_tofof" |
125 val e_tofofN = "e_tofof" |
126 val iproverN = "iprover" |
126 val iproverN = "iprover" |
127 val iprover_eqN = "iprover_eq" |
127 val iprover_eqN = "iprover_eq" |
128 val leo2N = "leo2" |
128 val leo2N = "leo2" |
|
129 val pirateN = "pirate" |
129 val satallaxN = "satallax" |
130 val satallaxN = "satallax" |
130 val snarkN = "snark" |
131 val snarkN = "snark" |
131 val spassN = "spass" |
132 val spassN = "spass" |
132 val spass_pirateN = "spass_pirate" |
|
133 val vampireN = "vampire" |
133 val vampireN = "vampire" |
134 val waldmeisterN = "waldmeister" |
134 val waldmeisterN = "waldmeister" |
135 val waldmeister_newN = "waldmeister_new" |
135 val waldmeister_newN = "waldmeister_new" |
136 val z3_tptpN = "z3_tptp" |
136 val z3_tptpN = "z3_tptp" |
137 val zipperpositionN = "zipperposition" |
137 val zipperpositionN = "zipperposition" |
652 -- Scan.option (Scan.this_string "derived from formulae " |
652 -- Scan.option (Scan.this_string "derived from formulae " |
653 |-- Scan.repeat (scan_general_id --| Scan.option ($$ " "))) |
653 |-- Scan.repeat (scan_general_id --| Scan.option ($$ " "))) |
654 >> (fn ((((num, rule), deps), u), names) => |
654 >> (fn ((((num, rule), deps), u), names) => |
655 [((num, these names), Unknown, u, rule, map (rpair []) deps)])) x |
655 [((num, these names), Unknown, u, rule, map (rpair []) deps)])) x |
656 |
656 |
657 fun parse_spass_pirate_dependency x = (Scan.option ($$ "-") |-- scan_general_id) x |
657 fun parse_pirate_dependency x = (Scan.option ($$ "-") |-- scan_general_id) x |
658 fun parse_spass_pirate_dependencies x = |
658 fun parse_pirate_dependencies x = |
659 Scan.repeat (parse_spass_pirate_dependency --| Scan.option ($$ "," || $$ " ")) x |
659 Scan.repeat (parse_pirate_dependency --| Scan.option ($$ "," || $$ " ")) x |
660 fun parse_spass_pirate_file_source x = |
660 fun parse_pirate_file_source x = |
661 ((Scan.this_string "Input" || Scan.this_string "Conj") |-- $$ "(" |-- scan_general_id |
661 ((Scan.this_string "Input" || Scan.this_string "Conj") |-- $$ "(" |-- scan_general_id |
662 --| $$ ")") x |
662 --| $$ ")") x |
663 fun parse_spass_pirate_inference_source x = |
663 fun parse_pirate_inference_source x = |
664 (scan_general_id -- ($$ "(" |-- parse_spass_pirate_dependencies --| $$ ")")) x |
664 (scan_general_id -- ($$ "(" |-- parse_pirate_dependencies --| $$ ")")) x |
665 fun parse_spass_pirate_source x = |
665 fun parse_pirate_source x = |
666 (parse_spass_pirate_file_source >> (fn s => File_Source ("", SOME s)) |
666 (parse_pirate_file_source >> (fn s => File_Source ("", SOME s)) |
667 || parse_spass_pirate_inference_source >> Inference_Source) x |
667 || parse_pirate_inference_source >> Inference_Source) x |
668 |
668 |
669 (* Syntax: <num> <stuff> || <atoms> -> <atoms> . origin\(<origin>\) *) |
669 (* Syntax: <num> <stuff> || <atoms> -> <atoms> . origin\(<origin>\) *) |
670 fun parse_spass_pirate_line x = |
670 fun parse_pirate_line x = |
671 (scan_general_id --| Scan.repeat (~$$ "|") -- parse_horn_clause --| $$ "." |
671 (scan_general_id --| Scan.repeat (~$$ "|") -- parse_horn_clause --| $$ "." |
672 --| Scan.this_string "origin" --| $$ "(" -- parse_spass_pirate_source --| $$ ")" |
672 --| Scan.this_string "origin" --| $$ "(" -- parse_pirate_source --| $$ ")" |
673 >> (fn ((((num, u), source))) => |
673 >> (fn ((((num, u), source))) => |
674 let |
674 let |
675 val (names, rule, deps) = |
675 val (names, rule, deps) = |
676 (case source of |
676 (case source of |
677 File_Source (_, SOME s) => ([s], spass_input_rule, []) |
677 File_Source (_, SOME s) => ([s], spass_input_rule, []) |
688 >> map (core_inference z3_tptp_core_rule)) x |
688 >> map (core_inference z3_tptp_core_rule)) x |
689 |
689 |
690 fun parse_line local_name problem = |
690 fun parse_line local_name problem = |
691 if local_name = leo2N then parse_tstp_thf0_line problem |
691 if local_name = leo2N then parse_tstp_thf0_line problem |
692 else if local_name = spassN then parse_spass_line |
692 else if local_name = spassN then parse_spass_line |
693 else if local_name = spass_pirateN then parse_spass_pirate_line |
693 else if local_name = pirateN then parse_pirate_line |
694 else if local_name = z3_tptpN then parse_z3_tptp_core_line |
694 else if local_name = z3_tptpN then parse_z3_tptp_core_line |
695 else parse_tstp_line problem |
695 else parse_tstp_line problem |
696 |
696 |
697 fun core_of_agsyhol_proof s = |
697 fun core_of_agsyhol_proof s = |
698 (case split_lines s of |
698 (case split_lines s of |