src/HOL/Tools/Nitpick/HISTORY
author blanchet
Thu, 11 Mar 2010 15:33:45 +0100
changeset 35712 77aa29bf14ee
parent 35695 80b2c22f8f00
child 35807 e4d1b5cbd429
permissions -rw-r--r--
added a mechanism to Nitpick to support custom rendering of terms, and used it for multisets
blanchet@33981
     1
Version 2010
blanchet@33981
     2
blanchet@34121
     3
  * Added and implemented "binary_ints" and "bits" options
blanchet@34969
     4
  * Added "std" option and implemented support for nonstandard models
blanchet@35666
     5
  * Added and implemented "finitize" option to improve the precision of infinite
blanchet@35666
     6
    datatypes based on a monotonicity analysis
blanchet@35339
     7
  * Added support for quotient types
blanchet@35666
     8
  * Added support for local definitions (for "function" and "termination"
blanchet@35666
     9
    proofs)
blanchet@35712
    10
  * Added support for term postprocessors
blanchet@35386
    11
  * Optimized "Multiset.multiset" and "FinFun.finfun"
blanchet@35386
    12
  * Improved efficiency of "destroy_constrs" optimization
blanchet@34969
    13
  * Fixed soundness bugs related to "destroy_constrs" optimization and record
blanchet@34969
    14
    getters
blanchet@35695
    15
  * Fixed soundness bug related to higher-order constructors
blanchet@35075
    16
  * Renamed "MiniSatJNI", "zChaffJNI", "BerkMinAlloy", and "SAT4JLight" to
blanchet@35075
    17
 	"MiniSat_JNI", "zChaff_JNI", "BerkMin_Alloy", and "SAT4J_Light"
blanchet@33981
    18
blanchet@33888
    19
Version 2009-1
blanchet@33197
    20
blanchet@33197
    21
  * Moved into Isabelle/HOL "Main"
blanchet@33197
    22
  * Renamed "nitpick_const_def" to "nitpick_def", "nitpick_const_simp" to
blanchet@33197
    23
    "nitpick_simp", "nitpick_const_psimp" to "nitpick_psimp", and
blanchet@33197
    24
    "nitpick_ind_intro" to "nitpick_intro"
blanchet@33197
    25
  * Replaced "special_depth" and "skolemize_depth" options by "specialize"
blanchet@33197
    26
    and "skolemize"
blanchet@33547
    27
  * Renamed "coalesce_type_vars" to "merge_type_vars"
blanchet@33549
    28
  * Optimized Kodkod encoding of datatypes whose constructors don't appear in
blanchet@33549
    29
    the formula to falsify
blanchet@33572
    30
  * Added support for codatatype view of datatypes
blanchet@33892
    31
  * Fixed soundness bug in the "uncurry" optimization
blanchet@33876
    32
  * Fixed soundness bugs related to sets, sets of sets, (co)inductive
blanchet@33886
    33
    predicates, typedefs, "finite", "rel_comp", and negative literals
blanchet@33197
    34
  * Fixed monotonicity check
blanchet@33853
    35
  * Fixed error when processing definitions
blanchet@33853
    36
  * Fixed error in "star_linear_preds" optimization
blanchet@33744
    37
  * Fixed error in Kodkod encoding of "The" and "Eps"
blanchet@33556
    38
  * Fixed error in display of uncurried constants
blanchet@33572
    39
  * Speeded up scope enumeration
blanchet@33197
    40
blanchet@33197
    41
Version 1.2.2 (16 Oct 2009)
blanchet@33197
    42
blanchet@33197
    43
  * Added and implemented "star_linear_preds" option
blanchet@33197
    44
  * Added and implemented "format" option
blanchet@33197
    45
  * Added and implemented "coalesce_type_vars" option
blanchet@33197
    46
  * Added and implemented "max_genuine" option
blanchet@33197
    47
  * Fixed soundness issues related to "set", "distinct", "image", "Sigma",
blanchet@33197
    48
    "-1::nat", subset, constructors, sort axioms, and partially applied
blanchet@33197
    49
    interpreted constants
blanchet@33197
    50
  * Fixed error in "show_consts" for boxed specialized constants
blanchet@33197
    51
  * Fixed errors in Kodkod encoding of "The", "Eps", and "ind"
blanchet@33197
    52
  * Fixed display of Skolem constants
blanchet@33197
    53
  * Fixed error in "check_potential" and "check_genuine"
blanchet@33197
    54
  * Added boxing support for higher-order constructor parameters
blanchet@33197
    55
  * Changed notation used for coinductive datatypes
blanchet@33197
    56
  * Optimized Kodkod encoding of "If", "card", and "setsum"
blanchet@33197
    57
  * Improved the monotonicity check
blanchet@33197
    58
blanchet@33197
    59
Version 1.2.1 (25 Sep 2009)
blanchet@33197
    60
blanchet@33197
    61
  * Added explicit support for coinductive datatypes
blanchet@33197
    62
  * Added and implemented "box" option
blanchet@33197
    63
  * Added and implemented "fast_descrs" option
blanchet@33197
    64
  * Added and implemented "uncurry" option
blanchet@33197
    65
  * Renamed and generalized "sync_cards" and "inductive_mood" to "mono" and "wf"
blanchet@33197
    66
  * Fixed soundness issue related to nullary constructors
blanchet@33197
    67
  * Fixed soundness issue related to higher-order quantifiers
blanchet@33197
    68
  * Fixed soundness issue related to the "destroy_constrs" optimization
blanchet@33197
    69
  * Fixed soundness issues related to the "special_depth" optimization
blanchet@33197
    70
  * Added support for PicoSAT and incorporated it with the Nitpick package
blanchet@33197
    71
  * Added automatic detection of installed SAT solvers based on naming
blanchet@33197
    72
    convention
blanchet@33197
    73
  * Optimized handling of quantifiers by moving them inward whenever possible
blanchet@33197
    74
  * Optimized and improved precision of "wf" and "wfrec"
blanchet@33197
    75
  * Improved handling of definitions made in locales
blanchet@33197
    76
  * Fixed checked scope count in message shown upon interruption and timeout
blanchet@33197
    77
  * Added minimalistic Nitpick-like tool called Minipick
blanchet@33197
    78
blanchet@33197
    79
Version 1.2.0 (27 Jul 2009)
blanchet@33197
    80
blanchet@33197
    81
  * Optimized Kodkod encoding of datatypes and records
blanchet@33197
    82
  * Optimized coinductive definitions
blanchet@33197
    83
  * Fixed soundness issues related to pairs of functions
blanchet@33197
    84
  * Fixed soundness issue in the peephole optimizer
blanchet@33197
    85
  * Improved precision of non-well-founded predicates occurring positively in
blanchet@33197
    86
    the formula to falsify
blanchet@33197
    87
  * Added and implemented "destroy_constrs" option
blanchet@33197
    88
  * Changed semantics of "inductive_mood" option to ensure soundness
blanchet@33197
    89
  * Fixed semantics of "lockstep" option (broken in 1.1.1) and renamed it
blanchet@33197
    90
    "sync_cards"
blanchet@33197
    91
  * Improved precision of "trancl" and "rtrancl"
blanchet@33197
    92
  * Optimized Kodkod encoding of "tranclp" and "rtranclp"
blanchet@33197
    93
  * Made detection of inconsistent scope specifications more robust
blanchet@33853
    94
  * Fixed a few Kodkod generation bugs
blanchet@33197
    95
blanchet@33197
    96
Version 1.1.1 (24 Jun 2009)
blanchet@33197
    97
blanchet@33197
    98
  * Added "show_all" option
blanchet@33197
    99
  * Fixed soundness issues related to type classes
blanchet@33197
   100
  * Improved precision of some set constructs
blanchet@33197
   101
  * Fiddled with the automatic monotonicity check
blanchet@33197
   102
  * Fixed performance issues related to scope enumeration
blanchet@33853
   103
  * Fixed a few Kodkod generation bugs
blanchet@33197
   104
blanchet@33197
   105
Version 1.1.0 (16 Jun 2009)
blanchet@33197
   106
blanchet@33197
   107
  * Redesigned handling of datatypes to provide an interface baded on "card" and
blanchet@33197
   108
    "max", obsoleting "mult"
blanchet@33197
   109
  * Redesigned handling of typedefs, "rat", and "real"
blanchet@33197
   110
  * Made "lockstep" option a three-state option and added an automatic
blanchet@33197
   111
    monotonicity check
blanchet@33197
   112
  * Made "batch_size" a (n + 1)-state option whose default depends on whether
blanchet@33197
   113
    "debug" is enabled
blanchet@33197
   114
  * Made "debug" automatically enable "verbose"
blanchet@33197
   115
  * Added "destroy_equals" option
blanchet@33197
   116
  * Added "no_assms" option
blanchet@33197
   117
  * Fixed bug in computation of ground type 
blanchet@33197
   118
  * Fixed performance issue related to datatype acyclicity constraint generation
blanchet@33197
   119
  * Fixed performance issue related to axiom selection
blanchet@33197
   120
  * Improved precision of some well-founded inductive predicates
blanchet@33197
   121
  * Added more checks to guard against very large cardinalities
blanchet@33197
   122
  * Improved hit rate of potential counterexamples
blanchet@33197
   123
  * Fixed several soundness issues
blanchet@33197
   124
  * Optimized the Kodkod encoding to benefit more from symmetry breaking
blanchet@33197
   125
  * Optimized relational composition, cartesian product, and converse
blanchet@33197
   126
  * Added support for HaifaSat
blanchet@33197
   127
blanchet@33197
   128
Version 1.0.3 (17 Mar 2009)
blanchet@33197
   129
blanchet@33197
   130
  * Added "HOL-Nominal-Nitpick" as a target in addition to "HOL-Nitpick"
blanchet@33197
   131
  * Added "overlord" option to assist debugging
blanchet@33197
   132
  * Increased default value of "special_depth" option
blanchet@33197
   133
  * Fixed a bug that effectively disabled the "nitpick_const_def" attribute
blanchet@33197
   134
  * Ensured that no scopes are skipped when multithreading is enabled
blanchet@33197
   135
  * Fixed soundness issue in handling of "The", "Eps", and partial functions
blanchet@33197
   136
    defined using Isabelle's function package
blanchet@33197
   137
  * Fixed soundness issue in handling of non-definitional axioms
blanchet@33197
   138
  * Fixed soundness issue in handling of "Abs_" and "Rep_" functions for "unit",
blanchet@33197
   139
    "nat", "int", and "*"
blanchet@33853
   140
  * Fixed a few Kodkod generation bugs
blanchet@33197
   141
  * Optimized "div", "mod", and "dvd" on "nat" and "int"
blanchet@33197
   142
blanchet@33197
   143
Version 1.0.2 (12 Mar 2009)
blanchet@33197
   144
blanchet@33197
   145
  * Added support for non-definitional axioms
blanchet@33197
   146
  * Improved Isar integration
blanchet@33197
   147
  * Added support for multiplicities of 0
blanchet@33197
   148
  * Added "max_threads" option and support for multithreaded Kodkodi
blanchet@33197
   149
  * Added "blocking" option to control whether Nitpick should be run
blanchet@33197
   150
    synchronously or asynchronously
blanchet@33197
   151
  * Merged "auto_timeout" and "wellfounded_timeout" into "tac_timeout"
blanchet@33197
   152
  * Added "auto" option to run Nitpick automatically (like Auto Quickcheck)
blanchet@33197
   153
  * Introduced "auto_timeout" to specify Auto Nitpick's time limit
blanchet@33197
   154
  * Renamed the possible values for the "expect" option
blanchet@33197
   155
  * Renamed the "peephole" option to "peephole_optim"
blanchet@33197
   156
  * Added negative versions of all Boolean options and made "= true" optional
blanchet@33197
   157
  * Altered order of automatic SAT solver selection
blanchet@33197
   158
blanchet@33197
   159
Version 1.0.1 (6 Mar 2009)
blanchet@33197
   160
blanchet@33197
   161
  * Eliminated the need to import "Nitpick" to use "nitpick"
blanchet@33197
   162
  * Added "debug" option
blanchet@33197
   163
  * Replaced "specialize_funs" with the more general "special_depth" option
blanchet@33197
   164
  * Renamed "watch" option to "eval"
blanchet@33197
   165
  * Improved parsing of "card", "mult", and "iter" options
blanchet@33197
   166
  * Fixed a soundness bug in the "specialize_funs" optimization
blanchet@33197
   167
  * Increased the scope of the "specialize_funs" optimization
blanchet@33197
   168
  * Fixed a soundness bug in the treatment of "<" and "<=" on type "int"
blanchet@33197
   169
  * Fixed a soundness bug in the "subterm property" optimization for types of
blanchet@33197
   170
    cardinality 1
blanchet@33197
   171
  * Improved the axiom selection for overloaded constants, which led to an
blanchet@33197
   172
    infinite loop for "Nominal.perm"
blanchet@33197
   173
  * Added support for multiple instantiations of non-well-founded inductive
blanchet@33197
   174
    predicates, which previously raised an exception
blanchet@33853
   175
  * Fixed a Kodkod generation bug
blanchet@33197
   176
  * Altered order of scope enumeration and automatic SAT solver selection
blanchet@33197
   177
  * Optimized "Eps", "nat_case", and "list_case"
blanchet@33197
   178
  * Improved output formatting
blanchet@33197
   179
  * Added checks to prevent infinite loops in axiom selector and constant
blanchet@33197
   180
    unfolding
blanchet@33197
   181
blanchet@33197
   182
Version 1.0.0 (27 Feb 2009)
blanchet@33197
   183
blanchet@33197
   184
  * First release