equal
deleted
inserted
replaced
322 fun equality_inference ctxt type_enc concealed sym_tab (pos, atom) fp fr = |
322 fun equality_inference ctxt type_enc concealed sym_tab (pos, atom) fp fr = |
323 let val thy = Proof_Context.theory_of ctxt |
323 let val thy = Proof_Context.theory_of ctxt |
324 val m_tm = Metis_Term.Fn atom |
324 val m_tm = Metis_Term.Fn atom |
325 val [i_atom, i_tm] = |
325 val [i_atom, i_tm] = |
326 hol_terms_from_metis ctxt type_enc concealed sym_tab [m_tm, fr] |
326 hol_terms_from_metis ctxt type_enc concealed sym_tab [m_tm, fr] |
327 val _ = trace_msg ctxt (fn () => "sign of the literal: " ^ Bool.toString pos) |
327 val _ = trace_msg ctxt (fn () => "sign of the literal: " ^ Markup.print_bool pos) |
328 fun replace_item_list lx 0 (_::ls) = lx::ls |
328 fun replace_item_list lx 0 (_::ls) = lx::ls |
329 | replace_item_list lx i (l::ls) = l :: replace_item_list lx (i-1) ls |
329 | replace_item_list lx i (l::ls) = l :: replace_item_list lx (i-1) ls |
330 fun path_finder_fail tm ps t = |
330 fun path_finder_fail tm ps t = |
331 raise METIS_RECONSTRUCT ("equality_inference (path_finder)", |
331 raise METIS_RECONSTRUCT ("equality_inference (path_finder)", |
332 "path = " ^ space_implode " " (map string_of_int ps) ^ |
332 "path = " ^ space_implode " " (map string_of_int ps) ^ |