fixed soundness bug in Nitpick that occurred because unrolled predicate iterators were considered to be a "precise" type
3 * Moved into Isabelle/HOL "Main"
4 * Renamed "nitpick_const_def" to "nitpick_def", "nitpick_const_simp" to
5 "nitpick_simp", "nitpick_const_psimp" to "nitpick_psimp", and
6 "nitpick_ind_intro" to "nitpick_intro"
7 * Replaced "special_depth" and "skolemize_depth" options by "specialize"
9 * Renamed "coalesce_type_vars" to "merge_type_vars"
10 * Optimized Kodkod encoding of datatypes whose constructors don't appear in
11 the formula to falsify
12 * Added support for codatatype view of datatypes
13 * Fixed soundness bugs related to sets, sets of sets, and (co)inductive
15 * Fixed monotonicity check
16 * Fixed error when processing definitions
17 * Fixed error in "star_linear_preds" optimization
18 * Fixed error in Kodkod encoding of "The" and "Eps"
19 * Fixed error in display of uncurried constants
20 * Speeded up scope enumeration
22 Version 1.2.2 (16 Oct 2009)
24 * Added and implemented "star_linear_preds" option
25 * Added and implemented "format" option
26 * Added and implemented "coalesce_type_vars" option
27 * Added and implemented "max_genuine" option
28 * Fixed soundness issues related to "set", "distinct", "image", "Sigma",
29 "-1::nat", subset, constructors, sort axioms, and partially applied
31 * Fixed error in "show_consts" for boxed specialized constants
32 * Fixed errors in Kodkod encoding of "The", "Eps", and "ind"
33 * Fixed display of Skolem constants
34 * Fixed error in "check_potential" and "check_genuine"
35 * Added boxing support for higher-order constructor parameters
36 * Changed notation used for coinductive datatypes
37 * Optimized Kodkod encoding of "If", "card", and "setsum"
38 * Improved the monotonicity check
40 Version 1.2.1 (25 Sep 2009)
42 * Added explicit support for coinductive datatypes
43 * Added and implemented "box" option
44 * Added and implemented "fast_descrs" option
45 * Added and implemented "uncurry" option
46 * Renamed and generalized "sync_cards" and "inductive_mood" to "mono" and "wf"
47 * Fixed soundness issue related to nullary constructors
48 * Fixed soundness issue related to higher-order quantifiers
49 * Fixed soundness issue related to the "destroy_constrs" optimization
50 * Fixed soundness issues related to the "special_depth" optimization
51 * Added support for PicoSAT and incorporated it with the Nitpick package
52 * Added automatic detection of installed SAT solvers based on naming
54 * Optimized handling of quantifiers by moving them inward whenever possible
55 * Optimized and improved precision of "wf" and "wfrec"
56 * Improved handling of definitions made in locales
57 * Fixed checked scope count in message shown upon interruption and timeout
58 * Added minimalistic Nitpick-like tool called Minipick
60 Version 1.2.0 (27 Jul 2009)
62 * Optimized Kodkod encoding of datatypes and records
63 * Optimized coinductive definitions
64 * Fixed soundness issues related to pairs of functions
65 * Fixed soundness issue in the peephole optimizer
66 * Improved precision of non-well-founded predicates occurring positively in
67 the formula to falsify
68 * Added and implemented "destroy_constrs" option
69 * Changed semantics of "inductive_mood" option to ensure soundness
70 * Fixed semantics of "lockstep" option (broken in 1.1.1) and renamed it
72 * Improved precision of "trancl" and "rtrancl"
73 * Optimized Kodkod encoding of "tranclp" and "rtranclp"
74 * Made detection of inconsistent scope specifications more robust
75 * Fixed a few Kodkod generation bugs
77 Version 1.1.1 (24 Jun 2009)
79 * Added "show_all" option
80 * Fixed soundness issues related to type classes
81 * Improved precision of some set constructs
82 * Fiddled with the automatic monotonicity check
83 * Fixed performance issues related to scope enumeration
84 * Fixed a few Kodkod generation bugs
86 Version 1.1.0 (16 Jun 2009)
88 * Redesigned handling of datatypes to provide an interface baded on "card" and
89 "max", obsoleting "mult"
90 * Redesigned handling of typedefs, "rat", and "real"
91 * Made "lockstep" option a three-state option and added an automatic
93 * Made "batch_size" a (n + 1)-state option whose default depends on whether
95 * Made "debug" automatically enable "verbose"
96 * Added "destroy_equals" option
97 * Added "no_assms" option
98 * Fixed bug in computation of ground type
99 * Fixed performance issue related to datatype acyclicity constraint generation
100 * Fixed performance issue related to axiom selection
101 * Improved precision of some well-founded inductive predicates
102 * Added more checks to guard against very large cardinalities
103 * Improved hit rate of potential counterexamples
104 * Fixed several soundness issues
105 * Optimized the Kodkod encoding to benefit more from symmetry breaking
106 * Optimized relational composition, cartesian product, and converse
107 * Added support for HaifaSat
109 Version 1.0.3 (17 Mar 2009)
111 * Added "HOL-Nominal-Nitpick" as a target in addition to "HOL-Nitpick"
112 * Added "overlord" option to assist debugging
113 * Increased default value of "special_depth" option
114 * Fixed a bug that effectively disabled the "nitpick_const_def" attribute
115 * Ensured that no scopes are skipped when multithreading is enabled
116 * Fixed soundness issue in handling of "The", "Eps", and partial functions
117 defined using Isabelle's function package
118 * Fixed soundness issue in handling of non-definitional axioms
119 * Fixed soundness issue in handling of "Abs_" and "Rep_" functions for "unit",
120 "nat", "int", and "*"
121 * Fixed a few Kodkod generation bugs
122 * Optimized "div", "mod", and "dvd" on "nat" and "int"
124 Version 1.0.2 (12 Mar 2009)
126 * Added support for non-definitional axioms
127 * Improved Isar integration
128 * Added support for multiplicities of 0
129 * Added "max_threads" option and support for multithreaded Kodkodi
130 * Added "blocking" option to control whether Nitpick should be run
131 synchronously or asynchronously
132 * Merged "auto_timeout" and "wellfounded_timeout" into "tac_timeout"
133 * Added "auto" option to run Nitpick automatically (like Auto Quickcheck)
134 * Introduced "auto_timeout" to specify Auto Nitpick's time limit
135 * Renamed the possible values for the "expect" option
136 * Renamed the "peephole" option to "peephole_optim"
137 * Added negative versions of all Boolean options and made "= true" optional
138 * Altered order of automatic SAT solver selection
140 Version 1.0.1 (6 Mar 2009)
142 * Eliminated the need to import "Nitpick" to use "nitpick"
143 * Added "debug" option
144 * Replaced "specialize_funs" with the more general "special_depth" option
145 * Renamed "watch" option to "eval"
146 * Improved parsing of "card", "mult", and "iter" options
147 * Fixed a soundness bug in the "specialize_funs" optimization
148 * Increased the scope of the "specialize_funs" optimization
149 * Fixed a soundness bug in the treatment of "<" and "<=" on type "int"
150 * Fixed a soundness bug in the "subterm property" optimization for types of
152 * Improved the axiom selection for overloaded constants, which led to an
153 infinite loop for "Nominal.perm"
154 * Added support for multiple instantiations of non-well-founded inductive
155 predicates, which previously raised an exception
156 * Fixed a Kodkod generation bug
157 * Altered order of scope enumeration and automatic SAT solver selection
158 * Optimized "Eps", "nat_case", and "list_case"
159 * Improved output formatting
160 * Added checks to prevent infinite loops in axiom selector and constant
163 Version 1.0.0 (27 Feb 2009)