equal
deleted
inserted
replaced
243 is simplified. Many induction rules have nested implications that would |
243 is simplified. Many induction rules have nested implications that would |
244 give rise to looping conditional rewriting.*) |
244 give rise to looping conditional rewriting.*) |
245 val (thy, {rules = rules_idx, induct, tcs}) = |
245 val (thy, {rules = rules_idx, induct, tcs}) = |
246 tfl_fn strict thy cs (ss delcongs [imp_cong]) |
246 tfl_fn strict thy cs (ss delcongs [imp_cong]) |
247 congs wfs name R eqs; |
247 congs wfs name R eqs; |
248 val rules = map (map #1) (Library.partition_eq Library.eq_snd rules_idx); |
248 val rules = map (map #1) (Library.partition_eq (Library.eq_snd (op =)) rules_idx); |
249 val simp_att = if null tcs then |
249 val simp_att = if null tcs then |
250 [Simplifier.simp_add_global, RecfunCodegen.add NONE] else []; |
250 [Simplifier.simp_add_global, RecfunCodegen.add NONE] else []; |
251 |
251 |
252 val (thy, (simps' :: rules', [induct'])) = |
252 val (thy, (simps' :: rules', [induct'])) = |
253 thy |
253 thy |