452 let |
452 let |
453 val thy = ProofContext.theory_of lthy; |
453 val thy = ProofContext.theory_of lthy; |
454 val facts = args |> map (fn ((a, atts), props) => |
454 val facts = args |> map (fn ((a, atts), props) => |
455 ((a, map (prep_att thy) atts), |
455 ((a, map (prep_att thy) atts), |
456 map (Thm.no_attributes o single o mk_cases lthy o prep_prop lthy) props)); |
456 map (Thm.no_attributes o single o mk_cases lthy o prep_prop lthy) props)); |
457 in lthy |> LocalTheory.notes Thm.generated_theoremK facts |>> map snd end; |
457 in lthy |> LocalTheory.notes Thm.generatedK facts |>> map snd end; |
458 |
458 |
459 val inductive_cases = gen_inductive_cases Attrib.intern_src Syntax.read_prop; |
459 val inductive_cases = gen_inductive_cases Attrib.intern_src Syntax.read_prop; |
460 val inductive_cases_i = gen_inductive_cases (K I) Syntax.check_prop; |
460 val inductive_cases_i = gen_inductive_cases (K I) Syntax.check_prop; |
461 |
461 |
462 |
462 |
847 val ((vars, intrs), _) = lthy |
847 val ((vars, intrs), _) = lthy |
848 |> ProofContext.set_mode ProofContext.mode_abbrev |
848 |> ProofContext.set_mode ProofContext.mode_abbrev |
849 |> Specification.read_spec (cnames_syn @ pnames_syn) intro_srcs; |
849 |> Specification.read_spec (cnames_syn @ pnames_syn) intro_srcs; |
850 val (cs, ps) = chop (length cnames_syn) vars; |
850 val (cs, ps) = chop (length cnames_syn) vars; |
851 val monos = Attrib.eval_thms lthy raw_monos; |
851 val monos = Attrib.eval_thms lthy raw_monos; |
852 val flags = {quiet_mode = false, verbose = verbose, kind = Thm.generated_theoremK, |
852 val flags = {quiet_mode = false, verbose = verbose, kind = Thm.generatedK, |
853 alt_name = Binding.empty, coind = coind, no_elim = false, no_ind = false, |
853 alt_name = Binding.empty, coind = coind, no_elim = false, no_ind = false, |
854 skip_mono = false, fork_mono = not int}; |
854 skip_mono = false, fork_mono = not int}; |
855 in |
855 in |
856 lthy |
856 lthy |
857 |> LocalTheory.set_group (serial_string ()) |
857 |> LocalTheory.set_group (serial_string ()) |