[isabelle-dev] Abbreviations and find_theorems

Makarius makarius at sketis.net
Fri Nov 21 23:56:55 CET 2014

On Sat, 15 Nov 2014, Gerwin Klein wrote:

> I agree that it would be nice to support that, esp since find_theorems 
> is supposed to help beginners find things.
> Applying underscores will have unwanted side effects for other terms, 
> esp constants, though, so one would have to be careful to apply this to 
> abbreviations only. AFAIR this is the reason nobody has done it yet.

The behaviour of find_theorems in this respect stems from 
Pattern.matches_subterm. In 1998 that was introduced for the Simplifier 
(6328d427a339), but Stefan Berghofer changed that in his great reform from 
2000 (5b33e732e459).

So the only use of it is now find_theorems.ML, which means it defines its 
intended meaning.  You could adapt it accordingly, to find abstractions in 
beta-applied form etc.

If Pattern.matches_subterm changes semantically, the usual way is to 
change its name as well.  It could also move to find_theorems.ML.

Independently of that, current 30b8a5825a9c already moves various add-ons 
to pattern.ML and unify.ML to a place where they are outside of modules 
that are relevant to the inference kernel.  (In the past there were 
occasional confusions about what is actually critical code and what not.)


                   http://stop-ttip.org  927,552 people so far

More information about the isabelle-dev mailing list