NEWS
changeset 30728 f0aeca99b5d9
parent 30706 e20227b5e6a3
child 30741 9e23e3ea7edd
equal deleted inserted replaced
30727:519f8f0fcbf3 30728:f0aeca99b5d9
   137 
   137 
   138 * Interpretation commands no longer accept interpretation attributes.
   138 * Interpretation commands no longer accept interpretation attributes.
   139 INCOMPATBILITY.
   139 INCOMPATBILITY.
   140 
   140 
   141 * Complete re-implementation of locales.  INCOMPATIBILITY.  The most
   141 * Complete re-implementation of locales.  INCOMPATIBILITY.  The most
   142 important changes are listed below.  See documentation (forthcoming)
   142 important changes are listed below.  See the Tutorial on Locales for
   143 and tutorial (also forthcoming) for details.
   143 details.
   144 
   144 
   145 - In locale expressions, instantiation replaces renaming.  Parameters
   145 - In locale expressions, instantiation replaces renaming.  Parameters
   146 must be declared in a for clause.  To aid compatibility with previous
   146 must be declared in a for clause.  To aid compatibility with previous
   147 parameter inheritance, in locale declarations, parameters that are not
   147 parameter inheritance, in locale declarations, parameters that are not
   148 'touched' (instantiation position "_" or omitted) are implicitly added
   148 'touched' (instantiation position "_" or omitted) are implicitly added
   152 locale expressions and context elements.  The latter is particularly
   152 locale expressions and context elements.  The latter is particularly
   153 useful in locale declarations.
   153 useful in locale declarations.
   154 
   154 
   155 - More flexible mechanisms to qualify names generated by locale
   155 - More flexible mechanisms to qualify names generated by locale
   156 expressions.  Qualifiers (prefixes) may be specified in locale
   156 expressions.  Qualifiers (prefixes) may be specified in locale
   157 expressions.  Available are normal qualifiers (syntax "name:") and
   157 expressions, and can be marked as mandatory (syntax: "name!:") or
   158 strict qualifiers (syntax "name!:").  The latter must occur in name
   158 optional (syntax "name?:").  The default depends for plain "name:"
   159 references and are useful to avoid accidental hiding of names, the
   159 depends on the situation where a locale expression is used: in
   160 former are optional.  Qualifiers derived from the parameter names of a
   160 commands 'locale' and 'sublocale' prefixes are optional, in
   161 locale are no longer generated.
   161 'interpretation' and 'interpret' prefixes are mandatory.  Old-style
       
   162 implicit qualifiers derived from the parameter names of a locale are
       
   163 no longer generated.
   162 
   164 
   163 - "sublocale l < e" replaces "interpretation l < e".  The
   165 - "sublocale l < e" replaces "interpretation l < e".  The
   164 instantiation clause in "interpretation" and "interpret" (square
   166 instantiation clause in "interpretation" and "interpret" (square
   165 brackets) is no longer available.  Use locale expressions.
   167 brackets) is no longer available.  Use locale expressions.
   166 
   168 
   167 - When converting proof scripts, be sure to replace qualifiers in
   169 - When converting proof scripts, be sure to mandatory qualifiers in
   168 "interpretation" and "interpret" by strict qualifiers.  Qualifiers in
   170 'interpretation' and 'interpret' should be retained by default, even
   169 locale expressions range over a single locale instance only.
   171 if this is an INCOMPATIBILITY compared to former behaviour.
       
   172 Qualifiers in locale expressions range over a single locale instance
       
   173 only.
   170 
   174 
   171 * Command 'instance': attached definitions no longer accepted.
   175 * Command 'instance': attached definitions no longer accepted.
   172 INCOMPATIBILITY, use proper 'instantiation' target.
   176 INCOMPATIBILITY, use proper 'instantiation' target.
   173 
   177 
   174 * Keyword 'code_exception' now named 'code_abort'.  INCOMPATIBILITY.
   178 * Keyword 'code_exception' now named 'code_abort'.  INCOMPATIBILITY.
   178 
   182 
   179 * New 'find_theorems' criterion "solves" matching theorems that
   183 * New 'find_theorems' criterion "solves" matching theorems that
   180 directly solve the current goal.
   184 directly solve the current goal.
   181 
   185 
   182 * Auto solve feature for main theorem statements (cf. option in Proof
   186 * Auto solve feature for main theorem statements (cf. option in Proof
   183 General Isabelle settings menu, enabled by default).  Whenever a new
   187 General Isabelle settings menu, disabled by default).  Whenever a new
   184 goal is stated, "find_theorems solves" is called; any theorems that
   188 goal is stated, "find_theorems solves" is called; any theorems that
   185 could solve the lemma directly are listed underneath the goal.
   189 could solve the lemma directly are listed as part of the goal state.
   186 
   190 
   187 * Command 'find_consts' searches for constants based on type and name
   191 * Command 'find_consts' searches for constants based on type and name
   188 patterns, e.g.
   192 patterns, e.g.
   189 
   193 
   190     find_consts "_ => bool"
   194     find_consts "_ => bool"
   191 
   195 
   192 By default, matching is against subtypes, but it may be restricted to
   196 By default, matching is against subtypes, but it may be restricted to
   193 the whole type. Searching by name is possible.  Multiple queries are
   197 the whole type.  Searching by name is possible.  Multiple queries are
   194 conjunctive and queries may be negated by prefixing them with a
   198 conjunctive and queries may be negated by prefixing them with a
   195 hyphen:
   199 hyphen:
   196 
   200 
   197     find_consts strict: "_ => bool" name: "Int" -"int => int"
   201     find_consts strict: "_ => bool" name: "Int" -"int => int"
   198 
   202