(cvs removed)
authorhaftmann
Mon, 06 Jun 2005 14:14:27 +0200
changeset 16302 322e2a3335d4
parent 16301 f9f2e1643593
child 16303 fee0a02f61bb
(cvs removed)
Admin/page/Contents
Admin/page/DISTNAME
Admin/page/HOWTO
Admin/page/Makefile
Admin/page/bin/genpage
Admin/page/bin/mkcontents
Admin/page/common/functions.pl
Admin/page/dist-content/docs.content
Admin/page/dist-content/favicon.ico
Admin/page/dist-content/index.content
Admin/page/dist-content/isabelle_macos_screenshot.jpg
Admin/page/dist-content/notes_macos_darwin.content
Admin/page/dist-content/notes_win_cygwin.content
Admin/page/dist-content/packages.content
Admin/page/dist-content/past.content
Admin/page/dist-layout/navigation.html
Admin/page/dist-layout/template.html
Admin/page/main-content/PG-preview.pdf
Admin/page/main-content/cambridge.gif
Admin/page/main-content/docs.content
Admin/page/main-content/faq.content
Admin/page/main-content/favicon.ico
Admin/page/main-content/index.content
Admin/page/main-content/isabelle-lemmas.gif
Admin/page/main-content/logics.content
Admin/page/main-content/munich.gif
Admin/page/main-content/overview.content
Admin/page/main-layout/navigation.html
Admin/page/main-layout/template.html
--- a/Admin/page/Contents	Mon Jun 06 14:12:07 2005 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,18 +0,0 @@
-Learning Isabelle
-  tutorial      Tutorial on Isabelle/HOL
-  isar-overview Tutorial on Isar
-  locales       Tutorial on Locales
-
-Reference Manuals
-  isar-ref      The Isabelle/Isar Reference Manual
-  ref           The Isabelle Reference Manual
-  system        The Isabelle System Manual
-
-Logics
-  logics        Isabelle's Logics: overview and misc logics
-  logics-HOL    Isabelle's Logics: HOL
-  logics-ZF     Isabelle's Logics: FOL and ZF
-
-Specific Topics
-  axclass       Tutorial on Axiomatic Type Classes
-  ind-defs      (Co)Inductive Definitions in ZF
--- a/Admin/page/DISTNAME	Mon Jun 06 14:12:07 2005 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-Isabelle2004
--- a/Admin/page/HOWTO	Mon Jun 06 14:12:07 2005 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,63 +0,0 @@
-This file describes how to change and regenerate the Isabelle web pages.
-See the bottom of the file for a short overview of the setup.
-
-== Changes to main ==
-
-To make changes to the content of the main pages:
-
- * Edit or add the appropriate Admin/page/main-content/*.content files
- * Run "make clean main" in Admin/page/
- * Check generated html in Admin/page/main/
- * Check changes in main-content into cvs
- * Run "make pub-main" to publish to the Munich web site
- * Run "mirror-main" in Cambridge to synchronize
-
-
-== Changes to dist ==
-
-These should be rare and are a bit more involved at the moment. The
-principle is the same as for the main pages, but the script needs
-access to the distribution files to calculate sizes etc:
-
- * Edit or add the appropriate Admin/page/dist-content/*.content files
- * Make sure the Isabelle package files are available in directory Admin/page.
-   On sunbroy2, the following does the trick (in directory Admin/page):
-   
-   ln -s /home/html/isabelle/html-data/dist/contrib
-   for f in /home/html/isabelle/html-data/dist/*.tar.gz; do ln -s $f; done
- 
- * Run "make clean dist" in Admin/page/
- * Check generated html in Admin/page/dist/
- * Check changes in dist-content into cvs
- * Run "make pub-dist" to publish to the Munich web site 
-   (will only copy *.html files, will not update other distribution files)
- * Run "mirror-dist" in Cambridge and notify other mirrors to synchronize
-
-
-== Overview ==
-
-The pages are separated into two sets:
- * main, for the main home page in Munich and Cambridge, and 
- * dist, for the current Isabelle distribution more widely mirrored.
-
-Both are generated by a script (genpage) that takes *.content files and
-puts them into a common template.
-
-This is supposed to achieve the following:
- * separation of layout and content
- * automatic consistency between contents of distribution and web
-   page, including name of the distribution, file sizes of download
-   packages, and documentation generated from isabelle/Doc
-
-For this the web page generation script needs access to the following
-support files:
-
-Admin/page/DISTNAME   (name of the distribution, e.g. Isabelle2004)
-Admin/page/Contents   (same as Distribution/doc/Contents at the time 
-                       of the Isabelle release)
-
-Both files are set to the right values automatically by makedist when
-the Isabelle distribution is generated and maintained manually in
-between releases by the release manager in Admin/page in CVS. (In
-between releases Admin/page/Contents can be different from
-Distribution/doc/Contents)
--- a/Admin/page/Makefile	Mon Jun 06 14:12:07 2005 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,99 +0,0 @@
-# -- makefile for Isabelle web pages (dist and main)
-# -- $Id$
-
-# --- force shell
-SHELL=bash
-
-# --- check parameters
-ifeq ($(tidy),)
-    TIDYCMD=:
-else
-    TIDYCMD=tidy -q -i -asxhtml --doctype auto --indent-spaces 2 --wrap 80 \
-                --logical-emphasis yes --gnu-emacs yes --write-back yes
-endif
-
-# --- external tools
-
-GENPAGE   = ./bin/genpage
-MKCONTENT = ./bin/mkcontents
-
-# ---
-# --- genpage stuff 
-
-# --- directories for main isabelle pages
-
-MAIN_CONTENT = main-content
-MAIN_LAYOUT  = main-layout
-MAIN_TARGET  = main
-
-# --- directories for isabelle distribution pages
-
-DIST_CONTENT = dist-content
-DIST_LAYOUT  = dist-layout
-DIST_TARGET  = dist
-
-# --- name of genpage template file
-TEMPLATE_NAME = template.html
-
-# ---
-# --- doc content generation
-
-# --- location of the Contents file of the Isabelle documentation
-DOC_CONTENT_FILE = Contents
-
-# --- target include files with documentation links
-DOC_CONTENTS_MAIN = docu-contents.main
-DOC_CONTENTS_DIST = docu-contents.dist
-
-# --- target directories for publishing to web site
-MAIN_PUB_MIRROR_SRC=sunbroy2.informatik.tu-muenchen.de:/home/proj/isabelle-repository/www/
-MAIN_PUB_DEST=sunbroy2.informatik.tu-muenchen.de:/home/html/isabelle/html-data/
-DIST_PUB_DEST=sunbroy2.informatik.tu-muenchen.de:/home/html/isabelle/html-data/dist/
-
-# ---
-# --- begin rules
-
-all: clean main dist install weblint
-
-main:
-	@$(MKCONTENT) -p dist/`cat DISTNAME`/doc/ $(DOC_CONTENT_FILE) $(DOC_CONTENTS_MAIN)
-	@env DISTNAME=`cat DISTNAME` \
-	  $(GENPAGE) -t $(MAIN_LAYOUT)/$(TEMPLATE_NAME) -c $(MAIN_CONTENT) -o $(MAIN_TARGET)
-	-@cd $(MAIN_TARGET); \
-        for html in *.html; \
-            do $(TIDYCMD) $$html; \
-        done
-
-pub-main: main
-	@echo "Publishing main pages (*.html only)."
-	scp main/*.html $(MAIN_PUB_MIRROR_SRC)
-	scp main/*.html $(MAIN_PUB_DEST)
-
-dist:
-	@$(MKCONTENT) -p `cat DISTNAME`/doc/ $(DOC_CONTENT_FILE) $(DOC_CONTENTS_DIST)
-	@env DISTNAME=`cat DISTNAME` \
-	  $(GENPAGE) -t $(DIST_LAYOUT)/$(TEMPLATE_NAME) -c $(DIST_CONTENT) -o $(DIST_TARGET)
-	-@cd $(MAIN_TARGET); \
-        for html in *.html; \
-            do $(TIDYCMD) $$html; \
-        done
-
-pub-dist: dist
-	@echo "Publishing dist pages (*.html only)."
-	scp dist/*.html $(DIST_PUB_DEST)
-
-install: main dist
-	@cp -R dist/. ..
-	@mkdir -p ../../main-`cat DISTNAME`/.
-	@cp -R main/. ../../main-`cat DISTNAME`/.
-
-weblint:
-	-weblint -x netscape -d extension-attribute -e img-size $(MAIN_TARGET)
-	-weblint -x netscape -d extension-attribute -e img-size $(DIST_TARGET)
-
-clean: 
-	@rm -rf $(MAIN_TARGET)
-	@rm -rf $(DIST_TARGET)
-	@rm -rf $(DOC_CONTENTS_MAIN)
-	@rm -rf $(DOC_CONTENTS_DIST)
-	@find . -name "*~" -type f -print | xargs rm -f
--- a/Admin/page/bin/genpage	Mon Jun 06 14:12:07 2005 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,420 +0,0 @@
-#!/usr/bin/perl -w
-
-# Genpage - Webpage Generator.
-#
-# Copyright (C) Joe Vaughan <joev@freddyfrog.com> 1998-1999
-# Some portions Copyright (C)  Ronan Waide <waider@waider.ie> 1999
-# Some portions Copyright (C)  Rocco Caputo <troc@netrus.net> 1999
-# 
-#   This program is free software; you can redistribute it and/or modify
-#   it under the terms of the GNU General Public License as published by
-#   the Free Software Foundation; either version 2 of the License, or
-#   (at your option) any later version.
-#   
-#   This program is distributed in the hope that it will be useful,
-#   but WITHOUT ANY WARRANTY; without even the implied warranty of
-#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-#   GNU General Public License for more details.
-#   
-#   You should have received a copy of the GNU General Public License
-#   along with this program; if not, write to the Free Software
-#   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-$|=1;
-
-$version = "1.0b3";
-
-# following fix for Mac Perl submitted by Dair Grant <dair@webthing.net>
-# I shoulda thought of this, but I don't have a mac :) Thanks Dair.
-#  
-# dair, construct a path procedurally
-sub build_path
-{
-
-    # Retrieve our parameters
-    #
-    my $thePath = $_[0];
-    my $theItem = $_[1];
-
-
-
-    # If we're running on a Mac, munge the path/item/separator
-    #
-    if ($^O eq "MacOS")
-        {
-        $thePath =~ s/:$//;     # Strip off trailing ':'
-        $theItem =~ s/^:$//;    # Drop theItem == ':'
-        $pathDiv  = ":";        # Use Mac separator
-        }
-    else
-        {
-        $pathDiv = "/";         # Use Unix separator
-        }
-
-
-
-    # Return the path to the item
-    #
-    return($thePath . $pathDiv . $theItem);
-}
-
-
-
-# Some handy variables.
-$numfiles = 0;
-$numcontentfiles = 0;
-$numignoredfiles = 0;
-$numskippedfiles = 0;
-$numcpfiles = 0;
-$numdirfiles =0;
-
-use Getopt::Std;
-use File::Find;
-use File::Copy 'cp';
-
-# Current Working Dir.
-$pwd = `pwd`;
-chomp ($pwd);
-
-getopts('dt:c:o:fqhi:') || die "Invalid args, use $0 -h for help\n";
-
-# $opt_d is debug flag
-# $opt_t is template file. If not set, use standard template.
-# $opt_c is content directory. If not set, use standard content dir.
-# $opt_o is output dir, if not set, use standard output dir.
-# $opt_q sets quiet mode (no stdout output)
-# $opt_f sets a force flag - force generation even if output file is present
-#        and newer.
-# $opt_h runs usage and exits
-    
-# dair, build paths procedurally
-$opt_t ||= build_path("", "layout") . build_path("", "template.html");
-$opt_c ||= build_path("", "content");
-$opt_o ||= build_path("", "www");
-$opt_f ||= 0;
-$opt_d ||= 0;
-$opt_q ||= 0;
-$opt_h ||= 0;
-$opt_i ||= 'CVS|.*,v$';
-
-# dair, build paths procedurally
-$opt_t = build_path($pwd, $opt_t);
-$opt_c = build_path($pwd, $opt_c);
-$opt_o = build_path($pwd, $opt_o);
-
-
-if ($opt_h) { &usage; }
-
-if (!$opt_q) { 
-  print "Genpage, version $version starting run...\n";
-}
-
-if ($opt_d) { print "pwd = $pwd\n"; }
-
-#Swallow template file whole... 
-open( TEMPLATE, "<$opt_t" ) || die "Can\'t open template file $opt_t: $!\n";
-{ 
-local $/;
-undef $/;
-$template = <TEMPLATE>;
-close( TEMPLATE );
-}
-if (!$opt_q) {print "Using template file: $opt_t\n";}
-
-# Go through files in content dir and if it's a content file then 
-# process it otherwise, copy it (and it's dir structure) to the output dir.
-
-# if the output dir doesn't exist, create it.
-if (! -d $opt_o)
-{ 
-  mkdir $opt_o, 0755;
-  if (!$opt_q) 
-    {
-      print "Creating output directory: $opt_o\n"; 
-    }
-}
-
-if (!$opt_q) 
-  {
-    print "Processing files:\n"; 
-  }
-
-if (! -d $opt_c) { die "Can\'t open content dir\n" }
-
-find( \&process_file, $opt_c );
-
-if (!$opt_q) 
-  {
-    #numfiles reports one too many...
-    $numfiles--;
-    print "\nFinished.\n\n";
-    print "Run Summary.\n===========\n";
-    print "$numfiles total files and directories processed.\n";
-    print "$numcontentfiles content files parsed.\n";
-    print "$numskippedfiles content files skipped.\n"; 
-    print "$numcpfiles files copied.\n"; 
-    print "$numdirfiles directories created\n"; 
-    print "$numignoredfiles files or directories ignored.\n";
-  }
-
-exit;
-
-##############################################################################
-# Process_file the current file.
-##############################################################################
-sub process_file
-  {
-    if (!$opt_q) 
-      {
-	print "."; 
-      }
-
-    $numfiles++;
-    my $filename = $_;
-    my $dir = $File::Find::dir;
-    (undef,$reldir) = split( $opt_c, $dir);
-    if (!defined ($reldir) ) { $reldir = ""; }
-
-    # dair, build paths procedurally
-    $outdir  = build_path($opt_o,  $reldir);
-    $outfile = build_path($outdir, $filename);
-    $infile  = build_path($dir,    $filename);
-
-    # Ignore CVS stuff, ./ etc.
-    if ($infile =~ /$opt_i/) {
-      $numignoredfiles++;
-      return;
-    }
-
-    # Find returns ./ in each directory... avoid.
-
-    if ($infile =~ /\/.$/) {
-      return;
-    }
-    
-    # Ok, If the file is a dir, we create it (if necessary)
-    # if it's a content file, we parse it, otherwise, we
-    # copy it to the appropriate location.
-    
-    if ( -d $infile ) {
-      if ($opt_d) { print "Making dir $outfile\n"; };
-      mkdir $outfile, 0755 unless -d $outfile;
-      $numdirfiles++;
-      return;
-    }
-    
-    if ($filename =~ /^(.*)\.content$/) 
-      {
-
-    # dair, build paths procedurally
-    $outfile = build_path($outdir, "$1.html");
-
-	if ($opt_d) {print "Parsing: $infile\n Outputing to: $outfile\n";};
-	process_content($infile,$outfile);
-      }
-    else
-      {
-	if ($opt_d) { print "Copying: $infile => $outfile\n"; };
-	cp($infile,$outfile);
-	$numcpfiles++;
-      }
-    $_ = $filename; # because we broke it...
-  }
-
-##############################################################################
-# Process the tags in the template, substituting in the content file 
-# components and other things like inline function definitions and 
-# "include" directives
-##############################################################################
- 
-sub process_content
-  {
-    
-    $inputfile = shift;
-    $outputfile = shift;
-    my @content = "";
-   
-    $temp = $template;
-
-    if ($opt_d) { print "processing $inputfile to $outputfile\n";}
-
-# Make-like check for last modification times to see if it's necessary
-# to re-gen this page.
-
-    if ( -f $outputfile) 
-      {
-	   
-	if (!$opt_f && ( -M $outputfile < -M $inputfile)) 
-	  {
-	    $numskippedfiles++;
-	    if ($opt_d) { 
-	      print "skipping $inputfile because $outputfile is newer\n";
-	    }
-	    return;
-	  }
-      }
-    # Read content file
-    open( CONTENT, "<$inputfile" ) || die $!;
-    @content = <CONTENT>;
-    close( CONTENT );
-
-    $numcontentfiles++;
-
-    undef %page;
-    undef $tag;
-    foreach $line ( @content )
-      {
-	if ( $line =~ /^\s*\%(.+)\%/ )
-	{
-	  $tag = $1;
-	  next;
-	}
-	next if !defined( $tag );
-	
-	 $line .= "\n" if $line !~ /\n$/;
-	
-	if ( defined( $page{ $tag } ))
-	  {
-	    $page{ $tag } .= $line;
-	  }
-	else
-	  {
-	    $page{ $tag } = $line;
-	  }
-      }
-    
-    open( HTML, ">$outputfile" ) || die $1;
-    
-    while ($temp =~ /^(.*?)<!--\s*_GP_\s*(.*?)\s*-->(.*)$/s)
-      {
-	local $replacement = "";
-	my ($left, $middle, $right) = ($1, $2, $3);
-        if (!defined($replacement = eval ($middle))) 
-	  { 
-	    $replacement = "";
-	  }
-	
-	if ($@) {
-          $middle =~ s/\s+/ /g;
-          print STDERR "error evaluating { $middle }: $@\n";
-        }
-        else {
-          if ($opt_d) {
-	    print "evaluation output: $replacement\n";
-	  }
-        }
-	
-	$temp = $left . $replacement . $right;
-      }
-    print HTML $temp;
-    close( HTML );
-  }
-
-
-sub include
-  {
-    my ($file) = shift;
-    my ($section) = shift;
-
-    if ($opt_d) { 
-      print "include: file = $file\n"; 
-    }
-    if (!open( INCLUDE, "<$file" )) { 
-      return "<!-- include: file not found: $file -->";
-    }
-    
-    if (defined($section)) {
-    undef %incpage;
-    undef $inctag;
-
-      @content = <INCLUDE>;
-      close (INCLUDE);
-
-      foreach $line ( @content )
-	{
-	  if ( $line =~ /^\s*\%(.+)\%/ )
-	    {
-	      $inctag = $1; 
-	      next;
-	    }
-	  next if !defined( $inctag );
-	  $line .= "\n" if $line !~ /\n$/;
-
-	  if ( defined( $incpage{ $inctag } ))
-	    {
-	      $incpage{ $inctag } .= $line;
-	    }
-	  else
-	    {
-	      $incpage{ $inctag } = $line;
-	    }
-	}
-      if (defined( $incpage{$section}) ) {
-	$inline = $incpage{$section};
-      }
-      else {
-	$inline = "<!-- include: no such section - $section - in $file -->";  
-      }
-    } 
-    else
-      {	
-	local $/;
-	undef $/;
-	$inline = <INCLUDE>;
-	close( INCLUDE );
-      }
-    return "$inline";
-  }
-
-sub content
-  {
-    my $tag = shift;
-
-    if ($opt_d) { print "content: tag = $tag\n"; }
-    if (defined( $page{ $tag } ))
-      {      
-	$output = $page { $tag };
-	if ($opt_d) { print "content: output = $output\n"; }
-	return "$output";
-      }
-    else
-      {
-	return "<!-- content: undefined tag: $tag -->";
-      }
-  }
-
-sub version
-  {
-    return ( "<a href=\"http://www.mnemonic.org/genpage/\">Genpage</a> - Version: $version" );
-  }
-
-sub usage
-  {
-    print <<EOT;
-usage: genpage [-dqfh] [-c <content dir>] [-o <output dir>] 
-               [-t <template file>] [ -i <ignore regexp> ]
-
-
-       -d debug mode.     Turn on debugging (very verbose!)
-       -q quiet mode.     Don't print anything while running.
-       -f force mode.     Force the parsing of content files.
-       -h help.           Print this help text.
-       -c <content dir>   The directory where your content tree exists.
-                          Defaults to ./content.
-       -o <output dir>    The directory to put the output website.
-                          Defaults to ./www
-       -t <template file> The template to use to generate the site.
-                          Defaults to ./layout/template.html
-       -i <ignore regexp> Regular expression telling genpage to ignore certain
-                          files or directories. defaults to "CVS|.*,v$"
-
-       Genpage $version Copyright (C) Joe Vaughan <joev\@mnemonic.org> 1999
-       This program is released under the terms of the GNU Public License
-       Please read the accompanying COPYING file for details.
-
-       For detailed instructions on how to use Genpage, please consult the 
-       accompanying documentation. If you have questions, comments or 
-       suggestions for Genpage please contact the author.
-EOT
-exit;
-}
--- a/Admin/page/bin/mkcontents	Mon Jun 06 14:12:07 2005 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,64 +0,0 @@
-#!/usr/bin/perl
-
-# mkcontents.pl
-#
-#   $Id$
-#
-#   simple script to create a html version of the Contents file in the
-#   Isabelle documentation directory.
-#
-#   Nov/14/1999 Version 1.0  -  Gerwin Klein <kleing@in.tum.de>
-#
-#   command line:
-#   mkcontent [-p <url-path-prefix>] <Content-file> <output-file>
-#
-
-
-use Getopt::Long ;
-   
-$opt_p="";
-$result = GetOptions ("p=s");
-
-$path=$opt_p;
-
-$infile  = $ARGV[0];
-$outfile = $ARGV[1];
-
-$listHeader = "<ul>\n";
-$lineHeader = "  <li>";
-$lineEnd    = "</li>\n";
-$listFooter = "</ul>\n";
-
-$topicStart = "<h2>";
-$topicEnd   = "</h2>\n";
-
-open(IN, "<$infile") || die "cannot read input file <$infile>";
-open(OUT, ">$outfile") || die "cannot write output file <$outfile>";
-
-$first = 1;
-while (<IN>) {
-  if (/^([^ \t].*)\n/) {
-    if ($first == 1) {
-      $first = 0;
-    }
-    else {
-      print OUT $listFooter;
-    }
-    print OUT $topicStart;
-    print OUT $1;
-    print OUT $topicEnd;
-    print OUT $listHeader;
-  }
-  elsif (/^[ \t]+([^ \t]+)[ \t]+(.+)\n/) {
-    print OUT $lineHeader;
-    print OUT "<a href=\"$path$1.pdf\">$2</a>";
-    print OUT $lineEnd;
-  }
-}
-
-print OUT $listFooter;
-
-close(OUT);
-close(IN);
-
-exit(0);
--- a/Admin/page/common/functions.pl	Mon Jun 06 14:12:07 2005 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,160 +0,0 @@
-<!-- _GP_
-# undef all the functions we're defining. This stops lots of
-# complaining about re-defining the sub for each content file that's
-# processed.
-
-       if (defined(&me)) { undef &me; }
-       if (defined(&distname)) { undef &distname; }
-       if (defined(&href)) { undef &href; }
-       if (defined(&twodig)) { undef &twodig; }
-       if (defined(&when)) { undef &when; }
-       if (defined(&size)) { undef &size; }
-       if (defined(&page)) { undef &page; }
-       if (defined(&empty_line)) { undef &empty_line; }
-       if (defined(&setnavcolor)) { undef &setnavcolor; }
-       if (defined(&twodig)) { undef &twodig; }
-       if (defined(&setdowncolor)) { undef &setdowncolor; }
-       if (defined(&downloadhead)) { undef &downloadhead; }
-       if (defined(&download)) { undef &download; }
-
- -->
-
-<!--  _GP_ 
-
-    sub distname {
-      return $ENV{"DISTNAME"};
-    }
-
-    sub href {
-	return "<a href=\"" . $_[0] . "\">" . $_[1] . "</a>";
-    }
-
-    sub twodig {
-      if ($_[0] < 10) {
-        return "0$_[0]";
-      }
-      return "$_[0]";
-    }
-
-# ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = gmtime(time);     
-    sub when { 
-      my @s = stat $inputfile;
-      my @t = gmtime($s[9]);      
-      my $year  = $t[5]+1900;      
-      my $month = twodig($t[4]+1);
-      my $day   = twodig($t[3]);
-      return "$year-$month-$day";
-#      my $hour  = twodig($t[2]);
-#      my $min   = twodig($t[1]);
-#      return "$month/$day/$year $hour:$min UTC";
-    }  
-
-    sub setnavcolor {
-      $navcolor = $_[0];
-      return "";
-    }
-    
-    # page(name, file)
-    sub page {    
-      my $retval = "";      
-
-      if ("$_[1].html" eq substr($outputfile,rindex($outputfile,"/")+1)) {
-        $retval = <<EOF;
-        <table width="188" border="0" cellspacing="0" cellpadding="5">
-        <tr> 
-          <td width="8" bgcolor="$navcolor">&nbsp;</td>
-          <td width="160" align="center" bgcolor="$navcolor">
-            <b><font face="Arial,Helvetica"><A HREF="$_[1].html" target="_top">$_[0]</A></font></b>
-          </td>
-          <td width="8" bgcolor="$navcolor">&nbsp;</td>
-        </tr>
-        </table>
-EOF
-      }
-      else {
-        $retval = <<EOF;
-        <table width="188" border="0" cellspacing="0" cellpadding="5">
-        <tr> 
-          <td width="8">&nbsp;</td>
-          <td width="160" align=center bgcolor="$navcolor">
-            <b><font face="Arial,Helvetica"><A HREF="$_[1].html" target="_top">$_[0]</A></font></b>
-          </td>
-          <td width="8">&nbsp;</td>
-        </tr>
-        </table>
-EOF
-      }
-      return $retval;
-    }
-
-    # empty_line(numcols)
-    sub empty_line {
-      my $retval = <<EOF;
-      <div style="height: 13px"></div>
-EOF
-      return $retval;
-    }
-
-    sub size {
-      my $filename = $_[0];
-
-      my @s = stat $filename;
-      my $size = defined $s[7] ? $s[7]/1024 : 0;
-
-      return sprintf("%d", $size);
-    }
-
-    sub setdowncolor {
-      $downcolor = $_[0];
-      return "";
-    }
-
-    sub downloadhead {
-      my $text = $_[0];
-
-      return <<EOF;
-      <tr><td colspan=3><strong>$text</strong></td></tr>
-EOF
-    }
-
-    sub download {
-      my $rowspan = $_[0];
-      my $descr = $_[1];
-      my $url   = $_[2];
-      my $prefix  = $_[3];
-
-      my $size = size("$prefix/$url");
-      $size = "$size K";
-
-      my $filename = $path;
-
-      if ($url =~ /([^\/]*\/)*([^\/]+)/) {
-	$filename = $2;
-      }
-
-      my $td   = "nowrap bgcolor=$downcolor";
-      
-      my $descr_text = "";
-      if ($descr ne "") {
-        $descr_text = <<EOF;
-	<td rowspan=$rowspan align="left" $td>
-          &nbsp; $descr
-        </td>
-EOF
-      }
-
-      my $retval = <<EOF;
-      <tr>$descr_text
-        <td align="left" $td>
-          &nbsp; <A HREF="$url">$filename</A>
-        </td>
-        <td align="right" $td>
-          &nbsp; $size &nbsp;
-        </td>
-      </tr>
-EOF
-
-      return $retval;
-    }
-
- -->
--- a/Admin/page/dist-content/docs.content	Mon Jun 06 14:12:07 2005 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-%title%
-Isabelle Documentation
-
-%body%
-
-<!-- _GP_ distname --> documentation is included here as browsable PDF
-for convenience.  These documents are also part of the standard
-Isabelle distribution.  For getting started with Isabelle quickly, we
-recommend the <a href="<!-- _GP_ distname -->/doc/tutorial.pdf">Tutorial
-on Isabelle/HOL</a> -- published by Springer Verlag as <a
-href="http://www4.in.tum.de/~nipkow/LNCS2283/">LNCS 2283</a> -- and the <a
-href="http://isabelle.in.tum.de/coursematerial/">course material</a>
-page. See the
-<a href="http://isabelle.in.tum.de/faq.html">FAQ</a> for answers to frequent problems.
-
-<!-- _GP_ include("$pwd/docu-contents.dist") -->
-
-The Isabelle distribution also includes a few text files with further
-information about the present release and additional installation
-instructions.
-<ul>
-<li><!-- _GP_ href(distname . "/ANNOUNCE", "ANNOUNCE") -->
-<li><!-- _GP_ href(distname . "/README.html", "README") -->
-<li><!-- _GP_ href(distname . "/INSTALL", "INSTALL") -->
-<li><!-- _GP_ href(distname . "/NEWS", "NEWS") -->
-</ul>
-
-<p>
-
-Use the mailing list <a
-href="&#109;&#97;&#105;&#108;&#116;&#111;:&#105;&#115;&#97;&#98;&#101;&#108;&#108;&#101;-&#117;&#115;&#101;&#114;&#115;&#64;&#99;&#108;&#46;&#99;&#97;&#109;&#46;&#97;&#99;&#46;&#117;&#107;">&#105;&#115;&#97;&#98;&#101;&#108;&#108;&#101;-&#117;&#115;&#101;&#114;&#115;&#64;&#99;&#108;&#46;&#99;&#97;&#109;&#46;&#97;&#99;&#46;&#117;&#107;</a>
-and its <a href="http://www.cl.cam.ac.uk/users/lcp/archive/">archive</a> to
-discuss problems and results.  To subscribe, <a href="&#109;&#97;&#105;&#108;&#116;&#111;:&#108;&#99;&#112;&#64;&#99;&#108;&#46;&#99;&#97;&#109;&#46;&#97;&#99;&#46;&#117;&#107;?subject=subscribe&body=Please%20add%20me%20to%20the%20Isabelle%20mailing%20list">contact Larry Paulson</a>.
-
Binary file Admin/page/dist-content/favicon.ico has changed
--- a/Admin/page/dist-content/index.content	Mon Jun 06 14:12:07 2005 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-
-<!-- $Id$ -->
-
-%title%
-Isabelle Distribution Area
-
-%body%
-<p>
-
-<h2>Stable Release, mirror sites (in alphabetical order)</h2>
-
-<ul>	
-
-<li><a
-href="http://www.cl.cam.ac.uk/Research/HVG/Isabelle/dist/packages.html">Cambridge
-(UK)</a>
-
-<li><a href="http://isabelle.in.tum.de/dist/packages.html">Munich
-(Germany)</a>
-	
-<li><a href="http://mirror.cse.unsw.edu.au/pub/isabelle/packages.html">Sydney (Australia)</a>
-
-</ul>
-
-
-&nbsp;
-
-<p>
-
-<h2>Development Snapshot</h2>
-
-For the curious we provide a nightly generated CVS <a
-href="http://isabelle.in.tum.de/devel/">development snapshot</a> of
-Isabelle. 
Binary file Admin/page/dist-content/isabelle_macos_screenshot.jpg has changed
--- a/Admin/page/dist-content/notes_macos_darwin.content	Mon Jun 06 14:12:07 2005 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,100 +0,0 @@
-%title%
-Isabelle under Mac OS X
-
-%body%
-
-<p><a href="http://www.apple.com/macosx/">Mac OS X</a> is the current version
-of the Macintosh operating system, installed on all new <a href=
-"http://www.apple.com/">Apple</a> computers. Because it is based on Unix, it
-can run <a href=
-"http://www.cl.cam.ac.uk/Research/HVG/Isabelle/">Isabelle</a>. The new
-<a href="http://www.apple.com/powermac/">Power Mac G5</a> is an excellent
-Isabelle machine. Here is a <a href="isabelle_macos_screenshot.jpg">screenshot</a>
-showing Proof General running in GNU Emacs.</p>
-
-<p>This page gives advice on building Isabelle for Mac OS X. It assumes that
-you are familiar with both Mac OS X and Unix. You must have installed the Mac
-OS X developer tools.</p>
-
-<ol>
-<li>Download Isabelle to a suitable directory, as described on the 
-<a href="packages.html">download page</a>. Be sure to get the following files
-
-<ul>
-<li><tt><!-- _GP_ href(distname . ".tar.gz", distname . ".tar.gz") --></tt></li>
-<li><tt><!-- _GP_ href("contrib/ProofGeneral.tar.gz", "ProofGeneral.tar.gz") --></tt></li>
-<li><tt><!-- _GP_ href("contrib/polyml_base.tar.gz", "polyml_base.tar.gz") --></tt></li>
-<li><tt><!-- _GP_ href("contrib/polyml_ppc-darwin.tar.gz", "polyml_ppc-darwin.tar.gz") --></tt></li>
-<li><tt><!-- _GP_ href("HOL_ppc-darwin.tar.gz", "HOL_ppc-darwin.tar.gz") --></tt></li>
-</ul>
-</li>
-
-<li>You may have to install the bash shell. Versions of Mac OS X prior to
-10.2.2 did not provide it. If /bin/bash does not exist, you can install it
-using the package manager <a href=
-"http://fink.sourceforge.net/">Fink</a>.</li>
-
-<li>At this point, you should be able to run Isabelle with the command line
-interface. You can also build Isabelle from the Unix command line,
-following the instructions for "Compiling Logics" in file
-<tt>Isabelle/INSTALL.</tt></li>
-
-<li>You should also be able to launch <a
-href="http://proofgeneral.inf.ed.ac.uk/">Proof General</a> by typing
-"<tt>Isabelle</tt>" at the Unix command line. This will invoke the
-Apple-supplied version of Emacs in a terminal window, providing a
-primitive environment. Somewhat better is to run Proof General from
-within a version of Emacs ported as a native Mac OS X application,
-such as <a href=
-"http://home.att.ne.jp/alpha/z123/emacs-mac-e.html">MacEmacs JP</a> or
-<a href="http://mindlube.com/products/emacs/">mindlube's</a> or <a
-href= "http://www.cs.man.ac.uk/%7efranconi/mac-emacs/">Enhanced Carbon
-Emacs</a>.  Visiting a theory file from Emacs will automatically
-launch Proof General provided <tt>isabelle</tt> is on the search
-path. None of these options support the X-Symbol package,
-unfortunately.</li> </ol>
-
-<p>In order to get the full benefit of Proof General, you must install the X
-Window System (X11) and <a href="http://www.xemacs.org/">XEmacs</a> or
-<a href="http://www.gnu.org/software/emacs/emacs.html">GNU Emacs</a>.</p>
-
-<ul>
-<li><a href="http://www.apple.com/macosx/x11/">Apple's version</a> of X11
-is included with the Panther (MacOS 10.3) installation discs, though it is
-not installed by default. The Command key serves as Meta, but it is
-reserved for standard Apple shortcuts such as C, V and X, so you must use
-Esc-C, Esc-V and Esc-X in Emacs or else deselect "Enable key equivalents"
-in the X11 preferences.</li>
-
-<li>Some people prefer the <a href=
-"http://www.osxgnu.org/software/Xwin/WindowManagers/OroborOSX/">OroborOSX</a>
-window manager. It must be used in conjunction with <a href=
-"http://xfree86.org/">XFree86</a>, which is easy to install if you use the
-installer provided by the <a href=
-"http://sourceforge.net/projects/xonx/">XonX</a> project.</li>
-</ul>
-
-<p>The easiest way to install XEmacs or GNU Emacs is via the package manager
-<a href="http://fink.sourceforge.net/">Fink</a>. Install the Fink package
-<tt>xemacs-sumo-pkg</tt> to get the XEmacs libraries that Proof General needs
-to run. To install GNU Emacs, install the package <tt>emacs21</tt>. Fink can
-compile from sources, but this takes hours, so it is better to request binary
-installations.</p>
-
-<p>To use <a href="http://www.gnu.org/software/emacs/emacs.html">GNU
-Emacs</a> instead of <a href="http://www.xemacs.org/">XEmacs</a>, you must
-recompile Proof General and X-Symbol following the instructions <a href=
-"http://proofgeneral.inf.ed.ac.uk/FAQ">here</a>. Note that Proof General
-incorporates its own copy of X-Symbol.</p>
-
-<ol>
-<li>Install X11 or OroborOSX.</li>
-
-<li>Install XEmacs (and its libraries), or install GNU Emacs and recompile
-Proof General.</li>
-
-<li>You may want to install this drag-and-drop <a href=
-"IsabelleDroplet.dmg">Isabelle launcher</a>. It is a simple hack that
-invokes xemacs on any files dropped on it.</li>
-</ol>
-
--- a/Admin/page/dist-content/notes_win_cygwin.content	Mon Jun 06 14:12:07 2005 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,266 +0,0 @@
-%title%
-Isabelle on Windows
-
-%body%
-
-<h2>Preconditions and restrictions</h2>
-
-<p>Please notice before you go ahead:
-<ul>
-    <li>The ML system these notes apply to is
-    <a href="http://www.smlnj.org/">Standard ML of New Jersey</a>;
-    it is <em>not</em> known yet how to get Isabelle run completely with
-    <a href="www.polyml.org/">Poly/ML</a>. See <a href="#polyml">a note
-    on Poly/ML</a> down this page.</li>
-    <li>It is assumed you have some experience with an Unix operating
-    system (e.g. what a shell is for and how to use it).</li>
-</ul>
-</p>
-
-<h2>Acknowlegements</h2>
-
-<p>Thanks to
-<a href="http://cswww.essex.ac.uk/Research/FSS/projects/isawin/">Norbert V&ouml;ker</a>
-and <a href="http://www.abo.fi/~viorel.preoteasa/isabelle/">Viorel Preoteasa</a>
-whose efforts helped a lot to get Isabelle run this way.</p>
-
-<h2>Installing Cygwin</h2>
-
-<p>Cygwin is a POSIX emulation layer for Windows; it contains ports of a large
-collection of common Unix software (shells, perl, gcc, X11, latex, ImageMagick,
-&hellip;).</p>
-
-<p>To install it, get the installer from the
-<a href="http://www.cygwin.com">Cygwin website</a> and run it. It will ask you
-which packages to install, and then downloads and installs them.
-Please make sure you install everything needed by Isabelle; it is hard to give
-a concise list of packages here since the bundling of Cygwin packages may vary
-over time, but installing the base packages, perl, make, xemacs and x-server
-should be a good choice for the beginning.</p>
-
-<p>By default, cygwin installs to <tt>c:\cygwin</tt>; you may choose an arbitrary
-location, but it is recommended that it does not include any space or exotic
-characters. This directory will then become the root directory of the Cygwin
-filesystem tree, i.e. the Cygwin path <tt>/opt/smlnj</tt>
-will be mapped to Windows path <tt>c:\cygwin\opt\smlnj</tt>.</p>
-
-<p>After installation, open a Cygwin shell window (normally the installer
-makes a shortcut for you).</p>
-
-<h2>Getting and building SML/NJ</h2>
-
-<p>Now we are ready to get and build <a href="http://www.smlnj.org/">SML/NJ</a>;
-before this, set the environment variable SMLNJ_CYGWIN_RUNTIME to 1:
-
-    <blockquote>
-        <tt>
-          export SMLNJ_CYGWIN_RUNTIME=1
-        </tt>
-    </blockquote>
-
-    <blockquote>
-    (or
-        <tt>
-          setenv SMLNJ_CYGWIN_RUNTIME 1
-        </tt>
-    for c shells).
-    </blockquote>
-
-This setting will tell the build process that it should <em>not</em> attempt
-to build SML/NJ natively for Win32 but for Cygwin instead (see further
-<a href="http://smlnj.cs.uchicago.edu/dist/working/110.53/CYGWININSTALL">CYGWININSTALL</a>).</p>
-
-<p>So far, this setup was tested using the working version 110.53
-of SML/NJ from <a href="http://smlnj.cs.uchicago.edu/dist/working/110.53/">http://smlnj.cs.uchicago.edu/dist/working/110.53/</a>.
-SML/NJ provides a nice installer enabling you to download and build it.
-Read <a href="http://smlnj.cs.uchicago.edu/dist/working/110.53/INSTALL">INSTALL</a>
-to learn about the different possibilites to do this. The default packages
-should be sufficient.</p>
-
-<p>In the following, it is assumed that you install SML/NJ to Cygwin path <tt>/opt/smlnj</tt>;
-if you choose an other
-location, some tweaking in the <a href="#config"><tt>etc/settings</tt> file</a>
-may be neccessary later.</p>
-
-<p>Whenever SMLNJ is used, the SMLNJ_CYGWIN_RUNTIME environment variable
-must be set to 1 (later on a convenient mechanism to make this the default
-is proposed).</p>
-
-<h2>Installing Isabelle</h2>
-
-<p>Download the latest Isabelle and ProofGeneral <a href="packages.html">release packages</a>.
-Assuming that you are in the directory where
-you downloaded the files, install them into <tt>/opt</tt> by typing into the
-bash shell:
-
-    <blockquote>
-        <tt>
-          tar -C /usr/opt -xvzf <!-- _GP_ href(distname . ".tar.gz", distname . ".tar.gz") --> <br>
-          tar -C /usr/opt -xvzf <!-- _GP_ href("contrib/ProofGeneral.tar.gz", "ProofGeneral.tar.gz") --> <br>
-        </tt>
-    </blockquote>
-
-During extraction, one inconvenience may occur, see <a href="inconvenience">below</a>.</p>
-
-<p>The location <tt>/opt</tt> again is just a proposal; if you choose other
-locations, some tweaking in the <a href="#config"><tt>etc/settings</tt> file</a>
-may be neccessary later.</p>
-
-<h2 id="config">Configuring Isabelle</h2>
-
-<p>Edit the file <tt>/opt/Isabelle/etc/settings</tt>; first, uncomment the lines
-about SMLNJ. Also set the variable SMLNJ_CYGWIN_RUNTIME to 1, in order the
-cygwin version of SMLNJ is used. As mentioned above, the path variables for 
-the ML system and ProofGeneral may need adjustions, depending on your different
-installation locations.</p>
-
-<p>Take heed of the setting of ISABELLE_HOME_USER; by default, this is
-<tt>~/isabelle</tt>. To detect which Windows path this will be mapped to,
-type into the Cygwin bash shell:
-
-    <blockquote>
-        <tt>
-            cygpath --windows ~/isabelle
-        </tt>
-    </blockquote>
-
-If you don't like this location to be the isabelle home directory, consider
-setting of ISABELLE_HOME_USER to another value; use <tt>cygpath --unix
-&lt;winpath&gt;</tt> to detect which Cygwin path a given Windows path is mapped to.</p>
-
-<p>A typical change could look like this:
-
-    <blockquote>
-        from<br/>
-        <tt>
-            # Standard ML of New Jersey 110 or later<br>
-            #ML_SYSTEM=smlnj-110<br>
-            #ML_HOME="$ISABELLE_HOME/../smlnj/bin"<br>
-            #ML_OPTIONS="@SMLdebug=/dev/null"<br>
-            #ML_PLATFORM=$(eval $("$ML_HOME/.arch-n-opsys" 2>/dev/null); echo "$HEAP_SUFFIX")<br>
-        </tt>
-    </blockquote>
-
-    <blockquote>
-        to<br/>
-        <tt>
-            # Standard ML of New Jersey 110 or later<br>
-            SMLNJ_CYGWIN_RUNTIME=1<br>
-            ML_SYSTEM=smlnj-110<br>
-            ML_HOME="$ISABELLE_HOME/../smlnj/bin"<br>
-            ML_OPTIONS="@SMLdebug=/dev/null"<br>
-            ML_PLATFORM=$(eval $("$ML_HOME/.arch-n-opsys" 2>/dev/null); echo "$HEAP_SUFFIX")
-        </tt>
-    </blockquote>
-
-</p>
-
-<h2>Building logics</h2>
-
-<p>Now we can compile some logics. Start the cygwin shell (if not still
-running) and type:
-
-    <blockquote>
-        <tt>
-            cd /opt/Isabelle<br>
-            build HOL<br>
-            build ZF
-        </tt>
-    </blockquote>
-</p>
-
-<p>The compilation process may take some time (depending on 
-how fast the computer is). Before building a logic image the build
-program shows some variables and expects user input &ndash; just hit enter.
-
-<h2>Running Isabelle with ProofGeneral</h2>
-
-<p>On Linux, Isabelle can be started by two scripts located in <tt>Isabelle/bin</tt>:
-<tt>Isabelle</tt> and <tt>isabelle</tt>. <tt>Isabelle</tt> attempts to start
-ProofGeneral with XEmacs, and isabelle starts it in an SML shell session.
-However Windows treats the two names as one. To get around this just copy
-<tt>/opt/Isabelle/bin/isabelle</tt> to <tt>/opt/Isabelle/bin/Isabell</tt>.
-The script <tt>/opt/Isabelle/bin/Isabell</tt> will start Isabelle with ProofGeneral.</p>
-
-<p>Now everything should be ready. To test, start the cygwin shell and type
-
-    <blockquote>
-        <tt>startx &amp;</tt>
-    </blockquote>
-
-This will start the cygwin X server and an X shell window. In the X shell window,
-type
-
-    <blockquote>
-        <tt>/opt/Isabelle/bin/Isabell &amp;</tt>.
-    </blockquote>
-
-This will start the ProofGeneral interface for Isabelle. After a while
-an empty buffer <tt>Scratch.thy</tt> is created. You can turn on
-X-Symbol from the menu Proof-General &rarrow; Options.</p>
-
-<p>Load one of your favorite theories and test your Isabelle installation
-by proving something.</p>
-
-<p>To simplify starting ProofGeneral, consider writing a Windows command script,
-e.g.
-
-    <blockquote>
-        <tt>@bash startx -geometry 30x4 -iconic -e Isabell</tt>
-    </blockquote>
-
-and assigning a shortcut in the start menu to it.</p>
-
-<h2 id="inconvenience">Inconveniencies with the current version of Isabelle</h2>
-
-<p>With the current Isabelle release (Isabelle 2004), there are two inconveniencies:
-<ul>
-    <li>During extraction you will get a warning that file <tt>Real/HahnBanach/Aux.thy</tt>
-      can not be created. This is  because <tt>Aux</tt> is not allowed as a
-      filename under Windows. If you do not want to run the HahnBanach example,
-      you might simply want to ignore this warning.</li>
-    <li>The tool <tt>isatool mkdir</tt> tries to detect the name of the current
-    user, to put it into the generated <tt>root.tex</tt>. Alas, on Windows, this
-    leads to an unquoted <tt>\</tt> in the TeX file. So you either must edit
-    your <tt>root.tex</tt> manually to fix this, or directly patch <tt>/opt/Isabelle/lib/Tools/mkdir</tt>
-    by replacing
-
-        <blockquote>
-            <tt>
-                AUTHOR=$("$AUTO_PERL" -e "@pw = getpwnam(\"$USER\"); print @pw[6]" | tr _ -)
-            </tt>
-        </blockquote>
-
-        with
-
-        <blockquote>
-            <tt>
-                AUTHOR="default author name"
-            </tt>
-        </blockquote>
-
-    </li>
-</ul>
-
-<p>To get around these inconveniencies, consider using a recent developer snapshot
-of Isabelle; both will be fixed in the next Isabelle release.</p>
-
-<h2 id="polyml">A note on Poly/ML</h2>
-
-<p>As indicated above, Isabelle does <em>not</em> run
-neatly with <a href="www.polyml.org/">Poly/ML</a> on Windows, for two
-reasons:
-<ul>
-    <li>The native port of Poly/ML for Windows does not support shell-like stdin 
-    and stdout; instead, it implements
-    its own &raquo;terminal&laquo;. Alas, all &raquo;higher&laquo;
-    Isabelle features (Isar, ProofGeneral, &hellip;) depend on stdin and stdout.
-    So, though on the pure ML level Isabelle may run, its usability will be
-    very restricted.</li>
-    <li>It is not clear how Poly/ML has to be compiled for Cygwin.</li>
-</ul>
-</p>
-
-<p>If you know how to circumvent (fully or partially) any of these problems,
-please let us know.</p>
-
--- a/Admin/page/dist-content/packages.content	Mon Jun 06 14:12:07 2005 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,141 +0,0 @@
-%title%
-Isabelle Packages
-
-%body%
-
-<p>
-
-The following source and binary packages of <!-- _GP_ distname -->
-provide everything required for easy installation of the full Isabelle
-working environment on common Unix platforms (e.g. Linux, Darwin, Solaris)
-
-<p>
-
-A <em>minimal</em> Isabelle installation requires only <tt>bash</tt>
-and <tt>perl</tt> (usually provided by the operating system), and a
-suitable implementation of Standard ML (e.g. <a
-href="http://www.polyml.org">Poly/ML</a> as included below).  A
-<em>comfortable</em> Isabelle working environment demands further user
-interface support, as provided by <a
-href="http://proofgeneral.inf.ed.ac.uk/">Proof General</a> (please <a
-href="http://proofgeneral.inf.ed.ac.uk/register">register</a>). The Proof General 
-distribution now includes the <a
-href="http://x-symbol.sourceforge.net">X-Symbol</a> package.  It
-should be used with a recent version of <a
-href="http://www.xemacs.org">XEmacs 21</a> or <a 
-href="http://www.gnu.org/software/emacs/emacs.html">GNU Emacs 21</a> (with
-Mule enabled).
-
-<p>
-
-
-<h2>Packages</h2>
-
-We provide a complete set of packages for Isabelle, Proof General, and
-PolyML.  
-<p>
-While XEmacs 21 is not included here, most operating system
-distributions already provide a suitable package, although not
-installed by default.  Some of the packages below are platform
-dependent; we include binaries for Linux/x86, Solaris/Sparc, and
-Darwin/PPC (MacOS X). 
-<p>
-Short <a href="#install">installation instructions</a> are near the
-bottom of this page. For more information, see the file INSTALL in
-<!-- _GP_ distname -->.tar.gz.
-
-<p>
-
-<!-- _GP_ setdowncolor("\"#E0E0E0\"") -->
-<table border="0" cellspacing="5" cellpadding="4" width="520" style="margin: 0px auto 0px auto">
-
-<!-- _GP_ downloadhead("Isabelle") -->
-<!-- _GP_ download(1, "Sources and documentation", distname . ".tar.gz", "../..") -->
-<!-- _GP_ download(1, "Documentation in PDF", distname . "_pdf.tar.gz", "../..") -->
-<!-- _GP_ download(1, "Theory library in PDF and HTML", distname . "_library.tar.gz", "../..") -->
-
-<!-- _GP_ downloadhead("Proof General") -->
-<!-- _GP_ download(1, "Proof General", "contrib/ProofGeneral-3.5.tar.gz", "../..") -->
-
-<!-- _GP_ downloadhead("Poly/ML compiler and runtime system") -->
-<!-- _GP_ download(1, "Poly/ML base system", "contrib/polyml_base.tar.gz", "../..") -->
-<!-- _GP_ download(3, "Poly/ML binary modules", "contrib/polyml_x86-linux.tar.gz", "../..") -->
-<!-- _GP_ download(0, "", "contrib/polyml_sparc-solaris.tar.gz", "../..") -->
-<!-- _GP_ download(0, "", "contrib/polyml_ppc-darwin.tar.gz", "../..") -->
-
-<!-- _GP_ downloadhead("Precompiled logics") -->
-<!-- _GP_ download(3, "HOL", "HOL_x86-linux.tar.gz", "../..") -->
-<!-- _GP_ download(0, "", "HOL_sparc-solaris.tar.gz", "../..") -->
-<!-- _GP_ download(0, "", "HOL_ppc-darwin.tar.gz", "../..") -->
-<!-- _GP_ download(3, "HOL-Complex", "HOL-Complex_x86-linux.tar.gz", "../..") -->
-<!-- _GP_ download(0, "", "HOL-Complex_sparc-solaris.tar.gz", "../..") -->
-<!-- _GP_ download(0, "", "HOL-Complex_ppc-darwin.tar.gz", "../..") -->
-<!-- _GP_ download(3, "HOL4", "HOL4_x86-linux.tar.gz", "../..") -->
-<!-- _GP_ download(0, "", "HOL4_sparc-solaris.tar.gz", "../..") -->
-<!-- _GP_ download(0, "", "HOL4_ppc-darwin.tar.gz", "../..") -->
-<!-- _GP_ download(3, "ZF", "ZF_x86-linux.tar.gz", "../..") -->
-<!-- _GP_ download(0, "", "ZF_sparc-solaris.tar.gz", "../..") -->
-<!-- _GP_ download(0, "", "ZF_ppc-darwin.tar.gz", "../..") -->
-
-<!-- _GP_ downloadhead("HOL4 proof terms") -->
-<!-- _GP_ download(1, "HOL4 proof terms", "contrib/HOL4-proofs.tar.gz", "../..") -->
-</table>
-
-
-<p>
-
-<h2>Installation</h2>
-
-<a name="install">In</a> fact, there is no installation required.  Users may just unpack all
-required packages within the same directory.  The default settings of
-Isabelle should be reasonable for most circumstances.
-
-<p>
-
-A typical Linux/x86 site installation of Isabelle/HOL works as
-follows.  By using GNU <tt>tar</tt>, the archives are uncompressed and
-unpacked into the <tt>/usr/local</tt> directory (this location may be
-changed to anything appropriate).
-
-<p>
-
-<tt>
-&nbsp;&nbsp; tar -C /usr/local -xzf
-<!-- _GP_ href(distname . ".tar.gz", distname . ".tar.gz") --> <br>
-&nbsp;&nbsp; tar -C /usr/local -xzf
-<!-- _GP_ href("contrib/ProofGeneral.tar.gz", "ProofGeneral.tar.gz") --> <br>
-&nbsp;&nbsp; tar -C /usr/local -xzf
-<!-- _GP_ href("contrib/polyml_base.tar.gz", "polyml_base.tar.gz") --> <br>
-&nbsp;&nbsp; tar -C /usr/local -xzf
-<!-- _GP_ href("contrib/polyml_x86-linux.tar.gz", "polyml_x86-linux.tar.gz") --> <br>
-&nbsp;&nbsp; tar -C /usr/local -xzf
-<!-- _GP_ href("HOL_x86-linux.tar.gz", "HOL_x86-linux.tar.gz") --> <br>
-</tt>
-
-<p>
-
-Users may now invoke Isabelle without further ado, e.g. run the main
-executable <tt>/usr/local/Isabelle/bin/Isabelle</tt> to launch the
-Proof General interface for Isabelle/Isar.  Note that there is a
-separate option in the Proof General <em>Options</em> menu to enable
-X-Symbol.
-
-<p>
-
-If Emacs appears to hang when the prover process is started, see the 
-<A HREF="http://proofgeneral.inf.ed.ac.uk/FAQ">Proof General FAQ</a> 
-for advice.
-
-<h3>Other platforms</h3>
-
-<p>Although Isabelle is natively designed for Unix environments
-(e.g. Solaris, Linux), it may also run under similar, Unix-like
-platforms. The following installation instructions are hints
-contributed by Isabelle users.  Feel free to contact us for any
-suggestions, corrections or improvements.</p>
-
-    <ul>
-        <li><a href="notes_macos_darwin.html">Installation notes for Mac OS X</a></li>
-        <li><a href="notes_win_cygwin.html">Installation notes for Cygwin/Windows</a></li>
-    </ul>
-
--- a/Admin/page/dist-content/past.content	Mon Jun 06 14:12:07 2005 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,22 +0,0 @@
-%title% 
-Isabelle Past Releases
-
-%body%
-<p> 
-
-Past releases of Isabelle are available from the Cambridge archive:
-
-<ul>
-<li><a href="http://www.cl.cam.ac.uk/users/lcp/archive/Isabelle2003.tar.gz">Isabelle2003</a></li>
-<li><a href="http://www.cl.cam.ac.uk/users/lcp/archive/Isabelle2002.tar.gz">Isabelle2002</a></li>
-<li><a href="http://www.cl.cam.ac.uk/users/lcp/archive/Isabelle99-2.tar.gz">Isabelle99-2</a></li>
-<li><a href="http://www.cl.cam.ac.uk/users/lcp/archive/Isabelle99-1.tar.gz">Isabelle99-1</a></li>
-<li><a href="http://www.cl.cam.ac.uk/users/lcp/archive/Isabelle99.tar.gz">Isabelle99</a></li>
-<li><a href="http://www.cl.cam.ac.uk/users/lcp/archive/Isabelle98-1.tar.gz">Isabelle98-1</a></li>
-<li><a href="http://www.cl.cam.ac.uk/users/lcp/archive/Isabelle98.tar.gz">Isabelle98</a></li>
-<li><a href="http://www.cl.cam.ac.uk/users/lcp/archive/Isabelle94-8.tar.gz">Isabelle94-8</a></li>
-<li><a href="http://www.cl.cam.ac.uk/users/lcp/archive/Isabelle94-7.tar.gz">Isabelle94-7</a></li>
-<li><a href="http://www.cl.cam.ac.uk/users/lcp/archive/Isabelle94-6.tar.gz">Isabelle94-6</a></li>
-<li><a href="http://www.cl.cam.ac.uk/users/lcp/archive/Isabelle94.tar.gz">Isabelle94</a></li>
-<li><a href="http://www.cl.cam.ac.uk/users/lcp/archive/Isabelle93.tar.gz">Isabelle93</a></li>
-</ul>
--- a/Admin/page/dist-layout/navigation.html	Mon Jun 06 14:12:07 2005 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-<div style="text-align: center; margin-top: 30px; margin-bottom: 45px">
-<a href="index.html"><img src="isabelle.gif" width="100" height="86" alt="[Isabelle logo]" border="0"></a>
-<div style="font-weight: bold; margin-top: 10px">Isabelle Distribution Area</div>
-</div>
-<!-- _GP_ setnavcolor("#F0F0F0") -->
-<!-- _GP_ page("Mirrors", "index") -->
-<!-- _GP_ empty_line(3) -->
-<!-- _GP_ page("Packages", "packages") -->
-<!-- _GP_ empty_line(3) -->
-<!-- _GP_ page("Documentation", "docs") -->
-<!-- _GP_ empty_line(3) -->
-<!-- _GP_ page("Past Releases", "past") -->
-<!-- _GP_ empty_line(3) -->
-&nbsp;
--- a/Admin/page/dist-layout/template.html	Mon Jun 06 14:12:07 2005 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,63 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
-<html>
-  <!-- _GP_ include("$pwd/common/functions.pl") -->
-  <head>
-    <title> <!-- _GP_ content("title") --> </title>
-    <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-    <LINK REL="SHORTCUT ICON" HREF="favicon.ico">
-    <!-- _GP_ content("meta") -->
-  </head>
-
-  <body text="#000000" bgcolor="#FFFFFF" link="#0000FF" vlink="#000099" alink="#404040">
-
-    <table border="0" cellspacing="5" width="100%">
-
-      <tr>
-        <td width="188" valign="top" bgcolor="#A8A8CF"> 
-          <!-- _GP_ include("$pwd/dist-layout/navigation.html") -->
-          <table height="20"><tr><td>&nbsp;</td></tr></table>
-        </td>
-
-        <td width="100%" valign="top">
-
-          <center>	    
-            <table width="70%" border="0" cellspacing="10" cellpadding="10">
-              <tr>		
-                <td align="center" bgcolor="#A8A8CF">
-                  <b>
-                  <font face="Arial,Helvetica" size="+2"><!-- _GP_ content("title") --></font>
-                  </b>
-                </td>
-              </tr>
-            </table>
-          </center>
-
-          <p>&nbsp;
-
-          <center>
-            <table width="99%" border="0" cellspacing="0" cellpadding="10">
-              <tr>
-                <td align="left">
-                  <!-- _GP_ content("body") -->
-                </td>
-              </tr>
-            </table>
-          </center>
-        </td>
-      </tr>
-
-      <tr>
-        <td align="right" colspan="2" height="20">
-          <table border="0" cellpadding="4" cellspacing="0">
-            <tr><td>
-                <font size="-1" face="helvetica, arial">
-                  last update at <!-- _GP_ when --> 
-                </font>
-            </td></tr>
-          </table>
-        </td>
-      </tr>
-      
-    </table>
-  </body>
-</html>
Binary file Admin/page/main-content/PG-preview.pdf has changed
Binary file Admin/page/main-content/cambridge.gif has changed
--- a/Admin/page/main-content/docs.content	Mon Jun 06 14:12:07 2005 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,17 +0,0 @@
-%title%
-Isabelle Documentation
-
-%body%
-
-<!-- _GP_ distname --> documentation is included here as browsable PDF
-for convenience.  These documents are also part of the standard
-Isabelle <a href="dist/index.html">distribution</a>.  For getting
-started with Isabelle quickly, we recommend the 
-<a href="dist/<!-- _GP_ distname -->/doc/tutorial.pdf">Tutorial on Isabelle/HOL</a> --
-published by Springer Verlag as <a
-href="http://www4.in.tum.de/~nipkow/LNCS2283/">LNCS 2283</a> -- and the <a
-href="http://isabelle.in.tum.de/coursematerial/">course material</a>
-page. See the
-<a href="faq.html">FAQ</a> for answers to frequent problems.
-
-<!-- _GP_ include("$pwd/docu-contents.main") -->
--- a/Admin/page/main-content/faq.content	Mon Jun 06 14:12:07 2005 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,322 +0,0 @@
-%title%
-Isabelle FAQ
-
-%meta%
-<style type="text/css">
-  <!--
-  .question { background-color:#C0C0C0; color:#000001; padding:3px; margin-top:12px; font-weight: bold; }
-  .answer  { background-color:#E0E0E0; padding:3px; margin-top:3px; }
-  -->
-</style>
-
-
-%body%
-    <h2>General Questions</h2>
-    <table class="question" width="100%">
-        <tr>
-          <td>What is Isabelle?</td>
-        </tr>
-    </table>
-
-    <table class="answer" width="100%">
-        <tr><td>Isabelle is a popular generic theorem proving
-        environment developed at Cambridge University (<a
-        href="http://www.cl.cam.ac.uk/users/lcp/">Larry Paulson</a>)
-        and TU Munich (<a href="http://www.in.tum.de/~nipkow/">Tobias
-        Nipkow</a>). See the <a
-        href="http://isabelle.in.tum.de/">Isabelle homepage</a> for
-        more information.</td></tr>
-    </table>
-    
-
-    <table class="question" width="100%">
-        <tr>
-          <td>Where can I find documentation?</td>
-        </tr>
-    </table>    
-    <table class="answer" width="100%">
-        <tr><td><a href="http://isabelle.in.tum.de/docs.html">This
-        way, please</a>. Also have a look at the <a
-        href="http://isabelle.in.tum.de/library/">theory
-        library</a>.</td></tr>
-    </table>
-
-    <table class="question" width="100%">
-        <tr>
-          <td>Is it available for download?</td>
-        </tr>
-    </table> <table class="answer" width="100%"> <tr><td>Yes, it is
-    available from <a
-    href="http://isabelle.in.tum.de/dist/">several mirror
-    sites</a>. It should run on most recent Unix systems (Solaris,
-    Linux, MacOS X, etc.).</td></tr>
-    </table>
-
-
-    <h2>Syntax</h2>
-    <table class="question" width="100%">
-        <tr>
-          <td>There are lots of arrows in Isabelle. What's the
-          difference between <tt>-&gt;</tt>, <tt>=&gt;</tt>, <tt>--&gt;</tt>,
-          and <tt>==&gt;</tt> ?</td>
-        </tr>
-    </table>
-    <table class="answer" width="100%">
-        <tr><td>Isabelle uses the <tt>=&gt;</tt> arrow for the function
-        type (contrary to most functional languages which use
-        <tt>-&gt;</tt>). So <tt>a =&gt; b</tt> is the type of a function
-        that takes an element of <tt>a</tt> as input and gives you an
-        element of <tt>b</tt> as output. The long arrow <tt>--&gt;</tt>
-        and <tt>==&gt;</tt> are object and meta level
-        implication. Roughly speaking, the meta level implication
-        should only be used when stating theorems where it separates
-        the assumptions from the conclusion. Whenever you need an
-        implication inside a HOL formula, use <code>--&gt;</code>.
-        </td></tr>
-    </table>
-
-    <table class="question" width="100%"><tr><td>Where do I have to put those double quotes?</td></tr></table> 
-
-    <table class="answer" width="100%"><tr><td>Isabelle distinguishes between <em>inner</em>
-    and <em>outer</em> syntax. The outer syntax comes from the
-    Isabelle framework, the inner syntax is the one in between
-    quotation marks and comes from the object logic (in this case HOL).
-    With time the distinction between the two becomes obvious, but in
-    the beginning the following rules of thumb may work: types should
-    be inside quotation marks, formulas and lemmas should be inside
-    quotation marks, rules and equations (e.g. for definitions) should
-    be inside quotation marks, commands like <tt>lemma</tt>,
-    <tt>consts</tt>, <tt>primrec</tt>, <tt>constdefs</tt>,
-    <tt>apply</tt>, <tt>done</tt> are without quotation marks, as are
-    the names of constants in constant definitions (<tt>consts</tt>
-    and <tt>constdefs</tt>)
-    </td></tr></table>
-
-    <table class="question" width="100%"><tr><td>What is <tt>"No such
-    constant: _case_syntax"</tt> supposed to tell
-    me?</td></tr></table>
-
-    <table class="answer" width="100%"><tr><td>You get this message if
-    you use a case construct on a datatype and have a typo in the
-    names of the constructor patterns or if the order of the
-    constructors in the case pattern is different from the order in
-    which they where defined (in the datatype definition).
-    </td></tr></table>
-    
-    <table class="question" width="100%"><tr><td>Why doesn't Isabelle understand my
-    equation?</td></tr></table> 
-
-    <table class="answer" width="100%"><tr><td>Isabelle's equality <tt>=</tt> binds
-    relatively strongly, so an equation like <tt>a = b & c</tt> might
-    not be what you intend. Isabelle parses it as <tt>(a = b) &
-    c</tt>.  If you want it the other way around, you must set
-    explicit parentheses as in <tt>a = (b & c)</tt>. This also applies
-    to e.g. <tt>primrec</tt> definitions (see below).</td></tr></table>
-
-    <table class="question" width="100%"><tr><td>What does it mean "not a proper
-    equation"?</td></tr></table>
-      
-    <table class="answer" width="100%"><tr><td>Most commonly this is an instance of the
-    question above. The <tt>primrec</tt> command (and others) expect
-    equations as input, and since equality binds strongly in Isabelle,
-    something like <tt>f x = b & c</tt> is not what you might expect
-    it to be: Isabelle parses it as <tt>(f x = b) & c</tt> (which is
-    indeed not a proper equation). To turn it into an equation you
-    must set explicit parentheses: <tt>f x = (b & c)</tt>.</td></tr></table>
-
-    <table class="question" width="100%"><tr><td>What does it mean
-    "<tt>Not a meta-equality (==)</tt>"?</td></tr></table>
-    
-    <table class="answer" width="100%"><tr><td>This usually occurs if
-    you use <tt>=</tt> for <tt>constdefs</tt>. The <tt>constdefs</tt>
-    and <tt>defs</tt> commands expect not equations, but meta
-    equivalences. Just use the <tt>\&lt;equiv&gt;</tt> or <tt>==</tt>
-    signs instead of <tt>=</tt>.  </td></tr></table>
-
-
-    <h2>Proving</h2>
-
-    <table class="question" width="100%"><tr><td>What does "empty result sequence"
-    mean?</td></tr></table> 
-
-    <table class="answer" width="100%"><tr><td>It means that the applied proof method (or
-    tactic) was unsuccessful. It did not transform the goal in any
-    way, or simply just failed to do anything. You must try another
-    tactic (or give the one you used more hints or lemmas to work
-    with)</td></tr></table>
-
-
-    <table class="question" width="100%"><tr><td>The Simplifier doesn't want to apply my
-    rule, what's wrong?</td></tr></table>
-
-    <table class="answer" width="100%"><tr><td>
-    Most commonly this is a typing problem. The rule you want to apply
-    may require a more special (or just plain different) type from
-    what you have in the current goal. Use the ProofGeneral menu
-    <tt>Isabelle/Isar -&gt; Settings -&gt; Show Types</tt> and the
-    <tt>thm</tt> command on the rule you want to apply to find out if
-    the types are what you expect them to be (also take a look at the
-    types in your goal). <tt>Show Sorts</tt>, <tt>Show Constants</tt>,
-    and <tt>Trace Simplifier</tt> in the same menu may also be
-    helpful.
-    </td></tr></table>
-
-
-    <table class="question" width="100%"><tr><td>If I do <tt>auto</tt>, it leaves me a goal
-    <tt>False</tt>. Is my theorem wrong?</td></tr></table>
-    
-    <table class="answer" width="100%"><tr><td>Not necessarily. It just means that
-    <tt>auto</tt> transformed the goal into something that is not
-    provable any more. That could be due to <tt>auto</tt> doing
-    something stupid, or e.g. due to some earlier step in the proof
-    that lost important information. It is of course also possible
-    that the goal was never provable in the first place.</td></tr></table>
-
-
-    <table class="question" width="100%"><tr><td>Why does <tt>lemma
-    "1+1=2"</tt> fail?</td></tr></table> 
-
-    <table class="answer" width="100%"><tr><td>Because it is not
-    necessarily true.  Isabelle does not assume that 1 and 2 are
-    natural numbers. Try <tt>"(1::nat)+1=2"</tt>
-    instead.</td></tr></table>
-
-
-    <table class="question" width="100%"><tr><td>Can Isabelle find
-    counterexamples?</td></tr></table>
-    
-    <table class="answer" width="100%"><tr><td>
-    <p>
-    For arithmetic goals, <code>arith</code> finds counterexamples.
-    For executable goals, <code>quickcheck</code> tries to find a
-    counterexample.  For goals of a more logical nature (including
-    quantifiers, sets and inductive definitions) <code>refute</code>
-    searches for a countermodel.
-    </p>
-    <p>
-    Otherwise, negate the proposition
-    and instantiate (some) variables with concrete values. You may
-    also need additional assumptions about these values.  For example,
-    <tt>True & False ~= True | False</tt> is a counterexample of <tt>A
-    & B = A | B</tt>, and <tt>A = ~B ==&gt; A & B ~= A | B</tt> is
-    another one. Sometimes Isabelle can help you to find the
-    counterexample: just negate the proposition and do <tt>auto</tt>
-    or <tt>simp</tt>.  If lucky, you are left with the assumptions you
-    need for the counterexample to work.
-    </p>
-    </td></tr></table>
-
-
-    <h2>Interface</h2>
-
-    <table class="question" width="100%"><tr><td>ProofGeneral appears to hang when Isabelle is started.</td></tr></table>
-
-    <table class="answer" width="100%"><tr>This may be because of UTF-8 issues e.g. in Red Hat 8.0/9.0, Suse 9.0/9.1
-    <p>
-   RedHat 8 and later has glibc 2.2 and UTF8 encoded output may be
-   turned on in default locale.  Unfortunately Proof General relies on
-   8-bit characters which are UTF8 prefixes in the output of proof
-   assistants (inc Coq, Isabelle).  These prefix characters are not
-   flushed to stdout individually.  As a workaround we must find a way
-   to disable interpretation of UTF8 in the C libraries that Coq and
-   friends use.
-   <p>
-   Doing this inside PG/Emacs seems tricky; locale settings are
-   set/inherited in strange ways.  One solution is to run the Emacs
-   process itself with an altered locale setting, for example,
-   starting XEmacs by typing:
-   <p>
-   <tt>$  LC_CTYPE=en_GB Isabelle &</tt>
-   <p>
-   The supplied proofgeneral script makes this setting if it sees
-   the string UTF in the current value of LC_CTYPE. Depending on your 
-   distribution, this variable might also be called <tt>LANG</tt>.
-   <p>
-   Alternatively you can set LC_CTYPE or LANG inside a file ~/.i18n, which will
-   be read by the shell.  This will affect all applications, though.
-   [ suggestions for a better workaround inside Emacs would be welcome ]
-   <p>
-   NB: a related issue is warnings from x-symbol: "Emacs language 
-   environment and system locale specify different encoding, I'll 
-   assume `iso-8859-1'".  This warning appears to be mainly harmless.
-   Notice that the variable `buffer-file-coding-system' may determine
-   the format that files are saved in.<td></td></tr></table>
-
-    <table class="question" width="100%"><tr><td>X-Symbol doesn't seem to work. What can I
-    do?</td></tr></table>
-
-    <table class="answer" width="100%"><tr><td>The most common reason why X-Symbol doesn't
-    work is: it's not switched on yet. Assuming you are using
-    ProofGeneral and have installed the X-Symbol package, you still
-    need to turn X-Symbol on in ProofGeneral: select the menu items
-    <tt>Proof-General -&gt; Options -&gt; X-Symbol</tt> and (if you want to
-    save the setting for future sessions) select <tt>Options -&gt; Save
-    Options</tt> in XEmacs.</td></tr></table>
-
-    <table class="question" width="100%"><tr><td>How do I input those X-Symbols anyway?</td></tr></table>
-
-    <table class="answer" width="100%"><tr><td>
-    There are lots of ways to input x-symbols. The one that always
-    works is writing it out in plain text (e.g. for the 'and' symbol
-    type <tt>\&lt;and&gt;</tt>). For common symbols you can try to "paint
-    them in ASCII" and if the xsymbol package recognizes them it will
-    automatically convert them into their graphical
-    representation. Examples: <tt>--&gt;</tt> is converted into the long
-    single arrow, <tt>/\</tt> is converted into the 'and' symbol, the
-    sequence <tt>=_</tt> into the equivalence sign, <tt>&lt;_</tt> into
-    less-or-equal, <tt>[|</tt> into opening semantic brackets, and so
-    on. For greek characters, the <code>rotate</code> command works well:
-    to input &alpha; type <code>a</code> and then <code>C-.</code>
-    (control and <code>.</code>).  You can also display the
-    grid-of-characters in the x-symbol menu to get an overview of the
-    available graphical representations (not all of them already have
-    a meaning in Isabelle, though).
-    </td></tr></table>
-
-    <h2>System</h2>
-
-    <table class="question" width="100%"><tr><td>I want to generate one of those flashy LaTeX
-      documents. How?</td></tr></table>
-
-    <table class="answer" width="100%"><tr><td>You will need to work with the
-    <tt>isatool</tt> command for this (in a Unix shell). The easiest
-    way to get to a document is the following: use <tt>isatool
-    mkdir</tt> to set up a new directory. The command will also create
-    a file called <tt>IsaMakefile</tt> in the current directory.  Put
-    your theory file(s) into the new directory and edit the file
-    <tt>ROOT.ML</tt> in there (following the comments) to tell
-    Isabelle which of the theories to load (and in which order). Go
-    back to the parent directory (where the <tt>IsaMakefile</tt> is)
-    and type <tt>isatool make</tt>. Isabelle should then process your
-    theories and tell you where to find the finished document. For
-    more information on generating documents see the Isabelle Tutorial, Chapter 4.
-    </td></tr></table>
-      
-
-    <table class="question" width="100%"><tr><td>I have a large formalization with many
-      theories. Must I process all of them all of the time?</td></tr></table>
-
-    <table class="answer" width="100%"><tr><td>No, you can tell Isabelle to build a so-called
-    heap image. This heap image can contain your preloaded
-    theories. To get one, set up a directory with a <tt>ROOT.ML</tt>
-    file (as for generating a document) and use the command
-    <tt>isatool usedir -b HOL MyImage</tt> in that directory to create
-    an image <tt>MyImage</tt> using the parent logic <tt>HOL</tt>.
-    You should then be able to invoke Isabelle with <tt>Isabelle -l
-    MyImage</tt> and have everything that is loaded in ROOT.ML
-    instantly available.</td></tr></table>
-    
-    <table class="question" width="100%"><tr><td>Does Isabelle run on Windows?</td></tr></table>
-
-    <table class="answer" width="100%"><tr><td> After a fashion, yes,
-    but Isabelle is not being developed for Windows. A friendly user
-    (Norbert V&ouml;lker) has managed to get a minimal Isabelle environment
-    to work on it.  See the description on <a
-    href="http://cswww.essex.ac.uk/Research/FSS/projects/isawin/">his
-    website</a>. Be warned, though: emphasis is on <em>minimal</em>,
-    working with Windows is no fun at all. To enjoy Isabelle in its
-    full beauty it is recommended to get a Linux distribution (they
-    are inexpensive, any reasonably recent one should work, dualboot
-    Windows/Linux should pose no problems).
-    </td></tr></table>
-
Binary file Admin/page/main-content/favicon.ico has changed
--- a/Admin/page/main-content/index.content	Mon Jun 06 14:12:07 2005 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,138 +0,0 @@
-%title%
-Isabelle
-
-%body%
-
-<p>
-
-<h2>What is Isabelle?</h2>
-
-Isabelle is a popular generic theorem proving environment developed at
-Cambridge University (<a
-href="http://www.cl.cam.ac.uk/users/lcp/">Larry Paulson</a>) and TU
-Munich (<a href="http://www.in.tum.de/~nipkow/">Tobias Nipkow</a>).
-See the <a href="overview.html">Isabelle overview</a>.
-
-<p>
-
-These pages provide general information on Isabelle, more specific
-information is available from the local pages
-
-<ul>
-
-<li><a
-href="http://www.cl.cam.ac.uk/Research/HVG/Isabelle/cambridge.html"><strong>Isabelle
-at Cambridge</strong></a>
-
-<li><a href="http://www4.in.tum.de/proj/theoremprov/group.html"><strong>Isabelle
-at Munich</strong></a>
-
-</ul>
-
-See there for information on projects done with Isabelle, mailing list
-archives, research papers, the Isabelle bibliography, and Isabelle
-workshops and courses.
-
-<p>
-
-<h2>Isabelle 2005 - Preview</h2>
-
-<ul>
-<li>New commands for instantiating locales</li>
-<li>New command for finding matching rewrite rules</li>
-<li>Finding theorems by term patterns</li>
-<li>New automatic transitivity reasoner</li>
-<li>New command for ad-hoc theory viewing and printing</li>
-<li>Much extended and improved theory of finite sets</li>
-<li>New syntax that will allow &gt; and &gt;= in addition to &lt; and &lt;=</li>
-</ul>
-
-<h2>Contributing</h2> 
-
-Did you have to prove a lemma that should have been part of the
-Isabelle distribution?  Send it to us!  <p> We will collect theorems
-sent to <a
-href="&#109;&#97;&#105;&#108;&#116;&#111;:&#105;&#115;&#97;&#98;&#101;&#108;&#108;&#101;-&#108;&#101;&#109;&#109;&#97;&#115;&#64;&#99;&#108;&#46;&#99;&#97;&#109;&#46;&#97;&#99;&#46;&#117;&#107;">&#105;&#115;&#97;&#98;&#101;&#108;&#108;&#101;-&#108;&#101;&#109;&#109;&#97;&#115;&#64;&#99;&#108;&#46;&#99;&#97;&#109;&#46;&#97;&#99;&#46;&#117;&#107;</a>.
-Accepted material will be included in the Isabelle sources, with
-credit given to the author. Note that the Isabelle sources are
-distributed under the BSD license.  Lemmas should be general, useful,
-and not too large. For larger developments you might want to consider
-a submission to the <a href="http://afp.sf.net">Archive of Formal
-Proofs</a>.
-
-
-<h2>Course Material, Exercises</h2>
-
-The <a
-href="http://isabelle.in.tum.de/coursematerial/">course material</a>
-page makes slides, demos, and exercises of a growing number of
-Isabelle courses available. It is meant as a resource for people 
-who would like to learn Isabelle as well as for those who would like 
-to teach it.
-
-<p>
-
-<h2>AFP - The Archive of Formal Proofs</h2>
-
-The <a href="http://afp.sf.net">Archive of Formal Proofs</a> is a
-collection of proof libraries, examples, and larger scientifc
-developments, mechanically checked in Isabelle. It is organized in the
-way of a scientific journal. Submissions are refereed.
-
-<p>
-
-<h2><!-- _GP_ distname --></h2>
-New features in <strong><!-- _GP_ distname --></strong> include
-<ul>
-<li>New image HOL4 with imported library from HOL4 system on top of
-  HOL-Complex (about 2500 additional theorems).</li>
-
-<li>New theory Ring_and_Field with over 250 basic numerical laws, 
-  all proved in axiomatic type classes for semirings, rings and fields.</li>
-
-<li>New locale <code>ring</code> for non-commutative rings in HOL-Algebra.</li>
-
-<li>Type <code>rat</code> of the rational numbers available in HOL-Complex.</li>
-
-<li>New theory of matrices with an application to linear programming in HOL-Matrix.</li>
-
-<li>Improved locales (named proof contexts), instantiation of locales.</li>
-
-<li>Improved handling of linear and partial orders in simplifier.</li>
- 
-<li>New <code>specification</code> command for definition by specification.</li>  
-
-<li>New Isar command <code>finalconsts</code> prevents constants being given a definition later.</li>  
-
-<li><code>arith</code> now generates counterexamples for reals as well.</li>
-
-<li>New <code>quickcheck</code> command
-    to search for counterexamples of executable goals.
-  (see HOL/ex/Quickcheck_Examples.thy)</li>
-<li>New <code>refute</code> command
-    to search for finite countermodels of goals.
-  (see HOL/ex/Refute_Examples.thy)
-</li>
-
-<li>Presentation and x-symbol enhancements, greek letters and
-sub/superscripts allowed in identifiers.</li>
-</ul>
-<a href="dist/<!-- _GP_ distname -->/NEWS">[Complete Changelog]</a>
-<p>
-The <strong><!-- _GP_ distname --></strong> distribution is available
-from several <a href="dist/index.html">mirror sites</a>.  It includes
-source and binary packages and browsable documentation. You can also
-browse the <a href="library/index.html">Isabelle theory library</a>
-online. For the curious, there is a nightly generated <a
-href="http://isabelle.in.tum.de/devel/">development snapshot</a>
-available.
-
-<p>
-
-<h2>Mailing list</h2>
-
-Use the mailing list <a
-href="&#109;&#97;&#105;&#108;&#116;&#111;:&#105;&#115;&#97;&#98;&#101;&#108;&#108;&#101;-&#117;&#115;&#101;&#114;&#115;&#64;&#99;&#108;&#46;&#99;&#97;&#109;&#46;&#97;&#99;&#46;&#117;&#107;">&#105;&#115;&#97;&#98;&#101;&#108;&#108;&#101;-&#117;&#115;&#101;&#114;&#115;&#64;&#99;&#108;&#46;&#99;&#97;&#109;&#46;&#97;&#99;&#46;&#117;&#107;</a>
-and its <a href="http://www.cl.cam.ac.uk/users/lcp/archive/">archive</a> to
-discuss problems and results.  To subscribe, <a href="&#109;&#97;&#105;&#108;&#116;&#111;:&#108;&#99;&#112;&#64;&#99;&#108;&#46;&#99;&#97;&#109;&#46;&#97;&#99;&#46;&#117;&#107;?subject=subscribe&body=Please%20add%20me%20to%20the%20Isabelle%20mailing%20list">contact Larry Paulson</a>.
-
Binary file Admin/page/main-content/isabelle-lemmas.gif has changed
--- a/Admin/page/main-content/logics.content	Mon Jun 06 14:12:07 2005 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,109 +0,0 @@
-%title%
-Isabelle's Logics
-
-%body%
-
-Isabelle can be viewed from two main perspectives.  On the one hand it
-may serve as a generic framework for rapid prototyping of deductive
-systems.  On the other hand, major existing logics like
-<strong>Isabelle/HOL</strong> provide a theorem proving environment
-ready to use for sizable applications.
-
-
-<h2>Isabelle's Logics</h2>
-
-The Isabelle distribution includes a large body of object logics and
-other examples (see the <a href="library/index.html">Isabelle theory
-library</a>).
-
-<dl>
-
-<dt><a
-href="library/HOL/index.html"><strong>Isabelle/HOL</strong></a><dd> is
-a version of classical higher-order logic resembling that of the <A
-HREF="http://www.cl.cam.ac.uk/Research/HVG/HOL/">HOL System</A>. The
-main libraries of the HOL 4 System are now <a
-href="library/HOL/HOL-Complex/HOL4/index.html">available in
-Isabelle</a>.
-
-<dt><a
-href="library/HOLCF/index.html"><strong>Isabelle/HOLCF</strong></a><dd>
-adds Scott's Logic for Computable Functions (domain theory) to HOL.
-
-<dt><a
-href="library/FOL/index.html"><strong>Isabelle/FOL</strong></a><dd>
-provides basic classical and intuitionistic first-order logic.  It is
-polymorphic.
-
-<dt><a
-href="library/ZF/index.html"><strong>Isabelle/ZF</strong></a><dd>
-offers a formulation of Zermelo-Fraenkel set theory on top of FOL.
-
-</dl>
-
-<p>
-
-Isabelle/HOL is currently the best developed object logic, including
-an extensive library of (concrete) mathematics, and various packages
-for advanced definitional concepts (like (co-)inductive sets and
-types, well-founded recursion etc.).  The distribution also includes
-some large applications, for example correctness proofs of
-cryptographic protocols (<a
-href="library/HOL/Auth/index.html">HOL/Auth</a>) or communication
-protocols (<a href="library/HOLCF/IOA/index.html">HOLCF/IOA</a>).
-
-<p>
-
-Isabelle/ZF provides another starting point for applications, with a
-slightly less developed library.  Its definitional packages are
-similar to those of Isabelle/HOL.  Untyped ZF provides more advanced
-constructions for sets than simply-typed HOL.
-
-<p>
-
-There are a few minor object logics that may serve as further
-examples: <a href="library/CTT/index.html">CTT</a> is an extensional
-version of Martin-L&ouml;f's Type Theory, <a
-href="library/Cube/index.html">Cube</a> is Barendregt's Lambda Cube.
-There are also some sequent calculus examples under <a
-href="library/Sequents/index.html">Sequents</a>, including modal and
-linear logics.  Again see the <a href="library/index.html">Isabelle
-theory library</a> for other examples.
-
-
-<h3>Defining Logics</h3>
-
-Logics are not hard-wired into Isabelle, but formulated within
-Isabelle's meta logic: <strong>Isabelle/Pure</strong>.  There are
-quite a lot of syntactic and deductive tools available in generic
-Isabelle.  Thus defining new logics or extending existing ones
-basically works as follows:
-
-<ol>
-
-<li>declare concrete syntax (via mixfix grammar and syntax macros),
-
-<li>declare abstract syntax (as higher-order constants),
-
-<li>declare inference rules (as meta-logical propositions),
-
-<li>instantiate generic automatic proof tools (simplifier, classical
-tableau prover etc.),
-
-<li>manually code special proof procedures (via tacticals or
-hand-written ML).
-
-</ol>
-
-The first three steps above are fully declarative and involve no ML
-programming at all.  Thus one already gets a decent deductive
-environment based on primitive inferences (by employing the built-in
-mechanisms of Isabelle/Pure, in particular higher-order unification
-and resolution).
-
-For sizable applications some degree of automated reasoning is
-essential.  Instantiating existing tools like the classical tableau
-prover involves only minimal ML-based setup.  One may also write
-arbitrary proof procedures or even theory extension packages in ML,
-without breaching system soundness (Isabelle follows the well-known
-<em>LCF system approach</em> to achieve a secure system).
Binary file Admin/page/main-content/munich.gif has changed
--- a/Admin/page/main-content/overview.content	Mon Jun 06 14:12:07 2005 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,69 +0,0 @@
-%title%
-Isabelle overview
-
-%body%
-
-<p>
-<a href="http://isabelle.in.tum.de/">Isabelle</a> is a generic proof
-assistant. It allows mathematical formulas to be expressed in a formal
-language and provides tools for proving those formulas in a logical
-calculus. The main application is the formalization of mathematical proofs
-and in particular <em>formal verification</em>, which includes proving the
-correctness of computer hardware or software and proving properties of
-computer languages and protocols.
-</p>
-
-<p>Compared with similar tools, Isabelle's distinguishing feature is
-its flexibility. Most proof assistants are built around a single
-formal calculus, typically higher-order logic. Isabelle has the
-capacity to accept a variety of formal calculi. The distributed
-version supports higher-order logic but also axiomatic set theory and
-several <a href="logics.html">other formalisms</a>. Isabelle provides
-excellent notational support: new notations can be introduced, using
-normal mathematical symbols. Proofs can be written in a structured
-notation based upon traditional proof style, or more straightforwardly
-as sequences of commands. Definitions and proofs may include TeX
-source, from which Isabelle can automatically generate typeset
-documents.</p>
-
-<p>The main limitation of all such systems is that proving theorems
-requires much effort from an expert user. Isabelle incorporates some
-tools to improve the user's productivity by automating some parts of
-the proof process. In particular, Isabelle's <em>classical
-reasoner</em> can perform long chains of reasoning steps to prove
-formulas. The <em>simplifier</em> can reason with and about equations.
-Linear <em>arithmetic</em> facts are proved automatically. Isabelle is
-closely integrated with the <a
-href="http://proofgeneral.inf.ed.ac.uk/">Proof
-General</a> user interface, which eases the task of writing and
-maintaining proof scripts. </p>
-
-A hyperlinked <a href="PG-preview.mov">preview</a> demonstrating Isabelle and Proof
-General is provided in 
-<a href="http://www.apple.com/quicktime/download/">QuickTime format</a>, 
-and also as a non-hyperlinked <a href="PG-preview.pdf">PDF file</a>.
-
-<p>Isabelle comes with large theories of formally verified
-mathematics, including elementary number theory (for example, Gauss's
-law of quadratic reciprocity), analysis (basic properties of limits,
-derivatives and integrals), algebra (up to Sylow's theorem) and set
-theory (the relative consistency of the Axiom of Choice). Also
-provided are numerous examples arising from research into formal
-verification. Isabelle is <a href="dist/">distributed</a> free of
-charge to academic users.</p>
-
-<p>Ample <a href="dist/docs.html">documentation</a> is available,
-including a <a
-href="http://www4.in.tum.de/~nipkow/LNCS2283/">Tutorial</a> published
-by Springer-Verlag. Several <a
-href="http://www.cl.cam.ac.uk/users/lcp/papers/isabelle.html">papers</a>
-on the design of Isabelle are available. There is also a list of past
-and present <a
-href="http://www.cl.cam.ac.uk/Research/HVG/Isabelle/projects.html">projects</a>
-undertaken using Isabelle. </p>
-
-<p>Isabelle is a joint project between <a
-href="http://www.cl.cam.ac.uk/users/lcp/">Lawrence C. Paulson</a>
-(University of Cambridge, UK) and <a
-href="http://www.in.tum.de/~nipkow/">Tobias Nipkow</a> (Technical
-University of Munich, Germany).</p>
--- a/Admin/page/main-layout/navigation.html	Mon Jun 06 14:12:07 2005 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,17 +0,0 @@
-<div style="text-align: center; margin-top: 30px; margin-bottom: 45px">
-<a href="index.html">
-  <img src="isabelle.gif" width="100" height="86" alt="[Isabelle logo]" border="0">
-</a>
-</div>
-<!-- _GP_ setnavcolor("#F0F0F0") -->
-<!-- _GP_ page("Home", "index") -->
-<!-- _GP_ empty_line(3) -->
-<!-- _GP_ page("Overview", "overview") -->
-<!-- _GP_ empty_line(3) -->
-<!-- _GP_ page("Logics", "logics") -->
-<!-- _GP_ empty_line(3) -->
-<!-- _GP_ page("Documentation", "docs") -->
-<!-- _GP_ empty_line(3) -->
-<!-- _GP_ page("Download", "dist/index") -->
-<!-- _GP_ empty_line(3) -->
-&nbsp;
--- a/Admin/page/main-layout/template.html	Mon Jun 06 14:12:07 2005 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,70 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
-<html>
-  <!-- _GP_ include("$pwd/common/functions.pl") -->
-  <head>
-    <title> <!-- _GP_ content("title") --> </title>
-    <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-    <LINK REL="SHORTCUT ICON" HREF="favicon.ico">
-    <!-- _GP_ content("meta") -->
-  </head>
-
-  <body text="#000000" bgcolor="#FFFFFF" link="#0000FF" vlink="#000099" alink="#404040">
-
-    <table border="0" cellspacing="5" width="100%">
-
-      <tr>
-        <td width="188" valign="top" bgcolor="#608080"> 
-          <!-- _GP_ include("$pwd/main-layout/navigation.html") -->
-          <table height="20"><tr><td>&nbsp;</td></tr></table>
-        </td>
-
-        <td width="100%" valign="top">
-
-          <div style="text-align: center">
-            <table width="95%" border="0" cellspacing="10" cellpadding="10">
-              <tr>		
-                <td width="60%" align="center" bgcolor="#aacccc">
-                  <b>
-                  <font face="Arial,Helvetica" size="+2"><!-- _GP_ content("title") --></font>
-                  </b>
-                </td>
-		<td width="40%" valign="middle" align="center" nowrap>
-		  <a href="http://www4.in.tum.de/proj/theoremprov/group.html"><img src="munich.gif"
-		      border=0 width="48" height="59" alt="[Munich logo]"></a>
-		  &nbsp;
-		  <a href="http://www.cl.cam.ac.uk/Research/HVG/Isabelle/cambridge.html"><img
-		      src="cambridge.gif" width="150" height="49" border=0 alt="[Cambridge logo]"></a>
-		</td>
-              </tr>
-            </table>
-          </div>
-
-          <p>&nbsp;
-
-          <div style="text-align: center">
-            <table width="99%" border="0" cellspacing="0" cellpadding="10">
-              <tr>
-                <td align="left">
-                  <!-- _GP_ content("body") -->
-                </td>
-              </tr>
-            </table>
-          </div>
-        </td>
-      </tr>
-
-      <tr>
-        <td align="right" colspan="2" height="20">
-          <table border="0" cellpadding="4" cellspacing="0">
-            <tr><td>
-                <font size="-1" face="helvetica, arial">
-                  last update at <!-- _GP_ when --> 
-                </font>
-            </td></tr>
-          </table>
-        </td>
-      </tr>
-      
-    </table>
-  </body>
-</html>