src/HOL/Import/proof_kernel.ML
changeset 28677 4693938e9c2a
parent 28662 64ab5bb68d4c
child 28965 1de908189869
equal deleted inserted replaced
28676:78688a5fafc2 28677:4693938e9c2a
  1941         val thy'' = add_hol4_const_mapping thyname constname true fullcname thy'
  1941         val thy'' = add_hol4_const_mapping thyname constname true fullcname thy'
  1942         val _ = ImportRecorder.add_hol_const_mapping thyname constname fullcname
  1942         val _ = ImportRecorder.add_hol_const_mapping thyname constname fullcname
  1943         val (linfo,tm24) = disamb_term (mk_teq constname rhs' thy'')
  1943         val (linfo,tm24) = disamb_term (mk_teq constname rhs' thy'')
  1944         val rew = rewrite_hol4_term eq thy''
  1944         val rew = rewrite_hol4_term eq thy''
  1945         val crhs = cterm_of thy'' (#2 (Logic.dest_equals (prop_of rew)))
  1945         val crhs = cterm_of thy'' (#2 (Logic.dest_equals (prop_of rew)))
  1946         val thy22 = if (def_name constname) = thmname andalso not redeclared andalso csyn = NoSyn
  1946         val thy22 = if Thm.def_name constname = thmname andalso not redeclared andalso csyn = NoSyn
  1947                     then
  1947                     then
  1948                         let
  1948                         let
  1949                             val p1 = quotename constname
  1949                             val p1 = quotename constname
  1950                             val p2 = Display.string_of_ctyp (ctyp_of thy'' ctype)
  1950                             val p2 = Display.string_of_ctyp (ctyp_of thy'' ctype)
  1951                             val p3 = string_of_mixfix csyn
  1951                             val p3 = string_of_mixfix csyn
  2036             val hth = HOLThm(rens,res')
  2036             val hth = HOLThm(rens,res')
  2037             val rew = rewrite_hol4_term (concl_of res') thy'
  2037             val rew = rewrite_hol4_term (concl_of res') thy'
  2038             val th  = equal_elim rew res'
  2038             val th  = equal_elim rew res'
  2039             fun handle_const (name,thy) =
  2039             fun handle_const (name,thy) =
  2040                 let
  2040                 let
  2041                     val defname = def_name name
  2041                     val defname = Thm.def_name name
  2042                     val (newname,thy') = get_defname thyname name thy
  2042                     val (newname,thy') = get_defname thyname name thy
  2043                 in
  2043                 in
  2044                     (if defname = newname
  2044                     (if defname = newname
  2045                      then quotename name
  2045                      then quotename name
  2046                      else (quotename newname) ^ ": " ^ (quotename name),thy')
  2046                      else (quotename newname) ^ ": " ^ (quotename name),thy')