[isabelle-dev] typedef (open) legacy
Christian Urban
christian.urban at kcl.ac.uk
Thu Oct 4 19:10:35 CEST 2012
Thanks a lot for all replies!
Christian
On Thursday, October 4, 2012 at 14:17:48 (+0200), Makarius wrote:
> On Thu, 4 Oct 2012, Christian Urban wrote:
>
> > "Closed" type definitions with
> >
> > typedef new_type = "some set"
> >
> > are considered legacy. The warning message suggests
> > to use
> >
> > typedef (open) new_type = "some set"
> >
> > but as far as I can see, this does not introduce a definition for the
> > set underlying the type. For example the theorem
> >
> > new_type_def
> >
> > is not generated with open.
> >
> > I have a number of lemmas that are of the form
> >
> > f \<in> new_type ==> something
> >
> > which require new_type_def. What is the received
> > wisdom to update those proofs?
> >
> > I see that FinFun.thy goes around the problem
> > above by giving an explicit definition for the
> > set as in
> >
> > definition new_type_set = something
> >
> > typedef (open) new_type = new_type_set
> >
> > Is this how it should be done nowadays? Looks to me more verbose than an
> > improvement.
>
> The latter "verbose" version is the canonical way to upgrade old theories,
> without changing their structure. If a bit more work is invested, in most
> cases the very need for the new_type_set definition can be eliminated in
> the concrete application, and then everything becomes simpler than before.
>
> Historically, Larry introduced a certain "Gordon HOL typedef imitation
> scheme" for Isabelle/HOL, which I imitated faithfully in the first version
> of the typedef package, to generate exactly the same axiomatization with
> the auxiliary new_type_set. Several years later, Brian Huffman pointed
> out first that this is redundant in many situations. Some more years
> later, I joined Brian in this observation --- after looking critically
> through the existing library of theories and packages.
>
> So today, the form with the extra definition is mostly irrelevant, but we
> were a bit slow to remove the last remains of it from the typedef packages
> (and some add-ons of it in HOLCF). It might be time now to do the purge
> before the next release ...
>
>
> Makarius
> _______________________________________________
> isabelle-dev mailing list
> isabelle-dev at in.tum.de
> https://mailmanbroy.informatik.tu-muenchen.de/mailman/listinfo/isabelle-dev
--
More information about the isabelle-dev
mailing list