author | wenzelm |

Mon May 12 22:03:33 2008 +0200 (2008-05-12) | |

changeset 26874 | b2daa27fc0a7 |

parent 26873 | 691f35f855cd |

child 26875 | e18574413bc4 |

misc tuning;

1.1 --- a/CONTRIBUTORS Sat May 10 14:13:20 2008 +0200 1.2 +++ b/CONTRIBUTORS Mon May 12 22:03:33 2008 +0200 1.3 @@ -3,6 +3,7 @@ 1.4 who is listed as an author in one of the source files of this Isabelle 1.5 distribution. 1.6 1.7 + 1.8 Contributions to this Isabelle version 1.9 -------------------------------------- 1.10 1.11 @@ -12,13 +13,15 @@ 1.12 * December 2007: Florian Haftmann, TUM 1.13 Overloading and Instantiation Target 1.14 1.15 -* February 2008: Alexander Krauss, Florian Haftmann & Lukas Bulwahn, TUM 1.16 - and John Matthews, Galois: HOL/Library/Imperative_HOL: Haskell-style 1.17 - imperative data structures for HOL. 1.18 +* February 2008: Alexander Krauss, TUM and Florian Haftmann, TUM and 1.19 + Lukas Bulwahn, TUM and John Matthews, Galois: 1.20 + HOL/Library/Imperative_HOL: Haskell-style imperative data structures 1.21 + for HOL. 1.22 1.23 * March 2008: Markus Reiter, TUM 1.24 HOL/Library/RBT: red-black trees. 1.25 1.26 + 1.27 Contributions to Isabelle2007 1.28 ----------------------------- 1.29

2.1 --- a/NEWS Sat May 10 14:13:20 2008 +0200 2.2 +++ b/NEWS Mon May 12 22:03:33 2008 +0200 2.3 @@ -54,15 +54,15 @@ 2.4 2.5 In order to increase the readability of the list produced by 2.6 unused_thms, theorems that have been created by a particular instance 2.7 -of a theory command such as inductive or fun(ction) are considered to 2.8 -belong to the same "group", meaning that if at least one theorem in 2.9 +of a theory command such as 'inductive' or 'function' are considered 2.10 +to belong to the same "group", meaning that if at least one theorem in 2.11 this group is used, the other theorems in the same group are no longer 2.12 reported as unused. Moreover, if all theorems in the group are 2.13 unused, only one theorem in the group is displayed. 2.14 2.15 Note that proof objects have to be switched on in order for 2.16 unused_thms to work properly (i.e. !proofs must be >= 1, which is 2.17 -usually the case when using ProofGeneral with the default settings). 2.18 +usually the case when using Proof General with the default settings). 2.19 2.20 * Authentic naming of facts disallows ad-hoc overwriting of previous 2.21 theorems within the same name space. INCOMPATIBILITY, need to remove 2.22 @@ -83,7 +83,7 @@ 2.23 instead. Added 'ML_val' as mere diagnostic replacement for 'ML'. 2.24 INCOMPATIBILITY. 2.25 2.26 -* Command 'setup': discontinued implicit version. 2.27 +* Command 'setup': discontinued implicit version with ML reference. 2.28 2.29 * Instantiation target allows for simultaneous specification of class 2.30 instance operations together with an instantiation proof. 2.31 @@ -97,42 +97,42 @@ 2.32 "fact". INCOMPATIBILITY: need to name facts explicitly in rare 2.33 situations. 2.34 2.35 - 2.36 -*** Isar *** 2.37 - 2.38 -* Pure: default proof step now includes 'unfold_locales'; hence 2.39 -'proof' without argument may be used to unfold locale predicates. 2.40 +* Locale proofs: default proof step now includes 'unfold_locales'; 2.41 +hence 'proof' without argument may be used to unfold locale 2.42 +predicates. 2.43 2.44 2.45 *** Document preparation *** 2.46 2.47 -* Antiquotation "lemma" takes a proposition and a simple method text as argument 2.48 -and asserts that the proposition is provable by the corresponding method 2.49 -invocation. Prints text of proposition, as does antiquotation "prop". A simple 2.50 -method text is either a method name or a method name plus (optional) method 2.51 -arguments in parentheses, mimicing the conventions known from Isar proof text. 2.52 -Useful for illustration of presented theorems by particular examples. 2.53 +* Antiquotation "lemma" takes a proposition and a simple method text 2.54 +as argument and asserts that the proposition is provable by the 2.55 +corresponding method invocation. Prints text of proposition, as does 2.56 +antiquotation "prop". A simple method text is either a method name or 2.57 +a method name plus (optional) method arguments in parentheses, 2.58 +mimicking the conventions known from Isar proof text. Useful for 2.59 +illustration of presented theorems by particular examples. 2.60 2.61 2.62 *** HOL *** 2.63 2.64 -* Merged theories Wellfounded_Recursion, Accessible_Part and Wellfounded_Relations 2.65 - to "Wellfounded.thy" 2.66 +* Merged theories Wellfounded_Recursion, Accessible_Part and 2.67 +Wellfounded_Relations to "Wellfounded.thy". 2.68 2.69 * Explicit class "eq" for executable equality. INCOMPATIBILITY. 2.70 2.71 -* Class finite no longer treats UNIV as class parameter. Use class enum from 2.72 -theory Library/Enum instead to achieve a similar effect. INCOMPATIBILITY. 2.73 - 2.74 -* Theory List: rule list_induct2 now has explicitly named cases "Nil" and "Cons". 2.75 +* Class finite no longer treats UNIV as class parameter. Use class 2.76 +enum from theory Library/Enum instead to achieve a similar effect. 2.77 INCOMPATIBILITY. 2.78 2.79 +* Theory List: rule list_induct2 now has explicitly named cases "Nil" 2.80 +and "Cons". INCOMPATIBILITY. 2.81 + 2.82 * HOL (and FOL): renamed variables in rules imp_elim and swap. 2.83 Potential INCOMPATIBILITY. 2.84 2.85 -* Theory Product_Type: duplicated lemmas split_Pair_apply and injective_fst_snd 2.86 -removed, use split_eta and prod_eqI instead. Renamed upd_fst to apfst and upd_snd 2.87 -to apsnd. INCOMPATIBILITY. 2.88 +* Theory Product_Type: duplicated lemmas split_Pair_apply and 2.89 +injective_fst_snd removed, use split_eta and prod_eqI instead. 2.90 +Renamed upd_fst to apfst and upd_snd to apsnd. INCOMPATIBILITY. 2.91 2.92 * Theory Nat: removed redundant lemmas that merely duplicate lemmas of 2.93 the same name in theory Orderings: 2.94 @@ -170,7 +170,7 @@ 2.95 2.96 * Theory Finite_Set: locales ACf, ACe, ACIf, ACIfSL and ACIfSLlin 2.97 (whose purpose mainly is for various fold_set functionals) have been 2.98 -abandoned in favour of the existing algebraic classes 2.99 +abandoned in favor of the existing algebraic classes 2.100 ab_semigroup_mult, comm_monoid_mult, ab_semigroup_idem_mult, 2.101 lower_semilattice (resp. upper_semilattice) and linorder. 2.102 INCOMPATIBILITY. 2.103 @@ -182,7 +182,7 @@ 2.104 lattices. The form set-specific version is available as 2.105 Inductive.lfp_ordinal_induct_set. 2.106 2.107 -* Theorems "power.simps" renamed to "power_int.simps". 2.108 +* Renamed theorems "power.simps" to "power_int.simps". 2.109 2.110 * Class semiring_div provides basic abstract properties of semirings 2.111 with division and modulo operations. Subsumes former class dvd_mod. 2.112 @@ -208,9 +208,9 @@ 2.113 2.114 * Library/ListVector: new theory of arithmetic vector operations. 2.115 2.116 -* Library/Order_Relation: new theory of various orderings as sets of pairs. 2.117 - Defines preorders, partial orders, linear orders and well-orders 2.118 - on sets and on types. 2.119 +* Library/Order_Relation: new theory of various orderings as sets of 2.120 +pairs. Defines preorders, partial orders, linear orders and 2.121 +well-orders on sets and on types. 2.122 2.123 * Constants "card", "internal_split", "option_map" now with authentic 2.124 syntax. INCOMPATIBILITY. 2.125 @@ -223,7 +223,7 @@ 2.126 equality. INCOMPATIBILITY. 2.127 2.128 * Method "induction_scheme" derives user-specified induction rules 2.129 -from wellfounded induction and completeness of patterns. This factors 2.130 +from well-founded induction and completeness of patterns. This factors 2.131 out some operations that are done internally by the function package 2.132 and makes them available separately. See "HOL/ex/Induction_Scheme.thy" 2.133 for examples, 2.134 @@ -235,31 +235,32 @@ 2.135 * Metis prover is now an order of magnitude faster, and also works 2.136 with multithreading. 2.137 2.138 -* Metis: the maximum number of clauses that can be produced from a theorem is now given by the attribute max_clauses. Theorems that exceed this number are ignored, with a warning printed. 2.139 - 2.140 -* Sledgehammer no longer produces structured proofs by default. To enable, 2.141 -declare [[sledgehammer_full = true]]. Attributes reconstruction_modulus, 2.142 -reconstruction_sorts renamed sledgehammer_modulus, sledgehammer_sorts. 2.143 -INCOMPATIBILITY. 2.144 +* Metis: the maximum number of clauses that can be produced from a 2.145 +theorem is now given by the attribute max_clauses. Theorems that 2.146 +exceed this number are ignored, with a warning printed. 2.147 + 2.148 +* Sledgehammer no longer produces structured proofs by default. To 2.149 +enable, declare [[sledgehammer_full = true]]. Attributes 2.150 +reconstruction_modulus, reconstruction_sorts renamed 2.151 +sledgehammer_modulus, sledgehammer_sorts. INCOMPATIBILITY. 2.152 + 2.153 2.154 *** ZF *** 2.155 2.156 -* Renamed theories: 2.157 - 2.158 - Datatype.thy -> Datatype_ZF.thy 2.159 - Inductive.thy -> Inductive_ZF.thy 2.160 - Int.thy -> Int_ZF.thy 2.161 - IntDiv.thy -> IntDiv_ZF.thy 2.162 - Nat.thy -> Nat_ZF.thy 2.163 - List.thy -> List_ZF.thy 2.164 - Main.thy -> Main_ZF.thy 2.165 - 2.166 - This is to allow to load both ZF and HOL in the same session. 2.167 - 2.168 - INCOMPATIBILITY: ZF theories that import individual theories below 2.169 - Main might need to be adapted. For compatibility, a new 2.170 - "theory Main imports Main_ZF begin end" is provided, so if you just 2.171 - imported "Main", no changes are needed. 2.172 +* Renamed some theories to allow to loading both ZF and HOL in the 2.173 +same session: 2.174 + 2.175 + Datatype -> Datatype_ZF 2.176 + Inductive -> Inductive_ZF 2.177 + Int -> Int_ZF 2.178 + IntDiv -> IntDiv_ZF 2.179 + Nat -> Nat_ZF 2.180 + List -> List_ZF 2.181 + Main -> Main_ZF 2.182 + 2.183 +INCOMPATIBILITY: ZF theories that import individual theories below 2.184 +Main might need to be adapted. Regular theory Main is still 2.185 +available, as trivial extension of Main_ZF. 2.186 2.187 2.188 *** ML *** 2.189 @@ -278,9 +279,9 @@ 2.190 management only; user-code should use print_mode_value, 2.191 print_mode_active, PrintMode.setmp etc. INCOMPATIBILITY. 2.192 2.193 -* system/system_out provides a robust way to invoke external shell 2.194 -commands, with propagation of interrupts (after Poly/ML 5.2). Do not 2.195 -use OS.Process.system etc. directly. 2.196 +* Functions system/system_out provide a robust way to invoke external 2.197 +shell commands, with propagation of interrupts (after Poly/ML 5.2). 2.198 +Do not use OS.Process.system etc. from the basis library! 2.199 2.200 2.201 *** System ***