7 *** General *** |
7 *** General *** |
8 |
8 |
9 * Prover IDE (PIDE) improvements: |
9 * Prover IDE (PIDE) improvements: |
10 |
10 |
11 - more robust Sledgehammer integration (as before the sledgehammer |
11 - more robust Sledgehammer integration (as before the sledgehammer |
12 command line needs to be typed into the source buffer) |
12 command-line needs to be typed into the source buffer) |
13 - markup for bound variables |
13 - markup for bound variables |
14 - markup for types of term variables (e.g. displayed as tooltips) |
14 - markup for types of term variables (displayed as tooltips) |
15 - support for user-defined Isar commands within the running session |
15 - support for user-defined Isar commands within the running session |
16 - improved support for Unicode outside original 16bit range |
16 - improved support for Unicode outside original 16bit range |
17 e.g. glyph for \<A> (thanks to jEdit 4.5.1) |
17 e.g. glyph for \<A> (thanks to jEdit 4.5.1) |
18 |
18 |
19 * Updated and extended reference manuals ("isar-ref" and |
19 * Forward declaration of outer syntax keywords within the theory |
20 "implementation"); reduced remaining material in old "ref" manual. |
20 header -- minor INCOMPATIBILITY for user-defined commands. Allow new |
|
21 commands to be used in the same theory where defined. |
21 |
22 |
22 * Rule attributes in local theory declarations (e.g. locale or class) |
23 * Rule attributes in local theory declarations (e.g. locale or class) |
23 are now statically evaluated: the resulting theorem is stored instead |
24 are now statically evaluated: the resulting theorem is stored instead |
24 of the original expression. INCOMPATIBILITY in rare situations, where |
25 of the original expression. INCOMPATIBILITY in rare situations, where |
25 the historic accident of dynamic re-evaluation in interpretations |
26 the historic accident of dynamic re-evaluation in interpretations |
29 declaration, and results are standardized before being stored. Thus |
30 declaration, and results are standardized before being stored. Thus |
30 old-style "standard" after instantiation or composition of facts |
31 old-style "standard" after instantiation or composition of facts |
31 becomes obsolete. Minor INCOMPATIBILITY, due to potential change of |
32 becomes obsolete. Minor INCOMPATIBILITY, due to potential change of |
32 indices of schematic variables. |
33 indices of schematic variables. |
33 |
34 |
34 * Renamed some inner syntax categories: |
|
35 |
|
36 num ~> num_token |
|
37 xnum ~> xnum_token |
|
38 xstr ~> str_token |
|
39 |
|
40 Minor INCOMPATIBILITY. Note that in practice "num_const" or |
|
41 "num_position" etc. are mainly used instead (which also include |
|
42 position information via constraints). |
|
43 |
|
44 * Simplified configuration options for syntax ambiguity: see |
35 * Simplified configuration options for syntax ambiguity: see |
45 "syntax_ambiguity_warning" and "syntax_ambiguity_limit" in isar-ref |
36 "syntax_ambiguity_warning" and "syntax_ambiguity_limit" in isar-ref |
46 manual. Minor INCOMPATIBILITY. |
37 manual. Minor INCOMPATIBILITY. |
47 |
38 |
48 * Forward declaration of outer syntax keywords within the theory |
39 * Updated and extended reference manuals: "isar-ref" and |
49 header -- minor INCOMPATIBILITY for user-defined commands. Allow new |
40 "implementation"; reduced remaining material in old "ref" manual. |
50 commands to be used in the same theory where defined. |
|
51 |
41 |
52 |
42 |
53 *** Pure *** |
43 *** Pure *** |
54 |
44 |
55 * Auxiliary contexts indicate block structure for specifications with |
45 * Auxiliary contexts indicate block structure for specifications with |
91 |
81 |
92 * Command 'definition' no longer exports the foundational "raw_def" |
82 * Command 'definition' no longer exports the foundational "raw_def" |
93 into the user context. Minor INCOMPATIBILITY, may use the regular |
83 into the user context. Minor INCOMPATIBILITY, may use the regular |
94 "def" result with attribute "abs_def" to imitate the old version. |
84 "def" result with attribute "abs_def" to imitate the old version. |
95 |
85 |
|
86 * Renamed some inner syntax categories: |
|
87 |
|
88 num ~> num_token |
|
89 xnum ~> xnum_token |
|
90 xstr ~> str_token |
|
91 |
|
92 Minor INCOMPATIBILITY. Note that in practice "num_const" or |
|
93 "num_position" etc. are mainly used instead (which also include |
|
94 position information via constraints). |
|
95 |
96 * Attribute "abs_def" turns an equation of the form "f x y == t" into |
96 * Attribute "abs_def" turns an equation of the form "f x y == t" into |
97 "f == %x y. t", which ensures that "simp" or "unfold" steps always |
97 "f == %x y. t", which ensures that "simp" or "unfold" steps always |
98 expand it. This also works for object-logic equality. (Formerly |
98 expand it. This also works for object-logic equality. (Formerly |
99 undocumented feature.) |
99 undocumented feature.) |
100 |
100 |
129 -- "now uniform 'a::bar instead of default sort for first occurrence (!)" |
129 -- "now uniform 'a::bar instead of default sort for first occurrence (!)" |
130 |
130 |
131 |
131 |
132 *** HOL *** |
132 *** HOL *** |
133 |
133 |
134 * New tutorial "Programming and Proving in Isabelle/HOL" ("prog-prove"). |
134 * New tutorial "Programming and Proving in Isabelle/HOL" |
135 It completely supercedes "A Tutorial Introduction to Structured Isar Proofs", |
135 ("prog-prove"). It completely supersedes "A Tutorial Introduction to |
136 which has been removed. It supercedes "Isabelle/HOL, A Proof Assistant |
136 Structured Isar Proofs" ("isar-overview"), which has been removed. It |
137 for Higher-Order Logic" as the recommended beginners tutorial |
137 also supersedes "Isabelle/HOL, A Proof Assistant for Higher-Order |
138 but does not cover all of the material of that old tutorial. |
138 Logic" as the recommended beginners tutorial, but does not cover all |
139 |
139 of the material of that old tutorial. |
140 * Discontinued old Tutorial on Isar ("isar-overview"); |
|
141 |
140 |
142 * Type 'a set is now a proper type constructor (just as before |
141 * Type 'a set is now a proper type constructor (just as before |
143 Isabelle2008). Definitions mem_def and Collect_def have disappeared. |
142 Isabelle2008). Definitions mem_def and Collect_def have disappeared. |
144 Non-trivial INCOMPATIBILITY. For developments keeping predicates and |
143 Non-trivial INCOMPATIBILITY. For developments keeping predicates and |
145 sets separate, it is often sufficient to rephrase sets S accidentally |
144 sets separate, it is often sufficient to rephrase sets S accidentally |