src/Tools/induct_tacs.ML
changeset 27328 1f0ac20db386
parent 27326 d3beec370964
child 27809 a1e409db516b
equal deleted inserted replaced
27327:efd626efcb04 27328:1f0ac20db386
    83             warning ("Induction variable occurs also among premises: " ^ Syntax.string_of_term ctxt t)
    83             warning ("Induction variable occurs also among premises: " ^ Syntax.string_of_term ctxt t)
    84           else ();
    84           else ();
    85       in #1 (check_type ctxt t) end;
    85       in #1 (check_type ctxt t) end;
    86 
    86 
    87     val argss = map (map (Option.map induct_var)) varss;
    87     val argss = map (map (Option.map induct_var)) varss;
    88     val _ = forall null argss andalso raise THM ("No induction arguments", 0, []);
       
    89 
       
    90     val rule =
    88     val rule =
    91       (case opt_rules of
    89       (case opt_rules of
    92         SOME rules => #2 (RuleCases.strict_mutual_rule ctxt rules)
    90         SOME rules => #2 (RuleCases.strict_mutual_rule ctxt rules)
    93       | NONE =>
    91       | NONE =>
    94           (case map_filter (RuleCases.mutual_rule ctxt) (Induct.get_inductT ctxt argss) of
    92           (case map_filter (RuleCases.mutual_rule ctxt) (Induct.get_inductT ctxt argss) of