Skip to content
Snippets Groups Projects
iris.tex 2.11 KiB
Newer Older
\documentclass[10pt]{article}
\usepackage{lmodern}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}

\newif\ifslow\slowfalse %\slowtrue
\ifslow
	\usepackage[english]{babel}
	\usepackage[babel=true]{microtype}
\fi

\usepackage[backend=biber]{biblatex}
\bibliography{bib}

\input{setup}


Ralf Jung's avatar
Ralf Jung committed
\title{\bfseries The Iris 3.1 Documentation}
Ralf Jung's avatar
Ralf Jung committed
\author{\url{http://plv.mpi-sws.org/iris/}}
\begin{document}

\maketitle
\thispagestyle{empty}
\vfill
\begin{abstract}
This document describes formally the Iris program logic.
Every result in this document has been fully verified in Coq.
Ralf Jung's avatar
Ralf Jung committed
The latest versions of this document and the Coq formalization can be found in the git repository at \url{https://gitlab.mpi-sws.org/iris/iris}.
For further information, visit the Iris project website at \url{http://plv.mpi-sws.org/iris/}.
\end{abstract}

Ralf Jung's avatar
Ralf Jung committed
\clearpage\begingroup
Ralf Jung's avatar
Ralf Jung committed
\endgroup

\clearpage\begingroup
Ralf Jung's avatar
Ralf Jung committed
\section{Iris from the Ground Up}
Ralf Jung's avatar
Ralf Jung committed
In \citetitle{iris-ground-up}~\cite{iris-ground-up}, we describe Iris~3.1 in a bottom-up way.
That paper is hence much more suited as an introduction to the model of Iris than this reference, which mostly contains definitions, not explanations or examples.
The following differences between Iris as described in \citetitle{iris-ground-up} and the latest version documented here are worth mentioning:
\begin{itemize}
\item As an experimental feature, we added the \emph{plainly modality} $\plainly$.
Ralf Jung's avatar
Ralf Jung committed
\item As an experimental feature, weakest preconditions take a \emph{stuckness} $\stuckness$ as parameter, indicating whether the program may get stuck or not.
Ralf Jung's avatar
Ralf Jung committed
\end{itemize}
\endgroup
\clearpage\begingroup
Ralf Jung's avatar
Ralf Jung committed
\endgroup
\clearpage\begingroup
Ralf Jung's avatar
Ralf Jung committed
\endgroup
\clearpage\begingroup
\input{base-logic}
Ralf Jung's avatar
Ralf Jung committed
\endgroup
\clearpage\begingroup
Ralf Jung's avatar
Ralf Jung committed
\endgroup
\clearpage\begingroup
Ralf Jung's avatar
Ralf Jung committed
\endgroup
\clearpage\begingroup
\input{language}
Ralf Jung's avatar
Ralf Jung committed
\endgroup
\clearpage\begingroup
\input{program-logic}
Ralf Jung's avatar
Ralf Jung committed
\endgroup
\clearpage\begingroup
Ralf Jung's avatar
Ralf Jung committed
\endgroup
\clearpage\begingroup
\input{paradoxes}
Ralf Jung's avatar
Ralf Jung committed
\endgroup
\clearpage\begingroup
\printbibliography