src/Doc/Locales/Examples3.thy
changeset 58620 7435b6a3f72e
parent 57607 5ff0cf3f5f6f
child 61419 3c3f8b182e4b
equal deleted inserted replaced
58619:4b41df5fef81 58620:7435b6a3f72e
   500 
   500 
   501 section {* Further Reading *}
   501 section {* Further Reading *}
   502 
   502 
   503 text {* More information on locales and their interpretation is
   503 text {* More information on locales and their interpretation is
   504   available.  For the locale hierarchy of import and interpretation
   504   available.  For the locale hierarchy of import and interpretation
   505   dependencies see~\cite{Ballarin2006a}; interpretations in theories
   505   dependencies see~@{cite Ballarin2006a}; interpretations in theories
   506   and proofs are covered in~\cite{Ballarin2006b}.  In the latter, I
   506   and proofs are covered in~@{cite Ballarin2006b}.  In the latter, I
   507   show how interpretation in proofs enables to reason about families
   507   show how interpretation in proofs enables to reason about families
   508   of algebraic structures, which cannot be expressed with locales
   508   of algebraic structures, which cannot be expressed with locales
   509   directly.
   509   directly.
   510 
   510 
   511   Haftmann and Wenzel~\cite{HaftmannWenzel2007} overcome a restriction
   511   Haftmann and Wenzel~@{cite HaftmannWenzel2007} overcome a restriction
   512   of axiomatic type classes through a combination with locale
   512   of axiomatic type classes through a combination with locale
   513   interpretation.  The result is a Haskell-style class system with a
   513   interpretation.  The result is a Haskell-style class system with a
   514   facility to generate ML and Haskell code.  Classes are sufficient for
   514   facility to generate ML and Haskell code.  Classes are sufficient for
   515   simple specifications with a single type parameter.  The locales for
   515   simple specifications with a single type parameter.  The locales for
   516   orders and lattices presented in this tutorial fall into this
   516   orders and lattices presented in this tutorial fall into this
   518   on the other hand, do not.
   518   on the other hand, do not.
   519 
   519 
   520   The locales reimplementation for Isabelle 2009 provides, among other
   520   The locales reimplementation for Isabelle 2009 provides, among other
   521   improvements, a clean integration with Isabelle/Isar's local theory
   521   improvements, a clean integration with Isabelle/Isar's local theory
   522   mechanisms, which are described in another paper by Haftmann and
   522   mechanisms, which are described in another paper by Haftmann and
   523   Wenzel~\cite{HaftmannWenzel2009}.
   523   Wenzel~@{cite HaftmannWenzel2009}.
   524 
   524 
   525   The original work of Kamm\"uller on locales~\cite{KammullerEtAl1999}
   525   The original work of Kamm\"uller on locales~@{cite KammullerEtAl1999}
   526   may be of interest from a historical perspective.  My previous
   526   may be of interest from a historical perspective.  My previous
   527   report on locales and locale expressions~\cite{Ballarin2004a}
   527   report on locales and locale expressions~@{cite Ballarin2004a}
   528   describes a simpler form of expressions than available now and is
   528   describes a simpler form of expressions than available now and is
   529   outdated. The mathematical background on orders and lattices is
   529   outdated. The mathematical background on orders and lattices is
   530   taken from Jacobson's textbook on algebra~\cite[Chapter~8]{Jacobson1985}.
   530   taken from Jacobson's textbook on algebra~@{cite \<open>Chapter~8\<close> Jacobson1985}.
   531 
   531 
   532   The sources of this tutorial, which include all proofs, are
   532   The sources of this tutorial, which include all proofs, are
   533   available with the Isabelle distribution at
   533   available with the Isabelle distribution at
   534   @{url "http://isabelle.in.tum.de"}.
   534   @{url "http://isabelle.in.tum.de"}.
   535   *}
   535   *}