src/HOL/Tools/Sledgehammer/sledgehammer.ML
changeset 38988 483879af0643
parent 38985 162bbbea4e4d
child 38991 0e2798f30087
equal deleted inserted replaced
38987:96fae8916d8b 38988:483879af0643
     7 *)
     7 *)
     8 
     8 
     9 signature SLEDGEHAMMER =
     9 signature SLEDGEHAMMER =
    10 sig
    10 sig
    11   type failure = ATP_Systems.failure
    11   type failure = ATP_Systems.failure
    12   type locality = Sledgehammer_Fact_Filter.locality
    12   type locality = Sledgehammer_Filter.locality
    13   type relevance_override = Sledgehammer_Fact_Filter.relevance_override
    13   type relevance_override = Sledgehammer_Filter.relevance_override
    14   type minimize_command = Sledgehammer_Proof_Reconstruct.minimize_command
    14   type minimize_command = Sledgehammer_Reconstruct.minimize_command
    15   type params =
    15   type params =
    16     {blocking: bool,
    16     {blocking: bool,
    17      debug: bool,
    17      debug: bool,
    18      verbose: bool,
    18      verbose: bool,
    19      overlord: bool,
    19      overlord: bool,
    62 
    62 
    63 open ATP_Problem
    63 open ATP_Problem
    64 open ATP_Systems
    64 open ATP_Systems
    65 open Metis_Clauses
    65 open Metis_Clauses
    66 open Sledgehammer_Util
    66 open Sledgehammer_Util
    67 open Sledgehammer_Fact_Filter
    67 open Sledgehammer_Filter
    68 open Sledgehammer_Translate
    68 open Sledgehammer_Translate
    69 open Sledgehammer_Proof_Reconstruct
    69 open Sledgehammer_Reconstruct
    70 
    70 
    71 
    71 
    72 (** The Sledgehammer **)
    72 (** The Sledgehammer **)
    73 
    73 
    74 (* Identifier to distinguish Sledgehammer from other tools using
    74 (* Identifier to distinguish Sledgehammer from other tools using
   177 val extract_clause_formula_relation =
   177 val extract_clause_formula_relation =
   178   Substring.full #> Substring.position set_ClauseFormulaRelationN
   178   Substring.full #> Substring.position set_ClauseFormulaRelationN
   179   #> snd #> Substring.string #> strip_spaces_except_between_ident_chars
   179   #> snd #> Substring.string #> strip_spaces_except_between_ident_chars
   180   #> explode #> parse_clause_formula_relation #> fst
   180   #> explode #> parse_clause_formula_relation #> fst
   181 
   181 
   182 (* TODO: move to "Sledgehammer_Proof_Reconstruct.ML" *)
   182 (* TODO: move to "Sledgehammer_Reconstruct" *)
   183 fun repair_conjecture_shape_and_theorem_names output conjecture_shape
   183 fun repair_conjecture_shape_and_theorem_names output conjecture_shape
   184                                               axiom_names =
   184                                               axiom_names =
   185   if String.isSubstring set_ClauseFormulaRelationN output then
   185   if String.isSubstring set_ClauseFormulaRelationN output then
   186     (* This is a hack required for keeping track of axioms after they have been
   186     (* This is a hack required for keeping track of axioms after they have been
   187        clausified by SPASS's Flotter tool. The "ATP/scripts/spass" script is
   187        clausified by SPASS's Flotter tool. The "ATP/scripts/spass" script is