src/HOL/Tools/recdef_package.ML
changeset 17496 26535df536ae
parent 17412 e26cb20ef0cc
child 17565 7322f37d3344
equal deleted inserted replaced
17495:ddb14cbec6a2 17496:26535df536ae
   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