NEWS
changeset 4930 89271bc4e7ed
parent 4915 5ff99bd60da9
child 4981 9703ba0e9122
equal deleted inserted replaced
4929:bc3ec5af8593 4930:89271bc4e7ed
    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.