167 sels ~> sel |
167 sels ~> sel |
168 set_map' ~> set_map |
168 set_map' ~> set_map |
169 sets ~> set |
169 sets ~> set |
170 IMCOMPATIBILITY. |
170 IMCOMPATIBILITY. |
171 |
171 |
|
172 * Lifting: |
|
173 - parametrized correspondence relations are now supported: |
|
174 + parametricity theorems for the raw term can be specified in |
|
175 the command lift_definition, which allow us to generate stronger |
|
176 transfer rules |
|
177 + setup_lifting generates stronger transfer rules if parametric |
|
178 correspondence relation can be generated |
|
179 + various new properties of the relator must be specified to support |
|
180 parametricity |
|
181 + parametricity theorem for the Quotient relation can be specified |
|
182 - setup_lifting generates domain rules for the Transfer package |
|
183 - stronger reflexivity prover of respectfulness theorems for type |
|
184 copies |
|
185 - ===> and --> are now local. The symbols can be introduced |
|
186 by interpreting the locale lifting_syntax (typically in an |
|
187 anonymous context) |
|
188 - Lifting/Transfer relevant parts of Library/Quotient_* are now in |
|
189 Main. Potential INCOMPATIBILITY |
|
190 - new commands for restoring and deleting Lifting/Transfer context: |
|
191 lifting_forget, lifting_update |
|
192 - the command print_quotmaps was renamed to print_quot_maps. |
|
193 INCOMPATIBILITY |
|
194 |
|
195 * Transfer: |
|
196 - better support for domains in Transfer: replace Domainp T |
|
197 by the actual invariant in a transferred goal |
|
198 - transfer rules can have as assumptions other transfer rules |
|
199 - Experimental support for transferring from the raw level to the |
|
200 abstract level: Transfer.transferred attribute |
|
201 - Attribute version of the transfer method: untransferred attribute |
|
202 |
|
203 |
172 * Function package: For mutually recursive functions f and g, separate |
204 * Function package: For mutually recursive functions f and g, separate |
173 cases rules f.cases and g.cases are generated instead of unusable |
205 cases rules f.cases and g.cases are generated instead of unusable |
174 f_g.cases which exposed internal sum types. Potential INCOMPATIBILITY, |
206 f_g.cases which exposed internal sum types. Potential INCOMPATIBILITY, |
175 in the case that the unusable rule was used nevertheless. |
207 in the case that the unusable rule was used nevertheless. |
176 |
208 |
191 - Fact renames: |
223 - Fact renames: |
192 poly_eq_iff ~> poly_eq_poly_eq_iff |
224 poly_eq_iff ~> poly_eq_poly_eq_iff |
193 poly_ext ~> poly_eqI |
225 poly_ext ~> poly_eqI |
194 expand_poly_eq ~> poly_eq_iff |
226 expand_poly_eq ~> poly_eq_iff |
195 IMCOMPATIBILITY. |
227 IMCOMPATIBILITY. |
|
228 |
|
229 * New Library/FSet.thy: type of finite sets defined as a subtype of |
|
230 sets defined by Lifting/Transfer |
196 |
231 |
197 * Reification and reflection: |
232 * Reification and reflection: |
198 - Reification is now directly available in HOL-Main in structure |
233 - Reification is now directly available in HOL-Main in structure |
199 "Reification". |
234 "Reification". |
200 - Reflection now handles multiple lists with variables also. |
235 - Reflection now handles multiple lists with variables also. |