src/HOL/Tools/Metis/metis_reconstruct.ML
changeset 51951 fab4ab92e812
parent 51929 5e8a0b8bb070
child 51998 f732a674db1b
equal deleted inserted replaced
51950:13fb5e4f2893 51951:fab4ab92e812
   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) ^