equal
deleted
inserted
replaced
200 give rise to looping conditional rewriting.*) |
200 give rise to looping conditional rewriting.*) |
201 val (thy, {rules = rules_idx, induct, tcs}) = |
201 val (thy, {rules = rules_idx, induct, tcs}) = |
202 tfl_fn not_permissive thy cs (ss delcongs [imp_cong]) |
202 tfl_fn not_permissive thy cs (ss delcongs [imp_cong]) |
203 congs wfs name R eqs; |
203 congs wfs name R eqs; |
204 val rules = (map o map) fst (partition_eq (eq_snd (op = : int * int -> bool)) rules_idx); |
204 val rules = (map o map) fst (partition_eq (eq_snd (op = : int * int -> bool)) rules_idx); |
205 val simp_att = if null tcs then [Simplifier.simp_add, Nitpick_Const_Simps.add, |
205 val simp_att = if null tcs then [Simplifier.simp_add, Nitpick_Simps.add, |
206 Code.add_default_eqn_attribute, Quickcheck_RecFun_Simps.add] else []; |
206 Code.add_default_eqn_attribute, Quickcheck_RecFun_Simps.add] else []; |
207 |
207 |
208 val ((simps' :: rules', [induct']), thy) = |
208 val ((simps' :: rules', [induct']), thy) = |
209 thy |
209 thy |
210 |> Sign.add_path bname |
210 |> Sign.add_path bname |