0

I import Nominal2 into my main theory file and in Isabelle/jEdit I can use atom_decl so it works. In ROOT I tried various attempts to specify Nominal2, like

session "techreport" = "HOL" + 
   options [document = pdf, document_output = "output"] 
   theories [document = false] 
     Nominal2 
   theories 
     IsarIntroduction 
   files "document/root.tex" 

but I get bad input or No such file: "Nominal2.thy". I tried to specify a relative path from the dir of IsarIntroduction, and also from the dir of root.tex, in vain.

How can I specify the path for the Nominal2 theory?

update: I use a purposely built Nominal2 image for Isabelle/JEdit

chris
  • 4,988
  • 20
  • 36
Gergely
  • 6,879
  • 6
  • 25
  • 35

2 Answers2

1

You should also be able to build on the session (image) Nominal2 like you do in Isabelle/jEdit. For instance:

session "techreport" = "Nominal2" + 
   options [document = pdf, document_output = "output"] 
   theories 
     IsarIntroduction 
   files "document/root.tex" 
chris
  • 4,988
  • 20
  • 36
lsf37
  • 535
  • 2
  • 7
0

Some fiddling led me to the solution.

The No such file: "Nominal2.thy" message came from the isabelle build process which does not see the pre-built image with Nominal2 that Isabelle/jEdit uses. So giving the full path of Nominal2 in the main theory file IsarIntroduction.thy and also in the ROOT file solved the problem.

There was one caveat though: I got a more than two hundred pages long document that included all the development of Infinite_Set.thy. The log contained

Loading theory "Infinite_Set" (required by "IsarIntroduction" 
via "Nominal2" via "Nominal2_Base")

So I had to include

theories [document = false]
  "Nominal2-Isabelle2013-1/Nominal/Nominal2"
  "~~/src/HOL/Library/Infinite_Set"

in ROOT to prevent this to happen.

chris
  • 4,988
  • 20
  • 36
Gergely
  • 6,879
  • 6
  • 25
  • 35
  • 1
    Just to clarify. Your solution is fine, but the reason for your troubles isn't that `isabelle build` doesn't see the `Nominal2` heap image as you state. In your `ROOT` file you never tried to load this image instead you indicate that the file `Nominal2.thy` (where the extension is implicit) should be loaded and for that you need the path. `isabelle build` sees pre-built images just fine, but you would have to incorporate them like lsf37 suggested. – chris Aug 06 '14 at 08:39