95 conclusion of a goal. To prevent this, you can either remove split_if |
95 conclusion of a goal. To prevent this, you can either remove split_if |
96 completely from the default simpset by `Delsplits [split_if]' or |
96 completely from the default simpset by `Delsplits [split_if]' or |
97 remove it in a specific call of the simplifier using |
97 remove it in a specific call of the simplifier using |
98 `... delsplits [split_if]'. |
98 `... delsplits [split_if]'. |
99 You can also add/delete other case splitting rules to/from the default |
99 You can also add/delete other case splitting rules to/from the default |
100 simpset: every datatype generates a suitable rule `split_t_case' (where t |
100 simpset: every datatype generates suitable rules `split_t_case' and |
101 is the name of the datatype). |
101 `split_t_case_asm' (where t is the name of the datatype). |
102 |
102 |
103 * new theory Vimage (inverse image of a function, syntax f-``B); |
103 * new theory Vimage (inverse image of a function, syntax f-``B); |
104 |
104 |
105 * many new identities for unions, intersections, set difference, etc.; |
105 * many new identities for unions, intersections, set difference, etc.; |
106 |
106 |
265 ( (!y1 ... ym1. x = C1 y1 ... ym1 --> P(f1 y1 ... ym1)) & |
265 ( (!y1 ... ym1. x = C1 y1 ... ym1 --> P(f1 y1 ... ym1)) & |
266 ... |
266 ... |
267 (!y1 ... ymn. x = Cn y1 ... ymn --> P(f1 y1 ... ymn)) |
267 (!y1 ... ymn. x = Cn y1 ... ymn --> P(f1 y1 ... ymn)) |
268 ) |
268 ) |
269 |
269 |
270 which can be added to a simpset via `addsplits'. The existing theorems |
270 and a theorem `split_t_case_asm' of the form |
271 expand_list_case and expand_option_case have been renamed to |
|
272 split_list_case and split_option_case. |
|
273 |
|
274 Additionally, there is a theorem `split_t_case_asm' of the form |
|
275 |
271 |
276 P(t_case f1 ... fn x) = |
272 P(t_case f1 ... fn x) = |
277 ~( (? y1 ... ym1. x = C1 y1 ... ym1 & ~P(f1 y1 ... ym1)) | |
273 ~( (? y1 ... ym1. x = C1 y1 ... ym1 & ~P(f1 y1 ... ym1)) | |
278 ... |
274 ... |
279 (? y1 ... ymn. x = Cn y1 ... ymn & ~P(f1 y1 ... ymn)) |
275 (? y1 ... ymn. x = Cn y1 ... ymn & ~P(f1 y1 ... ymn)) |
280 ) |
276 ) |
281 |
277 which can be added to a simpset via `addsplits'. The existing theorems |
282 it be used with the new `split_asm_tac'. |
278 expand_list_case and expand_option_case have been renamed to |
|
279 split_list_case and split_option_case. |
283 |
280 |
284 * HOL/Arithmetic: |
281 * HOL/Arithmetic: |
285 - `pred n' is automatically converted to `n-1'. |
282 - `pred n' is automatically converted to `n-1'. |
286 Users are strongly encouraged not to use `pred' any longer, |
283 Users are strongly encouraged not to use `pred' any longer, |
287 because it will disappear altogether at some point. |
284 because it will disappear altogether at some point. |