src/HOL/Tools/record.ML
changeset 60642 48dd1cefb4ae
parent 60326 68699e576d51
child 60752 b48830b670a1
equal deleted inserted replaced
60641:f6e8293747fd 60642:48dd1cefb4ae
  1753         rewrite_rule (Proof_Context.init_global thy)
  1753         rewrite_rule (Proof_Context.init_global thy)
  1754           [Axclass.unoverload thy (Thm.symmetric (Simpdata.mk_eq eq_def))] inject;
  1754           [Axclass.unoverload thy (Thm.symmetric (Simpdata.mk_eq eq_def))] inject;
  1755       fun mk_eq_refl thy =
  1755       fun mk_eq_refl thy =
  1756         @{thm equal_refl}
  1756         @{thm equal_refl}
  1757         |> Thm.instantiate
  1757         |> Thm.instantiate
  1758           ([apply2 (Thm.global_ctyp_of thy) (TVar (("'a", 0), @{sort equal}), Logic.varifyT_global extT)], [])
  1758           ([((("'a", 0), @{sort equal}), Thm.global_ctyp_of thy (Logic.varifyT_global extT))], [])
  1759         |> Axclass.unoverload thy;
  1759         |> Axclass.unoverload thy;
  1760       val ensure_random_record = ensure_sort_record (@{sort random}, mk_random_eq);
  1760       val ensure_random_record = ensure_sort_record (@{sort random}, mk_random_eq);
  1761       val ensure_exhaustive_record =
  1761       val ensure_exhaustive_record =
  1762         ensure_sort_record (@{sort full_exhaustive}, mk_full_exhaustive_eq);
  1762         ensure_sort_record (@{sort full_exhaustive}, mk_full_exhaustive_eq);
  1763     in
  1763     in