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