src/HOL/Tools/ATP/atp_problem_generate.ML
changeset 47715 04400144c6fc
parent 47713 bd0683000a0f
child 47718 39229c760636
equal deleted inserted replaced
47714:d6683fe037b1 47715:04400144c6fc
  1202 fun presimplify_term thy t =
  1202 fun presimplify_term thy t =
  1203   if exists_Const (member (op =) Meson.presimplified_consts o fst) t then
  1203   if exists_Const (member (op =) Meson.presimplified_consts o fst) t then
  1204     t |> Skip_Proof.make_thm thy
  1204     t |> Skip_Proof.make_thm thy
  1205       |> Meson.presimplify
  1205       |> Meson.presimplify
  1206       |> prop_of
  1206       |> prop_of
  1207   else
       
  1208     t
       
  1209 
       
  1210 fun is_fun_equality (@{const_name HOL.eq},
       
  1211                      Type (_, [Type (@{type_name fun}, _), _])) = true
       
  1212   | is_fun_equality _ = false
       
  1213 
       
  1214 fun extensionalize_term ctxt t =
       
  1215   if exists_Const is_fun_equality t then
       
  1216     let val thy = Proof_Context.theory_of ctxt in
       
  1217       t |> cterm_of thy |> Meson.extensionalize_conv ctxt
       
  1218         |> prop_of |> Logic.dest_equals |> snd
       
  1219     end
       
  1220   else
  1207   else
  1221     t
  1208     t
  1222 
  1209 
  1223 fun preprocess_abstractions_in_terms trans_lams facts =
  1210 fun preprocess_abstractions_in_terms trans_lams facts =
  1224   let
  1211   let