Thomas Sewell <tsewell@nicta.com.au> [Fri, 25 Sep 2009 19:04:18 +1000] rev 32754
Avoid record-inner constants in polymorphic definitions in Bali
The Bali package needs to insert a record extension into a type
class and define an associated polymorphic constant. There is no
elegant way to do this.
The existing approach was to insert every record extension into
the type class, defining the polymorphic constant at each layer
using inner operations created by the record package. Some of
those operations have been removed. They can be replaced by use
of record_name.extend if necessary, but we can also sidestep
this altogether.
The simpler approach here is to use defs(overloaded) once to
provide a single definition for the composition of all the type
constructors, which seems to be permitted. This gets us exactly
the fact we need, with the cost that some types that were
admitted to the type class have no definition for the constant
at all.
Thomas Sewell <tsewell@nicta.com.au> [Thu, 24 Sep 2009 11:33:05 +1000] rev 32753
Merge with changes from isabelle dev repository.
tsewell@rubicon.NSW.bigpond.net.au [Wed, 23 Sep 2009 19:17:48 +1000] rev 32752
Initial response to feedback from Norbert, Makarius on record patch
As Norbert recommended, the IsTuple.thy and istuple_support.ML files
have been integrated into Record.thy and record.ML. I haven't merged
the structures - record.ML now contains Record and IsTupleSupport.
Some of the cosmetic changes Makarius requested have been made,
including renaming variables with camel-case and run-together names
and removing the tab character from the Author: line. Constants are
defined with definition rather than constdefs. The split_ex_prf
inner function has been cleaned up.
Thomas Sewell <tsewell@nicta.com.au> [Tue, 22 Sep 2009 13:52:19 +1000] rev 32751
Branch merge for isabelle mainline updates.
Thomas Sewell <tsewell@nicta.com.au> [Thu, 17 Sep 2009 14:17:37 +1000] rev 32750
Branch merge with updates from mainline isabelle.
Thomas Sewell <tsewell@nicta.com.au> [Fri, 11 Sep 2009 20:58:29 +1000] rev 32749
Implement previous fix (don't duplicate ext_def) correctly.
Thomas Sewell <tsewell@nicta.com.au> [Fri, 11 Sep 2009 18:03:30 +1000] rev 32748
There's no particular reason to duplicate the extension
constant's definition under the name "ext_def", and it
also prevents you having a field called ext.
Thomas Sewell <tsewell@nicta.com.au> [Fri, 11 Sep 2009 15:57:16 +1000] rev 32747
Merged with mainline changes.
Thomas Sewell <tsewell@nicta.com.au> [Fri, 11 Sep 2009 15:56:51 +1000] rev 32746
Adjust some documentation.
Thomas Sewell <tsewell@nicta.com.au> [Thu, 10 Sep 2009 16:38:18 +1000] rev 32745
Simplification of various aspects of the IsTuple component
of the new record package. Extensive documentation added in
IsTuple.thy - it should now be possible to figure out what's
going on from the sources supplied.
Thomas Sewell <tsewell@nicta.com.au> [Thu, 10 Sep 2009 15:18:43 +1000] rev 32744
Record patch imported and working.
tsewell@rubicon.NSW.bigpond.net.au [Thu, 27 Aug 2009 00:40:53 +1000] rev 32743
Initial attempt at porting record update to repository Isabelle.
wenzelm [Tue, 29 Sep 2009 16:42:29 +0200] rev 32742
Synchronized and Unsynchronized;
wenzelm [Tue, 29 Sep 2009 16:42:02 +0200] rev 32741
hide "ref" by default, to enforce excplicit indication as Unsynchronized;
wenzelm [Tue, 29 Sep 2009 16:24:36 +0200] rev 32740
explicit indication of Unsynchronized.ref;
wenzelm [Tue, 29 Sep 2009 14:59:24 +0200] rev 32739
open_unsynchronized for interactive Isar loop;
wenzelm [Tue, 29 Sep 2009 11:49:22 +0200] rev 32738
explicit indication of Unsynchronized.ref;
wenzelm [Tue, 29 Sep 2009 11:48:32 +0200] rev 32737
Raw ML references as unsynchronized state variables.
wenzelm [Mon, 28 Sep 2009 23:51:13 +0200] rev 32736
Dummy version of state variables -- plain refs for sequential access.
wenzelm [Mon, 28 Sep 2009 23:19:50 +0200] rev 32735
reactivated at-sml-dev-e;
wenzelm [Mon, 28 Sep 2009 23:13:37 +0200] rev 32734
misc tuning and modernization;
wenzelm [Mon, 28 Sep 2009 22:47:34 +0200] rev 32733
moved generic cong_tac from HOL/Tools/datatype_aux.ML to Tools/cong_tac.ML, proper subgoal selection (failure, not exception);
wenzelm [Mon, 28 Sep 2009 21:35:57 +0200] rev 32732
merged
haftmann [Mon, 28 Sep 2009 15:25:43 +0200] rev 32731
less auxiliary functions
haftmann [Mon, 28 Sep 2009 14:54:15 +0200] rev 32730
tuned
haftmann [Mon, 28 Sep 2009 14:48:30 +0200] rev 32729
shared code between rep_datatype and datatype
haftmann [Mon, 28 Sep 2009 10:51:12 +0200] rev 32728
further unification of datatype and rep_datatype
haftmann [Mon, 28 Sep 2009 10:20:21 +0200] rev 32727
avoid compound fields in datatype info record
wenzelm [Mon, 28 Sep 2009 20:52:05 +0200] rev 32726
fold_body_thms: pass pthm identifier;
fold_body_thms: dismiss path-etic attempt to check for cycles (cf. e24acd21e60e) -- could be masked by "seen";
fulfill_proof/thm_proof: check for thm cycles at the substitution point;
wenzelm [Mon, 28 Sep 2009 12:09:55 +0200] rev 32725
tuned internal source structure;
wenzelm [Mon, 28 Sep 2009 12:09:18 +0200] rev 32724
added fork_deps_pri;
haftmann [Mon, 28 Sep 2009 09:47:32 +0200] rev 32723
merged
haftmann [Mon, 28 Sep 2009 09:47:18 +0200] rev 32722
explicit pointless checkpoint
haftmann [Sun, 27 Sep 2009 20:58:25 +0200] rev 32721
emerging common infrastructure for datatype and rep_datatype
haftmann [Sun, 27 Sep 2009 20:43:47 +0200] rev 32720
streamlined rep_datatype further
haftmann [Sun, 27 Sep 2009 20:34:50 +0200] rev 32719
simplified rep_datatype
haftmann [Sun, 27 Sep 2009 20:19:56 +0200] rev 32718
more appropriate order of field in dt_info
haftmann [Sun, 27 Sep 2009 20:15:45 +0200] rev 32717
re-established reasonable inner outline for module
wenzelm [Sun, 27 Sep 2009 22:25:13 +0200] rev 32716
merged
haftmann [Sun, 27 Sep 2009 19:58:24 +0200] rev 32715
adjusted to changes in datatype package
haftmann [Sun, 27 Sep 2009 10:05:17 +0200] rev 32714
merged
haftmann [Sun, 27 Sep 2009 09:52:25 +0200] rev 32713
dropped dead code
haftmann [Sun, 27 Sep 2009 09:52:23 +0200] rev 32712
registering split rules and projected induction rules; ML identifiers more close to Isar theorem names
wenzelm [Sun, 27 Sep 2009 21:08:13 +0200] rev 32711
fold_body_thms/join_bodies: explicitly check for cyclic theorem references;
wenzelm [Sun, 27 Sep 2009 21:06:43 +0200] rev 32710
tuned;
wenzelm [Sun, 27 Sep 2009 19:39:40 +0200] rev 32709
reachable: recovered reverse post-order (lost in 73ad4884441f), which is expected for all_preds/all_succs and required for topological_order;
paulson [Fri, 25 Sep 2009 13:48:27 +0100] rev 32708
merged
paulson [Fri, 25 Sep 2009 13:47:28 +0100] rev 32707
New lemmas involving the real numbers, especially limits and series
haftmann [Fri, 25 Sep 2009 10:20:03 +0200] rev 32706
NEWS; corrected spelling
haftmann [Fri, 25 Sep 2009 09:50:31 +0200] rev 32705
merged
haftmann [Wed, 23 Sep 2009 16:32:53 +0200] rev 32704
simplified proof
haftmann [Wed, 23 Sep 2009 16:32:53 +0200] rev 32703
removed potentially dangerous rules from pred_set_conv
haftmann [Wed, 23 Sep 2009 16:32:53 +0200] rev 32702
explicitly hide empty, inter, union
haftmann [Wed, 23 Sep 2009 14:00:43 +0200] rev 32701
merged
haftmann [Wed, 23 Sep 2009 11:34:21 +0200] rev 32700
merged
haftmann [Wed, 23 Sep 2009 08:26:12 +0200] rev 32699
merged