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 *} |