[isabelle-dev] Library/List_Prefix
Christian Sternagel
c-sterna at jaist.ac.jp
Mon Sep 3 00:14:43 CEST 2012
No. not yet. - chris
On 09/03/2012 01:26 AM, Christian Urban wrote:
>
> Hi Christian,
>
> Did this already get into the Distribution and AFP?
>
> Christian
>
> On Thursday, August 30, 2012 at 16:19:08 (+0900), Christian Sternagel wrote:
> > Sorry! I forgot to commit my last change (and sorry for the many typos
> > in my last email). - chris
> >
> > On 08/30/2012 03:36 PM, Christian Sternagel wrote:
> > > Dear developers,
> > >
> > > since consolidations where encouraged, please find attached my latest
> > > attempt (the consolidation lies in the fact that Sublist_Order (from the
> > > Library), Well_Quasi_Orders (from the AFP), and Myhill_Nerode (from the
> > > AFP) are now all based on Sublist instead of cooking there separate but
> > > equivalent list relations):
> > >
> > > I renamed List_Prefix into Sublist, which no contains definitions and
> > > facts about prefixes, suffixes, embedding, and sublists (the special
> > > case of embedding where we may just drop elements).
> > >
> > >
> > > On 04/26/2012 12:45 PM, Christian Sternagel wrote:
> > >> Library/Sublist_Order contains another copy (less_eq_list) of (a
> > >> restricted variant of) embedding on lists.
> > > Thus is no based on the sublist relation "sub" from Sublist.
> > >
> > >>> How about replacing List_Prefix by a theory Sublist and populating it
> > >>> with facts about prefixes, suffixes (or postfixes, whichever is
> > >>> preferred) .oO(I just noticed that my spell-checker knows "suffix" but
> > >>> it doesn't know "postfix" ;)) and sublists (i.e., embedded lists). The
> > >>> latter are used in at least two different AFP entries.
> > > This is exactly what I did. The current naming scheme is
> > >
> > > prefixeq/prefix
> > > suffixeq/suffix
> > > emb
> > > sub
> > >
> > > in contrast to the previous
> > >
> > > prefix/strict_prefix
> > > postfix
> > >
> > > However, I have no strong opinion about those names.
> > >
> > >>> Two other issues with List_Prefix:
> > >>>
> > >>> 1) It defines the syntax >>= for suffixes (which I would prefer for
> > >>> monadic bind). Moreover, prefixes do not use <<= and hence it is not
> > >>> symmetric anyway.
> > > I dropped the syntax. By the way, also the argument order changed, what
> > > was "xs >>= ys" (or "postfix xs ys") is now "suffixeq ys xs",
> > > facilitating the reading that "ys is a suffix of xs".
> > >
> > >>> 2) It gives the prefix relation as an instance of "order". But there are
> > >>> many different orders on lists (e.g., prefix, suffix, embedding, length,
> > >>> ...). Could this be changed to merely have a locale interpretation.
> > > Sublist only contains the locale interpretation prefix_order for the
> > > order locale. I also added theory Prefix_Order merely containing an
> > > order class instance (+ some accompanying lemmas that are apparently
> > > needed by the tactics of Codatatype).
> > >
> > >>> Concerning syntax: could this be localized to List_Prefix (aehh... I
> > >>> mean Sublist ;)) by introducing \<le> and \<ge> in a context block? Then
> > >>> we have the convenient syntax inside the whole theory. But afterwards
> > >>> \<le> and \<ge> is still available for users and they can define
> > >>> whatever syntax they like for the relations on lists.
> > > Currently no special syntax for prefixeq/prefix and suffixeq/suffix is
> > > used at all.
> > >
> > > I tested the attached hg bundles against the main repo with
> > >
> > > isabelle build -a -o browser_info -o document=pdf -o document_graph
> > >
> > > and against the AFP with
> > >
> > > isabelle build -d . -g AFP
> > >
> > > I could however not test JinjaThreads, since even with poly 5.5.0, 4
> > > cores and 8GB RAM my computer flat-lined a few minutes after 'isabelle
> > > build -d . -b JinjaThreads' with ISABELLE_BUILD_OPTIONS="threads=4
> > > parallel_proofs=2". It would be much appreciated if somebody with access
> > > to a more powerful computer could adapt JinjaThreads.
> > >
> > > cheers
> > >
> > > chris
> > >
> > > PS: one FIXME is to be found in Sublist. I added a (in my opinion) very
> > > convenient definition transp_on (to characterize predicates that are
> > > transitive on a given set). More such definitions can be found in
> > > Restricted_Predicates from my AFP entry Well_Quasi_Orders. I would say,
> > > the correct place to put them is as part of the Isabelle distribution...
> > > maybe a theory Predicate (alas, such a theory already exists but is
> > > concerned with completely different things, as far as I could see).
> > >
> > >
> > > _______________________________________________
> > > isabelle-dev mailing list
> > > isabelle-dev at in.tum.de
> > > https://mailmanbroy.informatik.tu-muenchen.de/mailman/listinfo/isabelle-dev
> > >
> >
> >
> > xuntyped binary data, sublist.hgbund [Press RETURN to save to a file]
> > _______________________________________________
> > 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