src/HOL/Statespace/document/root.tex
author schirmer
Wed, 24 Oct 2007 18:36:09 +0200
changeset 25171 4a9c25bffc9b
child 25174 d70d6dbc3a60
permissions -rw-r--r--
added Statespace library
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
25171
4a9c25bffc9b added Statespace library
schirmer
parents:
diff changeset
     1
\documentclass[11pt,a4paper]{article}
4a9c25bffc9b added Statespace library
schirmer
parents:
diff changeset
     2
\usepackage{isabelle,isabellesym}
4a9c25bffc9b added Statespace library
schirmer
parents:
diff changeset
     3
4a9c25bffc9b added Statespace library
schirmer
parents:
diff changeset
     4
% further packages required for unusual symbols (see also
4a9c25bffc9b added Statespace library
schirmer
parents:
diff changeset
     5
% isabellesym.sty), use only when needed
4a9c25bffc9b added Statespace library
schirmer
parents:
diff changeset
     6
4a9c25bffc9b added Statespace library
schirmer
parents:
diff changeset
     7
%\usepackage{amssymb}
4a9c25bffc9b added Statespace library
schirmer
parents:
diff changeset
     8
  %for \<leadsto>, \<box>, \<diamond>, \<sqsupset>, \<mho>, \<Join>,
4a9c25bffc9b added Statespace library
schirmer
parents:
diff changeset
     9
  %\<lhd>, \<lesssim>, \<greatersim>, \<lessapprox>, \<greaterapprox>,
4a9c25bffc9b added Statespace library
schirmer
parents:
diff changeset
    10
  %\<triangleq>, \<yen>, \<lozenge>
4a9c25bffc9b added Statespace library
schirmer
parents:
diff changeset
    11
4a9c25bffc9b added Statespace library
schirmer
parents:
diff changeset
    12
%\usepackage[greek,english]{babel}
4a9c25bffc9b added Statespace library
schirmer
parents:
diff changeset
    13
  %option greek for \<euro>
4a9c25bffc9b added Statespace library
schirmer
parents:
diff changeset
    14
  %option english (default language) for \<guillemotleft>, \<guillemotright>
4a9c25bffc9b added Statespace library
schirmer
parents:
diff changeset
    15
4a9c25bffc9b added Statespace library
schirmer
parents:
diff changeset
    16
%\usepackage[latin1]{inputenc}
4a9c25bffc9b added Statespace library
schirmer
parents:
diff changeset
    17
  %for \<onesuperior>, \<onequarter>, \<twosuperior>, \<onehalf>,
4a9c25bffc9b added Statespace library
schirmer
parents:
diff changeset
    18
  %\<threesuperior>, \<threequarters>, \<degree>
4a9c25bffc9b added Statespace library
schirmer
parents:
diff changeset
    19
4a9c25bffc9b added Statespace library
schirmer
parents:
diff changeset
    20
%\usepackage[only,bigsqcap]{stmaryrd}
4a9c25bffc9b added Statespace library
schirmer
parents:
diff changeset
    21
  %for \<Sqinter>
4a9c25bffc9b added Statespace library
schirmer
parents:
diff changeset
    22
4a9c25bffc9b added Statespace library
schirmer
parents:
diff changeset
    23
%\usepackage{eufrak}
4a9c25bffc9b added Statespace library
schirmer
parents:
diff changeset
    24
  %for \<AA> ... \<ZZ>, \<aa> ... \<zz> (also included in amssymb)
4a9c25bffc9b added Statespace library
schirmer
parents:
diff changeset
    25
4a9c25bffc9b added Statespace library
schirmer
parents:
diff changeset
    26
%\usepackage{textcomp}
4a9c25bffc9b added Statespace library
schirmer
parents:
diff changeset
    27
  %for \<cent>, \<currency>
4a9c25bffc9b added Statespace library
schirmer
parents:
diff changeset
    28
4a9c25bffc9b added Statespace library
schirmer
parents:
diff changeset
    29
% this should be the last package used
4a9c25bffc9b added Statespace library
schirmer
parents:
diff changeset
    30
\usepackage{pdfsetup}
4a9c25bffc9b added Statespace library
schirmer
parents:
diff changeset
    31
4a9c25bffc9b added Statespace library
schirmer
parents:
diff changeset
    32
% urls in roman style, theory text in math-similar italics
4a9c25bffc9b added Statespace library
schirmer
parents:
diff changeset
    33
\urlstyle{rm}
4a9c25bffc9b added Statespace library
schirmer
parents:
diff changeset
    34
\isabellestyle{it}
4a9c25bffc9b added Statespace library
schirmer
parents:
diff changeset
    35
4a9c25bffc9b added Statespace library
schirmer
parents:
diff changeset
    36
4a9c25bffc9b added Statespace library
schirmer
parents:
diff changeset
    37
\begin{document}
4a9c25bffc9b added Statespace library
schirmer
parents:
diff changeset
    38
4a9c25bffc9b added Statespace library
schirmer
parents:
diff changeset
    39
\title{State Spaces: The Locale Way}
4a9c25bffc9b added Statespace library
schirmer
parents:
diff changeset
    40
\author{Norbert Schirmer}
4a9c25bffc9b added Statespace library
schirmer
parents:
diff changeset
    41
\maketitle
4a9c25bffc9b added Statespace library
schirmer
parents:
diff changeset
    42
4a9c25bffc9b added Statespace library
schirmer
parents:
diff changeset
    43
\tableofcontents
4a9c25bffc9b added Statespace library
schirmer
parents:
diff changeset
    44
4a9c25bffc9b added Statespace library
schirmer
parents:
diff changeset
    45
%\parindent 0pt\parskip 0.5ex
4a9c25bffc9b added Statespace library
schirmer
parents:
diff changeset
    46
4a9c25bffc9b added Statespace library
schirmer
parents:
diff changeset
    47
\section{Introduction}
4a9c25bffc9b added Statespace library
schirmer
parents:
diff changeset
    48
4a9c25bffc9b added Statespace library
schirmer
parents:
diff changeset
    49
These theories introduce a new command called \isacommand{statespace}. 
4a9c25bffc9b added Statespace library
schirmer
parents:
diff changeset
    50
It's usage is similar to \isacommand{record}s. However, the command does not introduce a new type but an
4a9c25bffc9b added Statespace library
schirmer
parents:
diff changeset
    51
abstract specification based on the locale infrastructure. This leads
4a9c25bffc9b added Statespace library
schirmer
parents:
diff changeset
    52
to extra flexibility in composing state space components, in particular
4a9c25bffc9b added Statespace library
schirmer
parents:
diff changeset
    53
multiple inheritance and renaming of components.
4a9c25bffc9b added Statespace library
schirmer
parents:
diff changeset
    54
4a9c25bffc9b added Statespace library
schirmer
parents:
diff changeset
    55
The state space infrastructure basically manages the following things:
4a9c25bffc9b added Statespace library
schirmer
parents:
diff changeset
    56
\begin{itemize}
4a9c25bffc9b added Statespace library
schirmer
parents:
diff changeset
    57
\item distinctness of field names
4a9c25bffc9b added Statespace library
schirmer
parents:
diff changeset
    58
\item projections~/ injections from~/ to an abstract \emph{value} type
4a9c25bffc9b added Statespace library
schirmer
parents:
diff changeset
    59
\item syntax translations for lookup and update, hiding the projections and injections
4a9c25bffc9b added Statespace library
schirmer
parents:
diff changeset
    60
\item simplification procedure for lookups~/ updates, similar to records
4a9c25bffc9b added Statespace library
schirmer
parents:
diff changeset
    61
\end{itemize}
4a9c25bffc9b added Statespace library
schirmer
parents:
diff changeset
    62
4a9c25bffc9b added Statespace library
schirmer
parents:
diff changeset
    63
4a9c25bffc9b added Statespace library
schirmer
parents:
diff changeset
    64
\paragraph{Overview}
4a9c25bffc9b added Statespace library
schirmer
parents:
diff changeset
    65
In Section \ref{sec:DistinctTreeProver} we define distinctness of the nodes in a binary tree and provide the basic prover tools to support efficient distinctness reasoning for field names managed by 
4a9c25bffc9b added Statespace library
schirmer
parents:
diff changeset
    66
state spaces. The state is represented as a function from (abstract) names to (abstract) values as
4a9c25bffc9b added Statespace library
schirmer
parents:
diff changeset
    67
introduced in Section \ref{sec:StateFun}. The basic setup for state spaces is in Section 
4a9c25bffc9b added Statespace library
schirmer
parents:
diff changeset
    68
\ref{sec:StateSpaceLocale}. Some syntax for lookup and updates is added in Section \ref{sec:StateSpaceSyntax}. Finally Section \ref{sec:Examples} explains the usage of state spaces by examples.
4a9c25bffc9b added Statespace library
schirmer
parents:
diff changeset
    69
4a9c25bffc9b added Statespace library
schirmer
parents:
diff changeset
    70
4a9c25bffc9b added Statespace library
schirmer
parents:
diff changeset
    71
% generated text of all theories
4a9c25bffc9b added Statespace library
schirmer
parents:
diff changeset
    72
\input{session}
4a9c25bffc9b added Statespace library
schirmer
parents:
diff changeset
    73
4a9c25bffc9b added Statespace library
schirmer
parents:
diff changeset
    74
% optional bibliography
4a9c25bffc9b added Statespace library
schirmer
parents:
diff changeset
    75
%\bibliographystyle{abbrv}
4a9c25bffc9b added Statespace library
schirmer
parents:
diff changeset
    76
%\bibliography{root}
4a9c25bffc9b added Statespace library
schirmer
parents:
diff changeset
    77
4a9c25bffc9b added Statespace library
schirmer
parents:
diff changeset
    78
\end{document}
4a9c25bffc9b added Statespace library
schirmer
parents:
diff changeset
    79
4a9c25bffc9b added Statespace library
schirmer
parents:
diff changeset
    80
%%% Local Variables:
4a9c25bffc9b added Statespace library
schirmer
parents:
diff changeset
    81
%%% mode: latex
4a9c25bffc9b added Statespace library
schirmer
parents:
diff changeset
    82
%%% TeX-master: t
4a9c25bffc9b added Statespace library
schirmer
parents:
diff changeset
    83
%%% End: