src/HOL/Tools/Metis/metis_reconstruct.ML
changeset 57255 488046fdda59
parent 55523 9429e7b5b827
child 57400 13b06c626163
equal deleted inserted replaced
57254:d3d91422f408 57255:488046fdda59
    46     end
    46     end
    47   | atp_term_of_metis _ (Metis_Term.Var s) =
    47   | atp_term_of_metis _ (Metis_Term.Var s) =
    48     ATerm ((Metis_Name.toString s, []), [])
    48     ATerm ((Metis_Name.toString s, []), [])
    49 
    49 
    50 fun hol_term_of_metis ctxt type_enc sym_tab =
    50 fun hol_term_of_metis ctxt type_enc sym_tab =
    51   atp_term_of_metis type_enc #> term_of_atp ctxt false sym_tab NONE
    51   atp_term_of_metis type_enc #> term_of_atp ctxt ATP_Problem.CNF type_enc false sym_tab NONE
    52 
    52 
    53 fun atp_literal_of_metis type_enc (pos, atom) =
    53 fun atp_literal_of_metis type_enc (pos, atom) =
    54   atom |> Metis_Term.Fn |> atp_term_of_metis type_enc
    54   atom |> Metis_Term.Fn |> atp_term_of_metis type_enc
    55        |> AAtom |> not pos ? mk_anot
    55        |> AAtom |> not pos ? mk_anot
    56 fun atp_clause_of_metis _ [] = AAtom (ATerm ((tptp_false, []), []))
    56 fun atp_clause_of_metis _ [] = AAtom (ATerm ((tptp_false, []), []))
    63 
    63 
    64 fun hol_clause_of_metis ctxt type_enc sym_tab concealed =
    64 fun hol_clause_of_metis ctxt type_enc sym_tab concealed =
    65   Metis_Thm.clause
    65   Metis_Thm.clause
    66   #> Metis_LiteralSet.toList
    66   #> Metis_LiteralSet.toList
    67   #> atp_clause_of_metis type_enc
    67   #> atp_clause_of_metis type_enc
    68   #> prop_of_atp ctxt false sym_tab
    68   #> prop_of_atp ctxt ATP_Problem.CNF type_enc false sym_tab
    69   #> singleton (polish_hol_terms ctxt concealed)
    69   #> singleton (polish_hol_terms ctxt concealed)
    70 
    70 
    71 fun hol_terms_of_metis ctxt type_enc concealed sym_tab fol_tms =
    71 fun hol_terms_of_metis ctxt type_enc concealed sym_tab fol_tms =
    72   let val ts = map (hol_term_of_metis ctxt type_enc sym_tab) fol_tms
    72   let val ts = map (hol_term_of_metis ctxt type_enc sym_tab) fol_tms
    73       val _ = trace_msg ctxt (fn () => "  calling type inference:")
    73       val _ = trace_msg ctxt (fn () => "  calling type inference:")