doc-src/Ref/theories.tex
changeset 1497 41a1b0426b2e
parent 1453 a4896058a47e
child 1520 5fee0fef5019
equal deleted inserted replaced
1496:c443b2adaf52 1497:41a1b0426b2e
   482 cd FOL
   482 cd FOL
   483 setenv MAKE_HTML
   483 setenv MAKE_HTML
   484 make
   484 make
   485 \end{ttbox}
   485 \end{ttbox}
   486 
   486 
   487 When using ML databases made this way to load additional theories or
   487 The databases made this way do not differ from the ones made with an
   488 derive other databases from them, you have to be aware that HTML
   488 unset {\tt MAKE_HTML}; in particular no HTML files are written if the
   489 generation remains activated. Also be especially careful when making
   489 database is used to manually load a theory.
       
   490 
       
   491 As you will see below, the HTML generation is controlled by a boolean
       
   492 reference variable. If you want to make databases which define this
       
   493 variable's value as {\tt true} and where therefore HTML files are
       
   494 written each time {\tt use_thy} is invoked, you have to set {\tt
       
   495 MAKE_HTML} to ``{\tt true}'':
       
   496 
       
   497 \begin{ttbox}
       
   498 cd FOL
       
   499 setenv MAKE_HTML true
       
   500 make
       
   501 \end{ttbox}
       
   502 
       
   503 All theories loaded from within the {\tt FOL} database and all
       
   504 databases derived from it will now cause HTML files to be written.
       
   505 This behaviour can be changed by assigning a value of {\tt false} to
       
   506 the boolean reference variable {\tt make_html}. Be careful when making
   490 such databases publicly available since it means that your users might
   507 such databases publicly available since it means that your users might
   491 get into trouble that they don't expect, like IO exceptions caused by
   508 get into trouble that they don't expect, like IO exceptions caused by
   492 insufficient write access.
   509 insufficient write access.
   493 
       
   494 The reason is that the boolean reference variable {\tt make_html} (see
       
   495 below) is set. Therefore HTML files are generated unless you assign a
       
   496 value of {\tt false} to {\tt make_html}.
       
   497 
       
   498 This is not influenced by the environment variable {\tt MAKE_HTML},
       
   499 because the only place where it is used is in the makefile where it
       
   500 determines the initial value of {\tt make_html} for a newly made
       
   501 database.
       
   502 
   510 
   503 As some of Isabelle's logics are based on others (e.g. {\tt ZF} on
   511 As some of Isabelle's logics are based on others (e.g. {\tt ZF} on
   504 {\tt FOL}) and because the HTML files list a theory's ancestors, you
   512 {\tt FOL}) and because the HTML files list a theory's ancestors, you
   505 should not make HTML files for a logic if the HTML files for the base
   513 should not make HTML files for a logic if the HTML files for the base
   506 logic do not exist. Otherwise some of the hypertext links might point
   514 logic do not exist. Otherwise some of the hypertext links might point
   544 file with information about the theories read since the last use of
   552 file with information about the theories read since the last use of
   545 {\tt init_html} and makes the {\tt index.html} file. If {\tt
   553 {\tt init_html} and makes the {\tt index.html} file. If {\tt
   546 make_html} is {\tt false} nothing is done.
   554 make_html} is {\tt false} nothing is done.
   547 
   555 
   548 The indexes made by this function also contain a link to the {\tt
   556 The indexes made by this function also contain a link to the {\tt
   549 README} file if there exists one in the directory were the index is
   557 README} file if there exists one in the directory where the index is
   550 stored. If there's a {\tt README.html} file it is used instead of
   558 stored. If there's a {\tt README.html} file it is used instead of
   551 {\tt README}.
   559 {\tt README}.
   552 
   560 
   553 \end{ttdescription}
   561 \end{ttdescription}
   554 
   562 
   555 The above functions could be used in the following way:
   563 The above functions could be used in the following way:
   556 
   564 
   557 \begin{ttbox}
   565 \begin{ttbox}
   558 init_html();
   566 init_html();
   559 {\out Setting path for index.html to "/home/stud/clasohm/isabelle/HOL"}
   567 {\out Setting path for index.html to "/home/clasohm/isabelle/HOL"}
   560 use_thy "List";
   568 use_thy "List";
   561 \dots
   569 \dots
   562 finish_html();
   570 finish_html();
   563 \end{ttbox}
   571 \end{ttbox}
   564 
   572