src/ZF/Tools/inductive_package.ML
changeset 27261 5b3101338f42
parent 26928 ca87aff1ad2d
child 27354 f7ba6b2af22a
equal deleted inserted replaced
27260:17d617c6b026 27261:5b3101338f42
   275     rule_by_tactic
   275     rule_by_tactic
   276       (basic_elim_tac THEN ALLGOALS (asm_full_simp_tac ss) THEN basic_elim_tac)
   276       (basic_elim_tac THEN ALLGOALS (asm_full_simp_tac ss) THEN basic_elim_tac)
   277       (Thm.assume A RS elim)
   277       (Thm.assume A RS elim)
   278       |> Drule.standard';
   278       |> Drule.standard';
   279   fun mk_cases a = make_cases (*delayed evaluation of body!*)
   279   fun mk_cases a = make_cases (*delayed evaluation of body!*)
   280     (simpset ()) (Thm.read_cterm (Thm.theory_of_thm elim) (a, propT));
   280     (simpset ())
       
   281     let val thy = Thm.theory_of_thm elim in cterm_of thy (Syntax.read_prop_global thy a) end;
   281 
   282 
   282   fun induction_rules raw_induct thy =
   283   fun induction_rules raw_induct thy =
   283    let
   284    let
   284      val dummy = writeln "  Proving the induction rule...";
   285      val dummy = writeln "  Proving the induction rule...";
   285 
   286