[isabelle-dev] Two problems

Makarius makarius at sketis.net
Sat Dec 8 14:18:43 CET 2012


On Mon, 3 Dec 2012, Lawrence Paulson wrote:

> Surely the existence of two theories of the same name can be detected?

The deeper problem here is that theories still have the ancient flat name 
space.  So the file-system paths in the source are ultimately stripped to 
the base name when doing comparisons.


We are still moving (extremely slowly) towards fully-qualified theory 
names of the form SESSION.THEORY, e.g. "HOL.Main", "HOLCF.HOLCF" with some 
ways to omit the prefix within the same session, say.

The isabelle build reform from this summer already introduces an authentic 
name space for (unqualified) session names.

Here are some of the remaining obstacles to prefix session names to theory 
names:

   * Too many ways to manage theory dependencies.  There are old and new
     theory loader variants and combinations: isabelle tty, build, emacs,
     jedit all do it slightly differently.  Ultimately, I would like to see
     just one way in Isabelle/Scala, and even Proof General would use that
     without taking notice.

   * Proof tools that assume that the long names for formal entities look
     like this:

       THEORY.NAME
       THEORY.LOCALE.NAME

     Larry himself introduced this assumption some years ago, but it was
     not there in 1998 when I introduced the name space concept in
     Isabelle.  ML tools should not guess at the layout of full names.
     This is an abstract datatype that happens to be implemented as
     "string" for historical reasons.


 	Makarius



More information about the isabelle-dev mailing list