src/HOL/Library/old_recdef.ML
changeset 71214 5727bcc3c47c
parent 71179 592e2afdd50c
child 74282 c2ee8d993d6a
equal deleted inserted replaced
71213:39ccdbbed539 71214:5727bcc3c47c
  2840       Proof_Context.theory_of ctxt1
  2840       Proof_Context.theory_of ctxt1
  2841       |> Sign.add_path bname
  2841       |> Sign.add_path bname
  2842       |> Global_Theory.add_thmss
  2842       |> Global_Theory.add_thmss
  2843         (((Binding.name "simps", flat rules), simp_att) :: ((eq_names ~~ rules) ~~ eq_atts))
  2843         (((Binding.name "simps", flat rules), simp_att) :: ((eq_names ~~ rules) ~~ eq_atts))
  2844       ||>> Global_Theory.add_thms [((Binding.name "induct", induct), [])]
  2844       ||>> Global_Theory.add_thms [((Binding.name "induct", induct), [])]
  2845       ||> Spec_Rules.add_global name Spec_Rules.equational_recdef [lhs] (flat rules)
  2845       ||> Spec_Rules.add_global (Binding.name bname) Spec_Rules.equational_recdef [lhs] (flat rules)
  2846       ||> null tcs ? Code.declare_default_eqns_global (map (rpair true) (flat rules));
  2846       ||> null tcs ? Code.declare_default_eqns_global (map (rpair true) (flat rules));
  2847     val result = {lhs = lhs, simps = simps', rules = rules', induct = induct', tcs = tcs};
  2847     val result = {lhs = lhs, simps = simps', rules = rules', induct = induct', tcs = tcs};
  2848     val thy3 =
  2848     val thy3 =
  2849       thy2
  2849       thy2
  2850       |> put_recdef name result
  2850       |> put_recdef name result