src/HOL/Tools/Sledgehammer/sledgehammer_atp_translate.ML
changeset 41088 54eb8e7c7f9b
parent 40204 da97d75e20e6
child 41091 0afdf5cde874
equal deleted inserted replaced
41087:d7b5fd465198 41088:54eb8e7c7f9b
    11   type 'a problem = 'a ATP_Problem.problem
    11   type 'a problem = 'a ATP_Problem.problem
    12   type translated_formula
    12   type translated_formula
    13 
    13 
    14   val fact_prefix : string
    14   val fact_prefix : string
    15   val conjecture_prefix : string
    15   val conjecture_prefix : string
    16   val translate_fact :
    16   val translate_atp_fact :
    17     Proof.context -> (string * 'a) * thm
    17     Proof.context -> (string * 'a) * thm
    18     -> term * ((string * 'a) * translated_formula) option
    18     -> term * ((string * 'a) * translated_formula) option
    19   val prepare_atp_problem :
    19   val prepare_atp_problem :
    20     Proof.context -> bool -> bool -> bool -> bool -> term list -> term
    20     Proof.context -> bool -> bool -> bool -> bool -> term list -> term
    21     -> (term * ((string * 'a) * translated_formula) option) list
    21     -> (term * ((string * 'a) * translated_formula) option) list
   245                  if exists is_needed ss then map baptize ths else [])) @
   245                  if exists is_needed ss then map baptize ths else [])) @
   246     (if is_FO then [] else map baptize mandatory_helpers)
   246     (if is_FO then [] else map baptize mandatory_helpers)
   247     |> map_filter (Option.map snd o make_fact ctxt false)
   247     |> map_filter (Option.map snd o make_fact ctxt false)
   248   end
   248   end
   249 
   249 
   250 fun translate_fact ctxt (ax as (_, th)) = (prop_of th, make_fact ctxt true ax)
   250 fun translate_atp_fact ctxt (ax as (_, th)) =
       
   251   (prop_of th, make_fact ctxt true ax)
   251 
   252 
   252 fun translate_formulas ctxt full_types hyp_ts concl_t facts =
   253 fun translate_formulas ctxt full_types hyp_ts concl_t facts =
   253   let
   254   let
   254     val thy = ProofContext.theory_of ctxt
   255     val thy = ProofContext.theory_of ctxt
   255     val (fact_ts, translated_facts) = ListPair.unzip facts
   256     val (fact_ts, translated_facts) = ListPair.unzip facts