src/HOL/Tools/Function/partial_function.ML
changeset 69992 bd3c10813cc4
parent 69829 3bfa28b3a5b2
child 70319 34bc296374ee
equal deleted inserted replaced
69991:6b097aeb3650 69992:bd3c10813cc4
   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')