[isabelle-dev] Library/List_Prefix

Christian Urban christian.urban at kcl.ac.uk
Sun Sep 2 18:26:59 CEST 2012


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