16 are formally declared. INCOMPATIBILITY. |
16 are formally declared. INCOMPATIBILITY. |
17 |
17 |
18 |
18 |
19 *** HOL *** |
19 *** HOL *** |
20 |
20 |
21 * New testing tool "Mirabelle" for automated (proof) tools. Applies several |
21 * New testing tool "Mirabelle" for automated (proof) tools. Applies |
22 tools and tactics like sledgehammer, metis, or quickcheck, to every proof step |
22 several tools and tactics like sledgehammer, metis, or quickcheck, to |
23 in a theory. To be used in batch mode via "isabelle mirabelle". |
23 every proof step in a theory. To be used in batch mode via the |
24 |
24 "mirabelle" utility. |
25 * New proof method "sos" (sum of squares) for nonlinear real arithmetic |
25 |
26 (originally due to John Harison). It requires Library/Sum_Of_Squares. |
26 * New proof method "sos" (sum of squares) for nonlinear real |
27 It is not a complete decision procedure but works well in practice |
27 arithmetic (originally due to John Harison). It requires |
28 on quantifier-free real arithmetic with +, -, *, ^, =, <= and <, |
28 Library/Sum_Of_Squares. It is not a complete decision procedure but |
29 i.e. boolean combinations of equalities and inequalities between |
29 works well in practice on quantifier-free real arithmetic with +, -, |
30 polynomials. It makes use of external semidefinite programming solvers. |
30 *, ^, =, <= and <, i.e. boolean combinations of equalities and |
31 For more information and examples see Library/Sum_Of_Squares. |
31 inequalities between polynomials. It makes use of external |
32 |
32 semidefinite programming solvers. For more information and examples |
33 * Set.UNIV and Set.empty are mere abbreviations for top and bot. INCOMPATIBILITY. |
33 see src/HOL/Library/Sum_Of_Squares. |
34 |
34 |
35 * More convenient names for set intersection and union. INCOMPATIBILITY: |
35 * Set.UNIV and Set.empty are mere abbreviations for top and bot. |
36 |
36 INCOMPATIBILITY. |
|
37 |
|
38 * More convenient names for set intersection and union. |
|
39 INCOMPATIBILITY: |
37 Set.Int ~> Set.inter |
40 Set.Int ~> Set.inter |
38 Set.Un ~> Set.union |
41 Set.Un ~> Set.union |
39 |
42 |
40 * Code generator attributes follow the usual underscore convention: |
43 * Code generator attributes follow the usual underscore convention: |
41 code_unfold replaces code unfold |
44 code_unfold replaces code unfold |
42 code_post replaces code post |
45 code_post replaces code post |
43 etc. |
46 etc. |
44 INCOMPATIBILITY. |
47 INCOMPATIBILITY. |
45 |
|
46 * New quickcheck implementation using new code generator. |
|
47 |
48 |
48 * New class "boolean_algebra". |
49 * New class "boolean_algebra". |
49 |
50 |
50 * Refinements to lattices classes: |
51 * Refinements to lattices classes: |
51 - added boolean_algebra type class |
52 - added boolean_algebra type class |
79 * Power operations on relations and functions are now one dedicate |
80 * Power operations on relations and functions are now one dedicate |
80 constant compow with infix syntax "^^". Power operations on |
81 constant compow with infix syntax "^^". Power operations on |
81 multiplicative monoids retains syntax "^" and is now defined generic |
82 multiplicative monoids retains syntax "^" and is now defined generic |
82 in class power. INCOMPATIBILITY. |
83 in class power. INCOMPATIBILITY. |
83 |
84 |
84 * Relation composition "R O S" now has a "more standard" argument order, |
85 * Relation composition "R O S" now has a "more standard" argument |
85 i.e., "R O S = {(x,z). EX y. (x,y) : R & (y,z) : S }". |
86 order, i.e., "R O S = {(x,z). EX y. (x,y) : R & (y,z) : S }". |
86 INCOMPATIBILITY: Rewrite propositions with "S O R" --> "R O S". Proofs |
87 INCOMPATIBILITY: Rewrite propositions with "S O R" --> "R O S". Proofs |
87 may occationally break, since the O_assoc rule was not rewritten like this. |
88 may occationally break, since the O_assoc rule was not rewritten like |
88 Fix using O_assoc[symmetric]. |
89 this. Fix using O_assoc[symmetric]. The same applies to the curried |
89 The same applies to the curried version "R OO S". |
90 version "R OO S". |
90 |
91 |
91 * GCD now has functions Gcd/GCD and Lcm/LCM for the gcd and lcm of finite and |
92 * Theory GCD now has functions Gcd/GCD and Lcm/LCM for the gcd and lcm |
92 infinite sets. It is shown that they form a complete lattice. |
93 of finite and infinite sets. It is shown that they form a complete |
|
94 lattice. |
93 |
95 |
94 * ML antiquotation @{code_datatype} inserts definition of a datatype |
96 * ML antiquotation @{code_datatype} inserts definition of a datatype |
95 generated by the code generator; see Predicate.thy for an example. |
97 generated by the code generator; see Predicate.thy for an example. |
96 |
98 |
97 * New method "linarith" invokes existing linear arithmetic decision |
99 * New method "linarith" invokes existing linear arithmetic decision |
98 procedure only. |
100 procedure only. |
99 |
101 |
100 * Implementation of quickcheck using generic code generator; default |
102 * New implementation of quickcheck uses generic code generator; |
101 generators are provided for all suitable HOL types, records and |
103 default generators are provided for all suitable HOL types, records |
102 datatypes. |
104 and datatypes. |
103 |
105 |
104 * Constants Set.Pow and Set.image now with authentic syntax; |
106 * Constants Set.Pow and Set.image now with authentic syntax; |
105 object-logic definitions Set.Pow_def and Set.image_def. |
107 object-logic definitions Set.Pow_def and Set.image_def. |
106 INCOMPATIBILITY. |
108 INCOMPATIBILITY. |
107 |
109 |
119 with "_package", e.g.: |
121 with "_package", e.g.: |
120 |
122 |
121 DatatypePackage ~> Datatype |
123 DatatypePackage ~> Datatype |
122 InductivePackage ~> Inductive |
124 InductivePackage ~> Inductive |
123 |
125 |
124 etc. |
|
125 |
|
126 INCOMPATIBILITY. |
126 INCOMPATIBILITY. |
127 |
127 |
128 * NewNumberTheory: Jeremy Avigad's new version of part of |
128 * NewNumberTheory: Jeremy Avigad's new version of part of |
129 NumberTheory. If possible, use NewNumberTheory, not NumberTheory. |
129 NumberTheory. If possible, use NewNumberTheory, not NumberTheory. |
130 |
130 |
131 * Simplified interfaces of datatype module. INCOMPATIBILITY. |
131 * Discontinued abbreviation "arbitrary" of constant |
132 |
132 "undefined". INCOMPATIBILITY, use "undefined" directly. |
133 * Abbreviation "arbitrary" of "undefined" has disappeared; use |
|
134 "undefined" directly. INCOMPATIBILITY. |
|
135 |
133 |
136 * New evaluator "approximate" approximates an real valued term using |
134 * New evaluator "approximate" approximates an real valued term using |
137 the same method as the approximation method. |
135 the same method as the approximation method. |
138 |
136 |
139 * Method "approximate" supports now arithmetic expressions as |
137 * Method "approximate" supports now arithmetic expressions as |
153 *** ML *** |
151 *** ML *** |
154 |
152 |
155 * PARALLEL_CHOICE and PARALLEL_GOALS provide basic support for |
153 * PARALLEL_CHOICE and PARALLEL_GOALS provide basic support for |
156 parallel tactical reasoning. |
154 parallel tactical reasoning. |
157 |
155 |
158 * Tactical FOCUS is similar to SUBPROOF, but allows the body tactic to |
156 * Tacticals Subgoal.FOCUS, Subgoal.FOCUS_PREMS, Subgoal.FOCUS_PARAMS |
159 introduce new subgoals and schematic variables. FOCUS_PARAMS is |
157 are similar to SUBPROOF, but are slightly more flexible: only the |
160 similar, but focuses on the parameter prefix only, leaving subgoal |
158 specified parts of the subgoal are imported into the context, and the |
161 premises unchanged. |
159 body tactic may introduce new subgoals and schematic variables. |
|
160 |
|
161 * Old tactical METAHYPS, which does not observe the proof context, has |
|
162 been renamed to Old_Goals.METAHYPS and awaits deletion. Use SUBPROOF |
|
163 or Subgoal.FOCUS etc. |
162 |
164 |
163 * Renamed functor TableFun to Table, and GraphFun to Graph. (Since |
165 * Renamed functor TableFun to Table, and GraphFun to Graph. (Since |
164 functors have their own ML name space there is no point to mark them |
166 functors have their own ML name space there is no point to mark them |
165 separately.) Minor INCOMPATIBILITY. |
167 separately.) Minor INCOMPATIBILITY. |
166 |
168 |