[isabelle-dev] partial_function
Christian Sternagel
c.sternagel at gmail.com
Tue Aug 6 09:38:17 CEST 2013
(Almost) everything back. I merely stumbled across a known issue (which
in hindsight I vaguely remember, but I did not find the corresponding
thread).
First I had to increase unify_search_bound (otherwise I obtained an
error as described in my previous email). What I did *not* notice
however, was the following message at the end of a very long trace (in
jEdit):
Tracing paused. Stop, or continue with next 100, 1000, 10000 messages?
So, actually jEdit was just waiting for my input and not computing for
hours (as I thought; I should have observed that from the missing scream
of my laptops fan).
By setting "unify_trace_bound" to the same value for which
"unify_search_bound" succeeded, everything was fine again.
Sorry for the false alarm.
cheers
chris
On 08/06/2013 02:40 PM, Christian Sternagel wrote:
> Dear all,
>
> I'm currently checking IsaFoR [1] against the repository versions of
> Isabelle (8d8cb75ab20a) and the AFP (05436df687d1). Doing so, I stumbled
> across a "partial_function" definition that worked with Isabelle2013 but
> aborts now with a "Unification bound exceeded".
>
> Is anybody aware of changes in "partial_function" or unification (or
> somewhere I didn't think of) that could explain this?
>
> The general shape of the function (which is employed to parse XML into
> an internal datatype) is:
>
> partial_function (parse_result)
> ...
> where
> "parser x y = xml1element ''tag name'' (xml_options [
> (''tag name 1'', parser_1),
> (''tag name 2'', parser_2,
> ...
> (''tag name N'', parser_N)
> ]) ..."
>
> where some of the "parser_i" use "parser" recursively. Currently we have
> around 20 parsers in the above list and the error disappears if I reduce
> that to 14 (with "unify_search_bound = 90").
>
> If anybody has the energy to look at the real code ;) see [2], theory
> CPF_Parser.thy, partial function "xml2dp_termination_proof". You will
> also have to apply a patch from my local patch queue (which is
> attached), since the "official" repository is for Isabelle2013.
>
> cheers
>
> chris
>
> [1] http://cl-informatik.uibk.ac.at/software/ceta/
> [2] http://cl2-informatik.uibk.ac.at/rewriting/mercurial.cgi/IsaFoR
More information about the isabelle-dev
mailing list