equal
deleted
inserted
replaced
300 THEN resolve_tac lthy' @{thms refl} 1) |
300 THEN resolve_tac lthy' @{thms refl} 1) |
301 end; |
301 end; |
302 val ((_, [rec_rule']), lthy'') = lthy' |> Local_Theory.note (eq_abinding, [rec_rule]) |
302 val ((_, [rec_rule']), lthy'') = lthy' |> Local_Theory.note (eq_abinding, [rec_rule]) |
303 in |
303 in |
304 lthy'' |
304 lthy'' |
305 |> Spec_Rules.add Spec_Rules.Equational ([f], [rec_rule']) |
305 |> Spec_Rules.add Spec_Rules.equational_recdef ([f], [rec_rule']) |
306 |> note_qualified ("simps", [rec_rule']) |
306 |> note_qualified ("simps", [rec_rule']) |
307 |> note_qualified ("mono", [mono_thm]) |
307 |> note_qualified ("mono", [mono_thm]) |
308 |> (case raw_induct of NONE => I | SOME thm => note_qualified ("raw_induct", [thm])) |
308 |> (case raw_induct of NONE => I | SOME thm => note_qualified ("raw_induct", [thm])) |
309 |> note_qualified ("fixp_induct", [specialized_fixp_induct]) |
309 |> note_qualified ("fixp_induct", [specialized_fixp_induct]) |
310 |> pair (f, rec_rule') |
310 |> pair (f, rec_rule') |