[isabelle-dev] NEWS: restricted name space accesses

Makarius makarius at sketis.net
Thu Apr 9 21:38:23 CEST 2015


* Local theory specification commands may have a 'private' or 'qualified' 
modifier to restrict name space accesses to the local scope, as provided 
by some "context begin ... end" block.  For example:

   context
   begin

   private definition ...
   private lemma ...

   qualified definition ...
   qualified lemma ...

   lemma ...
   theorem ...

   end


This refers to Isabelle/a81dc82ecba3, and supersedes the NEWS announcement 
about "limited name space accesses", see 
https://mailmanbroy.informatik.tu-muenchen.de/pipermail/isabelle-dev/2015-April/005974.html

The examples above merely use the very simple specification mechanisms of 
'definition' and 'theorem', but of course it should work with any other 
definitional package, as long as it conforms to usual local_theory 
disciplines.  (A known exception is 'datatype' due to its use of 
Local_Theory.restore in the middle, but this won't change for this 
release.)


When updating old theories to eliminate "hide" or "hide (open)", one needs 
to keep in mind that the above qualification affects all names, e.g. for 
'definition' both the defined const and its defining fact.

There is no particularly need to update anything right now.  Starting the 
release process has priority over fine-tuning of existing theories.


 	Makarius




More information about the isabelle-dev mailing list