>> So are there any experience reports that the combinatorial explosion in
>> pattern matching in fun/function had to be worked around somehow?  Or do
>> we have to conclude that the pattern complexity of the applications in
>> src/HOL/Decision_Procs is indeed domain-specific?
> I have some experience with the combinatorial explosion in fun. You
> don't need much: just take extended regular expressions (~10
> constructors) and define binary normalizing constructors (by some
> sequential pattern matching on both arguments). The AFP entry
> MSO_Regex_Equivalence is full of ~30 sec fun declarations.
> 
> While this is still on the edge of being bearable, try to add one more
> constructor... (I've seen examples where fun from 10 lines of
> specification produced something like 10^5 simp equations.) In a
> different formalization (AFP entry Formula_Derivatives) where I needed
> to have more then 10 constructors, I had to work around the function
> package by separating the datatype into two and defining the functions
> separately. (In the end, the separation had also positive effects, but
> still it felt like fighting the system when doing it.)

OK, the dragons are still there and not just a historic relic.

> Note that the domain is quite similar to Cooper---syntactic
> manipulations of expressions/formulas---but isn't it what we do quite
> often in Isabelle? Orthogonally, I have no idea, whether recdef would
> have helped me.

I would definitely not suggest to use recdef for any new application…
the open question is whether we have to think about a refinement or
extension of function.

        Florian

-- 

PGP available:
http://home.informatik.tu-muenchen.de/haftmann/pgp/florian_haftmann_at_informatik_tu_muenchen_de

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
isabelle-dev mailing list
isabelle-...@in.tum.de
https://mailmanbroy.informatik.tu-muenchen.de/mailman/listinfo/isabelle-dev

Reply via email to