src/HOL/NanoJava/document/root.tex
author wenzelm
Sat, 07 Apr 2012 16:41:59 +0200
changeset 47389 e8552cba702d
parent 11855 bdae1f29f35d
child 68649 f849fc1cb65e
permissions -rw-r--r--
explicit checks stable_finished_theory/stable_command allow parallel asynchronous command transactions; tuned;
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
11376
bf98ad1c22c6 added NanoJava
oheimb
parents:
diff changeset
     1
\documentclass[11pt,a4paper]{article}
11855
bdae1f29f35d include document graph;
wenzelm
parents: 11565
diff changeset
     2
\usepackage{graphicx,latexsym,isabelle,isabellesym,latexsym,pdfsetup}
11376
bf98ad1c22c6 added NanoJava
oheimb
parents:
diff changeset
     3
bf98ad1c22c6 added NanoJava
oheimb
parents:
diff changeset
     4
\urlstyle{tt}
bf98ad1c22c6 added NanoJava
oheimb
parents:
diff changeset
     5
\pagestyle{myheadings}
bf98ad1c22c6 added NanoJava
oheimb
parents:
diff changeset
     6
bf98ad1c22c6 added NanoJava
oheimb
parents:
diff changeset
     7
\addtolength{\hoffset}{-1,5cm}
bf98ad1c22c6 added NanoJava
oheimb
parents:
diff changeset
     8
\addtolength{\textwidth}{4cm}
bf98ad1c22c6 added NanoJava
oheimb
parents:
diff changeset
     9
\addtolength{\voffset}{-2cm}
bf98ad1c22c6 added NanoJava
oheimb
parents:
diff changeset
    10
\addtolength{\textheight}{4cm}
bf98ad1c22c6 added NanoJava
oheimb
parents:
diff changeset
    11
bf98ad1c22c6 added NanoJava
oheimb
parents:
diff changeset
    12
%remove spaces from the isabelle environment (trivlist makes them too large)
bf98ad1c22c6 added NanoJava
oheimb
parents:
diff changeset
    13
\renewenvironment{isabelle}
bf98ad1c22c6 added NanoJava
oheimb
parents:
diff changeset
    14
{\begin{isabellebody}}
bf98ad1c22c6 added NanoJava
oheimb
parents:
diff changeset
    15
{\end{isabellebody}}
bf98ad1c22c6 added NanoJava
oheimb
parents:
diff changeset
    16
bf98ad1c22c6 added NanoJava
oheimb
parents:
diff changeset
    17
\newcommand{\nJava}{\it NanoJava}
bf98ad1c22c6 added NanoJava
oheimb
parents:
diff changeset
    18
bf98ad1c22c6 added NanoJava
oheimb
parents:
diff changeset
    19
%remove clutter from the toc
bf98ad1c22c6 added NanoJava
oheimb
parents:
diff changeset
    20
\setcounter{secnumdepth}{3}
bf98ad1c22c6 added NanoJava
oheimb
parents:
diff changeset
    21
\setcounter{tocdepth}{2}
bf98ad1c22c6 added NanoJava
oheimb
parents:
diff changeset
    22
bf98ad1c22c6 added NanoJava
oheimb
parents:
diff changeset
    23
\begin{document}
bf98ad1c22c6 added NanoJava
oheimb
parents:
diff changeset
    24
bf98ad1c22c6 added NanoJava
oheimb
parents:
diff changeset
    25
\title{\nJava}
bf98ad1c22c6 added NanoJava
oheimb
parents:
diff changeset
    26
\author{David von Oheimb \\ Tobias Nipkow}
bf98ad1c22c6 added NanoJava
oheimb
parents:
diff changeset
    27
\maketitle
bf98ad1c22c6 added NanoJava
oheimb
parents:
diff changeset
    28
bf98ad1c22c6 added NanoJava
oheimb
parents:
diff changeset
    29
\begin{abstract}\noindent
bf98ad1c22c6 added NanoJava
oheimb
parents:
diff changeset
    30
  These theories define {\nJava}, a very small fragment of the programming 
bf98ad1c22c6 added NanoJava
oheimb
parents:
diff changeset
    31
  language Java (with essentially just classes) derived from the one given 
bf98ad1c22c6 added NanoJava
oheimb
parents:
diff changeset
    32
  in \cite{NipkowOP00}.
bf98ad1c22c6 added NanoJava
oheimb
parents:
diff changeset
    33
  For {\nJava}, an operational semantics is given as well as a Hoare logic,
11477
4d042d3f957d changed to full expressions with side effects
oheimb
parents: 11376
diff changeset
    34
  which is proved both sound and (relatively) complete. 
4d042d3f957d changed to full expressions with side effects
oheimb
parents: 11376
diff changeset
    35
  The Hoare logic supports side-effecting expressions and
11376
bf98ad1c22c6 added NanoJava
oheimb
parents:
diff changeset
    36
  implements a new approach for handling auxiliary variables.
bf98ad1c22c6 added NanoJava
oheimb
parents:
diff changeset
    37
  A more complex Hoare logic covering a much larger subset of Java is described
bf98ad1c22c6 added NanoJava
oheimb
parents:
diff changeset
    38
  in \cite{DvO-CPE01}.\\
11565
ab004c0ecc63 Minor improvements, added Example
oheimb
parents: 11560
diff changeset
    39
See also the homepage of project Bali at \url{http://isabelle.in.tum.de/Bali/}
ab004c0ecc63 Minor improvements, added Example
oheimb
parents: 11560
diff changeset
    40
and the conference version of this document \cite{NanoJava}.
11376
bf98ad1c22c6 added NanoJava
oheimb
parents:
diff changeset
    41
\end{abstract}
bf98ad1c22c6 added NanoJava
oheimb
parents:
diff changeset
    42
bf98ad1c22c6 added NanoJava
oheimb
parents:
diff changeset
    43
\tableofcontents
bf98ad1c22c6 added NanoJava
oheimb
parents:
diff changeset
    44
\parindent 0pt \parskip 0.5ex
bf98ad1c22c6 added NanoJava
oheimb
parents:
diff changeset
    45
11855
bdae1f29f35d include document graph;
wenzelm
parents: 11565
diff changeset
    46
\begin{center}
bdae1f29f35d include document graph;
wenzelm
parents: 11565
diff changeset
    47
  \includegraphics[scale=0.7]{session_graph}  
bdae1f29f35d include document graph;
wenzelm
parents: 11565
diff changeset
    48
\end{center}
bdae1f29f35d include document graph;
wenzelm
parents: 11565
diff changeset
    49
11376
bf98ad1c22c6 added NanoJava
oheimb
parents:
diff changeset
    50
\newpage
bf98ad1c22c6 added NanoJava
oheimb
parents:
diff changeset
    51
\input{session}
bf98ad1c22c6 added NanoJava
oheimb
parents:
diff changeset
    52
bf98ad1c22c6 added NanoJava
oheimb
parents:
diff changeset
    53
\newpage
bf98ad1c22c6 added NanoJava
oheimb
parents:
diff changeset
    54
\nocite{*}
bf98ad1c22c6 added NanoJava
oheimb
parents:
diff changeset
    55
\bibliographystyle{abbrv}
bf98ad1c22c6 added NanoJava
oheimb
parents:
diff changeset
    56
\bibliography{root}
bf98ad1c22c6 added NanoJava
oheimb
parents:
diff changeset
    57
bf98ad1c22c6 added NanoJava
oheimb
parents:
diff changeset
    58
\end{document}