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