\documentclass[11pt,a4paper]{article}
\usepackage{graphicx,latexsym,isabelle,isabellesym,pdfsetup}
\urlstyle{rm}
\pagestyle{myheadings}
\addtolength{\hoffset}{-1,5cm}
\addtolength{\textwidth}{4cm}
\addtolength{\voffset}{-2cm}
\addtolength{\textheight}{4cm}
%subsection instead of section to make the toc readable
\renewcommand{\thesubsection}{\arabic{subsection}}
\renewcommand{\isamarkupheader}[1]{\newpage\markright{Theory~\isabellecontext}\subsection{#1}}
\renewcommand{\isamarkupsection}[1]{\subsubsection{#1}}
%remove spaces from the isabelle environment (trivlist makes them too large)
\renewenvironment{isabelle}
{\begin{isabellebody}}
{\end{isabellebody}}
\newcommand{\mJava}{$\mu$Java}
%remove clutter from the toc
\setcounter{secnumdepth}{3}
\setcounter{tocdepth}{2}
\begin{document}
\title{\mJava}
\author{Gerwin Klein \\ Tobias Nipkow \\ David von Oheimb \\ Cornelia Pusch}
\maketitle
\begin{abstract}\noindent
This formal development defines {\mJava}, a small fragment of the
programming language Java (with essentially just classes), together with a
corresponding virtual machine, a specification of its bytecode verifier
and a lightweight bytecode verifier.
It is shown that {\mJava} and the given specification of the bytecode
verifier are type-safe, and that the lightweight bytecode verifier
is functionally equivalent to the bytecode verifier specification.
See also the homepage of project Bali at \url{http://isabelle.in.tum.de/Bali/}.
\end{abstract}
\tableofcontents
\parindent 0pt \parskip 0.5ex
\begin{center}
\includegraphics[scale=0.4]{session_graph}
\end{center}
\newpage
\input{session}
\newpage
\nocite{*}
\bibliographystyle{abbrv}
\bibliography{root}
\end{document}