NEWS
changeset 5214 75c6392d1274
parent 5207 dd4f51adfff3
child 5217 3ecd7c952396
equal deleted inserted replaced
5213:0aa62210e67c 5214:75c6392d1274
     6 ----------------------------
     6 ----------------------------
     7 
     7 
     8 *** Overview of INCOMPATIBILITIES (see below for more details) ***
     8 *** Overview of INCOMPATIBILITIES (see below for more details) ***
     9 
     9 
    10 * several changes of proof tools (see next section);
    10 * several changes of proof tools (see next section);
       
    11 
       
    12 * HOL/datatype:
       
    13   - Theories using datatypes must now have Datatype.thy as an
       
    14     ancestor.
       
    15   - The specific <typename>.induct_tac no longer exists - use the
       
    16     generic induct_tac instead.
       
    17   - natE has been renamed to nat.exhaustion - use exhaust_tac
       
    18     instead of res_inst_tac ... natE. Note that the variable
       
    19     names in nat.exhaustion differ from the names in natE, this
       
    20     may cause some "fragile" proofs to fail.
       
    21   - the theorems split_<typename>_case and split_<typename>_case_asm
       
    22     have been renamed to <typename>.split and <typename>.split_asm.
       
    23   - Since default sorts are no longer ignored by the package,
       
    24     some datatype definitions may have to be annotated with
       
    25     explicit sort constraints.
       
    26   - Primrec definitions no longer require function name and type
       
    27     of recursive argument.
       
    28   Use isatool fixdatatype to adapt your theories and proof scripts
       
    29   to the new package (as usual, backup your sources first!).
    11 
    30 
    12 * HOL/inductive requires Inductive.thy as an ancestor; `inj_onto' is
    31 * HOL/inductive requires Inductive.thy as an ancestor; `inj_onto' is
    13 now called `inj_on' (which makes more sense);
    32 now called `inj_on' (which makes more sense);
    14 
    33 
    15 * HOL/Relation: renamed the relational operator r^-1 to 'converse'
    34 * HOL/Relation: renamed the relational operator r^-1 to 'converse'
    91 lib/logo/isabelle-{small,tiny}.xpm;
   110 lib/logo/isabelle-{small,tiny}.xpm;
    92 
   111 
    93 
   112 
    94 *** HOL ***
   113 *** HOL ***
    95 
   114 
       
   115 * HOL/datatype package reorganized and improved: now supports mutually
       
   116   recursive datatypes such as
       
   117 
       
   118     datatype
       
   119       'a aexp = IF_THEN_ELSE ('a bexp) ('a aexp) ('a aexp)
       
   120               | SUM ('a aexp) ('a aexp)
       
   121               | DIFF ('a aexp) ('a aexp)
       
   122               | NUM 'a
       
   123     and
       
   124       'a bexp = LESS ('a aexp) ('a aexp)
       
   125               | AND ('a bexp) ('a bexp)
       
   126               | OR ('a bexp) ('a bexp)
       
   127 
       
   128   as well as indirectly recursive datatypes such as
       
   129 
       
   130     datatype
       
   131       ('a, 'b) term = Var 'a
       
   132                     | App 'b ((('a, 'b) term) list)
       
   133 
       
   134   The new tactic
       
   135 
       
   136     mutual_induct_tac [<var_1>, ..., <var_n>] i
       
   137 
       
   138   performs induction on mutually / indirectly recursive datatypes.
       
   139   Primrec equations are now stored in theory and can be accessed
       
   140   via <function_name>.simps
       
   141 
    96 * reorganized the main HOL image: HOL/Integ and String loaded by
   142 * reorganized the main HOL image: HOL/Integ and String loaded by
    97 default; theory Main includes everything;
   143 default; theory Main includes everything;
    98 
   144 
    99 * added option_map_eq_Some to the default simpset claset;
   145 * added option_map_eq_Some to the default simpset claset;
   100 
   146 
   121 * HOL/inductive package reorganized and improved: now supports mutual
   167 * HOL/inductive package reorganized and improved: now supports mutual
   122 definitions such as
   168 definitions such as
   123 
   169 
   124   inductive EVEN ODD
   170   inductive EVEN ODD
   125     intrs
   171     intrs
   126       null " 0 : EVEN"
   172       null "0 : EVEN"
   127       oddI "n : EVEN ==> Suc n : ODD"
   173       oddI "n : EVEN ==> Suc n : ODD"
   128       evenI "n : ODD ==> Suc n : EVEN"
   174       evenI "n : ODD ==> Suc n : EVEN"
   129 
   175 
   130 new component "elims" of the structure created by the package contains
   176 new component "elims" of the structure created by the package contains
   131 an elimination rule for each of the recursive sets; requires
   177 an elimination rule for each of the recursive sets; requires