src/ZF/Datatype_ZF.thy
changeset 26939 1035c89b4c02
parent 26928 ca87aff1ad2d
child 28262 aa7ca36d67fd
equal deleted inserted replaced
26938:64e850c3da9e 26939:1035c89b4c02
    95        val goal = Logic.mk_equals (old, new)
    95        val goal = Logic.mk_equals (old, new)
    96        val thm = Goal.prove (Simplifier.the_context ss) [] [] goal
    96        val thm = Goal.prove (Simplifier.the_context ss) [] [] goal
    97          (fn _ => rtac iff_reflection 1 THEN
    97          (fn _ => rtac iff_reflection 1 THEN
    98            simp_tac (Simplifier.inherit_context ss datatype_ss addsimps #free_iffs lcon_info) 1)
    98            simp_tac (Simplifier.inherit_context ss datatype_ss addsimps #free_iffs lcon_info) 1)
    99          handle ERROR msg =>
    99          handle ERROR msg =>
   100          (warning (msg ^ "\ndata_free simproc:\nfailed to prove " ^ Sign.string_of_term sg goal);
   100          (warning (msg ^ "\ndata_free simproc:\nfailed to prove " ^ Syntax.string_of_term_global sg goal);
   101           raise Match)
   101           raise Match)
   102    in SOME thm end
   102    in SOME thm end
   103    handle Match => NONE;
   103    handle Match => NONE;
   104 
   104 
   105 
   105