equal
deleted
inserted
replaced
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 |