NEWS
changeset 46160 f363e5a2f8e8
parent 46145 0ec0af1c651d
child 46170 1b2e882f42d2
equal deleted inserted replaced
46159:05a82dd869ed 46160:f363e5a2f8e8
    39 Use commands of the generic code generator instead.  INCOMPATIBILITY.
    39 Use commands of the generic code generator instead.  INCOMPATIBILITY.
    40 
    40 
    41 * Redundant attribute 'code_inline' has been discontinued. Use
    41 * Redundant attribute 'code_inline' has been discontinued. Use
    42 'code_unfold' instead.  INCOMPATIBILITY.
    42 'code_unfold' instead.  INCOMPATIBILITY.
    43 
    43 
    44 * Dropped attribute 'code_unfold_post' in favor of the its dual 'code_abbrev',
    44 * Dropped attribute 'code_unfold_post' in favor of the its dual
    45 which yields a common pattern in definitions like
    45 'code_abbrev', which yields a common pattern in definitions like
    46 
    46 
    47   definition [code_abbrev]: "f = t"
    47   definition [code_abbrev]: "f = t"
    48 
    48 
    49 INCOMPATIBILITY.
    49 INCOMPATIBILITY.
    50 
    50 
    58     -- "now uniform 'a::bar instead of default sort for first occurence (!)"
    58     -- "now uniform 'a::bar instead of default sort for first occurence (!)"
    59 
    59 
    60 
    60 
    61 *** HOL ***
    61 *** HOL ***
    62 
    62 
    63 * Consolidated various theorem names relating to Finite_Set.fold combinator:
    63 * Type 'a set is now a proper type constructor (just as before
       
    64 Isabelle2008).  Definitions mem_def and Collect_def have disappeared.
       
    65 Non-trivial INCOMPATIBILITY.  For developments keeping predicates and
       
    66 sets separate, it is often sufficient to rephrase sets S accidentally
       
    67 used as predicates by "%x. x : S" and predicates P accidentally used
       
    68 as sets by "{x. P x}".  Corresponding proofs in a first step should be
       
    69 pruned from any tinkering with former theorems mem_def and
       
    70 Collect_def.  For developments which deliberately mixed predicates and
       
    71 sets, a planning step is necessary to determine what should become a
       
    72 predicate and what a set.  It can be helpful to carry out that step in
       
    73 Isabelle2011-1 before jumping right into the current release.
       
    74 
       
    75 * Consolidated various theorem names relating to Finite_Set.fold
       
    76 combinator:
       
    77 
    64   inf_INFI_fold_inf ~> inf_INF_fold_inf
    78   inf_INFI_fold_inf ~> inf_INF_fold_inf
    65   sup_SUPR_fold_sup ~> sup_SUP_fold_sup
    79   sup_SUPR_fold_sup ~> sup_SUP_fold_sup
    66   INFI_fold_inf ~> INF_fold_inf
    80   INFI_fold_inf ~> INF_fold_inf
    67   SUPR_fold_sup ~> SUP_fold_sup
    81   SUPR_fold_sup ~> SUP_fold_sup
    68   union_set ~> union_set_fold
    82   union_set ~> union_set_fold
    69   minus_set ~> minus_set_fold
    83   minus_set ~> minus_set_fold
    70   
    84   
    71 INCOMPATIBILITY.
    85 INCOMPATIBILITY.
    72 
    86 
    73 * Consolidated theorem names concerning fold combinators:
    87 * Consolidated theorem names concerning fold combinators:
       
    88 
    74   INFI_set_fold ~> INF_set_fold
    89   INFI_set_fold ~> INF_set_fold
    75   SUPR_set_fold ~> SUP_set_fold
    90   SUPR_set_fold ~> SUP_set_fold
    76   INF_code ~> INF_set_foldr
    91   INF_code ~> INF_set_foldr
    77   SUP_code ~> SUP_set_foldr
    92   SUP_code ~> SUP_set_foldr
    78   foldr.simps ~> foldr_Nil foldr_Cons (in point-free formulation)
    93   foldr.simps ~> foldr_Nil foldr_Cons (in point-free formulation)
    79   foldl.simps ~> foldl_Nil foldl_Cons
    94   foldl.simps ~> foldl_Nil foldl_Cons
    80   foldr_fold_rev ~> foldr_def
    95   foldr_fold_rev ~> foldr_def
    81   foldl_fold ~> foldl_def
    96   foldl_fold ~> foldl_def
       
    97 
    82 INCOMPATIBILITY.
    98 INCOMPATIBILITY.
    83 
    99 
    84 * Dropped rarely useful theorems concerning fold combinators: foldl_apply,
   100 * Dropped rarely useful theorems concerning fold combinators:
    85 foldl_fun_comm, foldl_rev, fold_weak_invariant, rev_foldl_cons, fold_set_remdups,
   101 foldl_apply, foldl_fun_comm, foldl_rev, fold_weak_invariant,
    86 fold_set, fold_set1, concat_conv_foldl, foldl_weak_invariant, foldl_invariant,
   102 rev_foldl_cons, fold_set_remdups, fold_set, fold_set1,
    87 foldr_invariant, foldl_absorb0, foldl_foldr1_lemma, foldl_foldr1, listsum_conv_fold,
   103 concat_conv_foldl, foldl_weak_invariant, foldl_invariant,
    88 listsum_foldl, sort_foldl_insort.  INCOMPATIBILITY.  Prefer "List.fold" with
   104 foldr_invariant, foldl_absorb0, foldl_foldr1_lemma, foldl_foldr1,
    89 canonical argument order, or boil down "List.foldr" and "List.foldl" to "List.fold"
   105 listsum_conv_fold, listsum_foldl, sort_foldl_insort.  INCOMPATIBILITY.
    90 by unfolding "foldr_def" and "foldl_def".  For the common phrases "%xs. List.foldr plus xs 0"
   106 Prefer "List.fold" with canonical argument order, or boil down
       
   107 "List.foldr" and "List.foldl" to "List.fold" by unfolding "foldr_def"
       
   108 and "foldl_def".  For the common phrases "%xs. List.foldr plus xs 0"
    91 and "List.foldl plus 0", prefer "List.listsum".
   109 and "List.foldl plus 0", prefer "List.listsum".
    92 
   110 
    93 * Concrete syntax for case expressions includes constraints for source
   111 * Concrete syntax for case expressions includes constraints for source
    94 positions, and thus produces Prover IDE markup for its bindings.
   112 positions, and thus produces Prover IDE markup for its bindings.
    95 INCOMPATIBILITY for old-style syntax translations that augment the
   113 INCOMPATIBILITY for old-style syntax translations that augment the
    99 * Discontinued configuration option "syntax_positions": atomic terms
   117 * Discontinued configuration option "syntax_positions": atomic terms
   100 in parse trees are always annotated by position constraints.
   118 in parse trees are always annotated by position constraints.
   101 
   119 
   102 * Finite_Set.fold now qualified.  INCOMPATIBILITY.
   120 * Finite_Set.fold now qualified.  INCOMPATIBILITY.
   103 
   121 
   104 * Renamed some facts on canonical fold on lists, in order to avoid problems
   122 * Renamed some facts on canonical fold on lists, in order to avoid
   105 with interpretation involving corresponding facts on foldl with the same base names:
   123 problems with interpretation involving corresponding facts on foldl
       
   124 with the same base names:
   106 
   125 
   107   fold_set_remdups ~> fold_set_fold_remdups
   126   fold_set_remdups ~> fold_set_fold_remdups
   108   fold_set ~> fold_set_fold
   127   fold_set ~> fold_set_fold
   109   fold1_set ~> fold1_set_fold
   128   fold1_set ~> fold1_set_fold
   110 
   129 
   111 INCOMPATIBILITY.
   130 INCOMPATIBILITY.
   112 
   131 
   113 * 'set' is now a proper type constructor.  Definitions mem_def and Collect_def
   132 * Theory HOL/Library/AList has been renamed to
   114 have disappeared.  INCOMPATIBILITY.
   133   AList_Impl. INCOMPATIBILITY.
   115 For developments keeping predicates and sets
       
   116 separate, it is often sufficient to rephrase sets S accidentally used as predicates by
       
   117 "%x. x : S" and predicates P accidentally used as sets by "{x. P x}".  Corresponding
       
   118 proofs in a first step should be pruned from any tinkering with former theorems mem_def
       
   119 and Collect_def.
       
   120 For developments which deliberately mixed predicates and sets, a planning step is
       
   121 necessary to determine what should become a predicate and what a set.  It can be helpful
       
   122 to carry out that step in Isabelle 2011-1 before jumping to the current release.
       
   123 
       
   124 * Theory HOL/Library/AList has been renamed to AList_Impl. INCOMPATIBILITY.
       
   125 
   134 
   126 * 'datatype' specifications allow explicit sort constraints.
   135 * 'datatype' specifications allow explicit sort constraints.
   127 
   136 
   128 * Theory HOL/Library/Diagonalize has been removed. INCOMPATIBILITY, use
   137 * Theory HOL/Library/Diagonalize has been removed. INCOMPATIBILITY,
   129 theory HOL/Library/Nat_Bijection instead.
   138 use theory HOL/Library/Nat_Bijection instead.
   130 
   139 
   131 * Session HOL-Word: Discontinued many redundant theorems specific to type
   140 * Session HOL-Word: Discontinued many redundant theorems specific to
   132 'a word. INCOMPATIBILITY, use the corresponding generic theorems instead.
   141 type 'a word. INCOMPATIBILITY, use the corresponding generic theorems
       
   142 instead.
   133 
   143 
   134   word_sub_alt ~> word_sub_wi
   144   word_sub_alt ~> word_sub_wi
   135   word_add_alt ~> word_add_def
   145   word_add_alt ~> word_add_def
   136   word_mult_alt ~> word_mult_def
   146   word_mult_alt ~> word_mult_def
   137   word_minus_alt ~> word_minus_def
   147   word_minus_alt ~> word_minus_def