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