| 20946 |      1 | 
 | 
|  |      2 | @InProceedings{Ballarin:2004,
 | 
|  |      3 |   author = 	 {Clemens Ballarin},
 | 
|  |      4 |   title = 	 {Locales and Locale Expressions in {Isabelle/Isar}},
 | 
|  |      5 |   booktitle =	 {Types for Proofs and Programs (TYPES 2003)},
 | 
|  |      6 |   year =	 2004,
 | 
|  |      7 |   editor =	 {Stefano Berardi and others},
 | 
|  |      8 |   series =	 {LNCS 3085}
 | 
|  |      9 | }
 | 
|  |     10 | 
 | 
|  |     11 | @InProceedings{Ballarin:2006,
 | 
|  |     12 |   author = 	 {Clemens Ballarin},
 | 
|  |     13 |   title = 	 {Interpretation of Locales in {Isabelle}: Theories and Proof Contexts},
 | 
|  |     14 |   booktitle =	 {Mathematical Knowledge Management (MKM 2006)},
 | 
|  |     15 |   year =	 2006,
 | 
|  |     16 |   editor =	 {J.M. Borwein and W.M. Farmer},
 | 
|  |     17 |   series =	 {LNAI 4108}
 | 
|  |     18 | }
 | 
|  |     19 | 
 | 
|  |     20 | @InProceedings{Berghofer-Nipkow:2000,
 | 
|  |     21 |   author =       {Stefan Berghofer and Tobias Nipkow},
 | 
|  |     22 |   title =        {Proof terms for simply typed higher order logic},
 | 
|  |     23 |   booktitle     = {Theorem Proving in Higher Order Logics ({TPHOLs} 2000)},
 | 
|  |     24 |   editor        = {J. Harrison and M. Aagaard},
 | 
|  |     25 |   series        = {LNCS 1869},
 | 
|  |     26 |   year          = 2000
 | 
|  |     27 | }
 | 
|  |     28 | 
 | 
|  |     29 | @Manual{Coq-Manual:2006,
 | 
|  |     30 |   title =        {The {Coq} Proof Assistant Reference Manual, version 8},
 | 
|  |     31 |   author =       {B. Barras and others},
 | 
|  |     32 |   organization = {INRIA},
 | 
|  |     33 |   year =         2006
 | 
|  |     34 | }
 | 
|  |     35 | 
 | 
|  |     36 | @Article{Courant:2006,
 | 
|  |     37 |   author = 	 {Judica{\"e}l Courant},
 | 
|  |     38 |   title = 	 {{$\mathcal{MC}_2$: A Module Calculus for Pure Type Systems}},
 | 
|  |     39 |   journal = 	 {The Journal of Functional Programming},
 | 
|  |     40 |   year = 	 2006,
 | 
|  |     41 |   note =	 {To appear},
 | 
|  |     42 |   abstract = {Several proof-assistants rely on the very formal basis
 | 
|  |     43 |     of Pure Type Systems (PTS) as their foundations.  We are concerned
 | 
|  |     44 |     with the issues involved in the development of large proofs in
 | 
|  |     45 |     these provers such as namespace management, development of
 | 
|  |     46 |     reusable proof libraries and separate verification. Although
 | 
|  |     47 |     implementations offer many features to address them, few
 | 
|  |     48 |     theoretical foundations have been laid for them up to now. This is
 | 
|  |     49 |     a problem as features dealing with modularity may have harmful,
 | 
|  |     50 |     unsuspected effects on the reliability or usability of an
 | 
|  |     51 |     implementation.
 | 
|  |     52 |     
 | 
|  |     53 |     In this paper, we propose an extension of Pure Type Systems with a
 | 
|  |     54 |     module system, MC2, adapted from SML-like module systems for
 | 
|  |     55 |     programming languages.  This system gives a theoretical framework
 | 
|  |     56 |     addressing the issues mentioned above in a quite uniform way.  It
 | 
|  |     57 |     is intended to be a theoretical foundation for the module systems
 | 
|  |     58 |     of proof-assistants such as Coq or Agda.  We show how reliability
 | 
|  |     59 |     and usability can be formalized as metatheoretical properties and
 | 
|  |     60 |     prove they hold for MC2.}
 | 
|  |     61 | }
 | 
|  |     62 | 
 | 
|  |     63 | @PhdThesis{Jacek:2004,
 | 
|  |     64 |   author = 	 {Jacek Chrz\c{a}szcz},
 | 
|  |     65 |   title = 	 {Modules in type theory with generative definitions},
 | 
|  |     66 |   school = 	 {Universit{\'e} Paris-Sud},
 | 
|  |     67 |   year = 	 {2004},
 | 
|  |     68 | }
 | 
|  |     69 | 
 | 
|  |     70 | @InProceedings{Kamm-et-al:1999,
 | 
|  |     71 |   author =       {Florian Kamm{\"u}ller and Markus Wenzel and
 | 
|  |     72 |                   Lawrence C. Paulson},
 | 
|  |     73 |   title =        {Locales: A Sectioning Concept for {Isabelle}},
 | 
|  |     74 |   booktitle     = {Theorem Proving in Higher Order Logics ({TPHOLs} '99)},
 | 
|  |     75 |   editor        = {Bertot, Y. and Dowek, G. and Hirschowitz, A. and
 | 
|  |     76 |                   Paulin, C. and Thery, L.},
 | 
|  |     77 |   series        = {LNCS 1690},
 | 
|  |     78 |   year          = 1999
 | 
|  |     79 | }
 | 
|  |     80 | 
 | 
|  |     81 | @InProceedings{Nipkow-Prehofer:1993,
 | 
|  |     82 |   author =       {T. Nipkow and C. Prehofer},
 | 
|  |     83 |   title =        {Type checking type classes},
 | 
|  |     84 |   booktitle =    {ACM Symp.\ Principles of Programming Languages},
 | 
|  |     85 |   year =         1993
 | 
|  |     86 | }
 | 
|  |     87 | 
 | 
|  |     88 | @Book{Nipkow-et-al:2002:tutorial,
 | 
|  |     89 |   author	= {Tobias Nipkow and Lawrence C. Paulson and Markus Wenzel},
 | 
|  |     90 |   title		= {Isabelle/HOL --- A Proof Assistant for Higher-Order Logic},
 | 
|  |     91 |   series	= {LNCS 2283},
 | 
|  |     92 |   year		= 2002
 | 
|  |     93 | }
 | 
|  |     94 | 
 | 
|  |     95 | @InCollection{Nipkow:1993,
 | 
|  |     96 |   author =       {T. Nipkow},
 | 
|  |     97 |   title =        {Order-Sorted Polymorphism in {Isabelle}},
 | 
|  |     98 |   booktitle =    {Logical Environments},
 | 
|  |     99 |   publisher =    {Cambridge University Press},
 | 
|  |    100 |   year =         1993,
 | 
|  |    101 |   editor =       {G. Huet and G. Plotkin}
 | 
|  |    102 | }
 | 
|  |    103 | 
 | 
|  |    104 | @InProceedings{Nipkow:2002,
 | 
|  |    105 |   author = 	 {Tobias Nipkow},
 | 
|  |    106 |   title = 	 {Structured Proofs in {Isar/HOL}},
 | 
|  |    107 |   booktitle = 	 {Types for Proofs and Programs (TYPES 2002)},
 | 
|  |    108 |   year =	 2003,
 | 
|  |    109 |   editor =	 {H. Geuvers and F. Wiedijk},
 | 
|  |    110 |   series =	 {LNCS 2646}
 | 
|  |    111 | }
 | 
|  |    112 | 
 | 
|  |    113 | @InCollection{Paulson:1990,
 | 
|  |    114 |   author =       {L. C. Paulson},
 | 
|  |    115 |   title =        {Isabelle: the next 700 theorem provers},
 | 
|  |    116 |   booktitle =    {Logic and Computer Science},
 | 
|  |    117 |   publisher =    {Academic Press},
 | 
|  |    118 |   year =         1990,
 | 
|  |    119 |   editor =       {P. Odifreddi}
 | 
|  |    120 | }
 | 
|  |    121 | 
 | 
|  |    122 | @BOOK{Pierce:TypeSystems,
 | 
|  |    123 |   AUTHOR = {B.C. Pierce},
 | 
|  |    124 |   TITLE = {Types and Programming Languages},
 | 
|  |    125 |   PUBLISHER = {MIT Press},
 | 
|  |    126 |   YEAR = 2002,
 | 
|  |    127 |   PLCLUB = {Yes},
 | 
|  |    128 |   BCP = {Yes},
 | 
|  |    129 |   KEYS = {books},
 | 
|  |    130 |   HOMEPAGE = {http://www.cis.upenn.edu/~bcpierce/tapl},
 | 
|  |    131 |   ERRATA = {http://www.cis.upenn.edu/~bcpierce/tapl/errata.txt}
 | 
|  |    132 | }
 | 
|  |    133 | 
 | 
|  |    134 | @Book{Schmidt-Schauss:1989,
 | 
|  |    135 |   author	= {Manfred Schmidt-Schau{\ss}},
 | 
|  |    136 |   title		= {Computational Aspects of an Order-Sorted Logic with Term Declarations},
 | 
|  |    137 |   series	= {LNAI 395},
 | 
|  |    138 |   year		= 1989
 | 
|  |    139 | }
 | 
|  |    140 | 
 | 
|  |    141 | @InProceedings{Wenzel:1997,
 | 
|  |    142 |   author =       {M. Wenzel},
 | 
|  |    143 |   title =        {Type Classes and Overloading in Higher-Order Logic},
 | 
|  |    144 |   booktitle =    {Theorem Proving in Higher Order Logics ({TPHOLs} '97)},
 | 
|  |    145 |   editor =       {Elsa L. Gunter and Amy Felty},
 | 
|  |    146 |   series =       {LNCS 1275},
 | 
|  |    147 |   year =         1997}
 | 
|  |    148 | 
 | 
|  |    149 | @article{hall96type,
 | 
|  |    150 |   author = "Cordelia Hall and Kevin Hammond and Peyton Jones, S. and Philip Wadler",
 | 
|  |    151 |   title = "Type Classes in {Haskell}",
 | 
|  |    152 |   journal = "ACM Transactions on Programming Languages and Systems",
 | 
|  |    153 |   volume = "18",
 | 
|  |    154 |   number = "2",
 | 
|  |    155 |   publisher = "ACM Press",
 | 
|  |    156 |   year = "1996"
 | 
|  |    157 | }
 | 
|  |    158 | 
 | 
|  |    159 | @inproceedings{hindleymilner,
 | 
|  |    160 |   author = {L. Damas and H. Milner},
 | 
|  |    161 |   title = {Principal type schemes for functional programs},
 | 
|  |    162 |   booktitle = {ACM Symp. Principles of Programming Languages},
 | 
|  |    163 |   year = 1982
 | 
|  |    164 | }
 | 
|  |    165 | 
 | 
|  |    166 | @manual{isabelle-axclass,
 | 
|  |    167 |   author	= {Markus Wenzel},
 | 
|  |    168 |   title		= {Using Axiomatic Type Classes in {I}sabelle},
 | 
|  |    169 |   institution	= {TU Munich},
 | 
|  |    170 |   year          = 2005,
 | 
|  |    171 |   note          = {\url{http://isabelle.in.tum.de/doc/axclass.pdf}}}
 | 
|  |    172 | 
 | 
|  |    173 | @InProceedings{krauss:2006:functions,
 | 
|  |    174 |   author = 	 {A. Krauss},
 | 
|  |    175 |   title = 	 {Partial Recursive Functions in Higher-Order Logic},
 | 
|  |    176 |   booktitle = 	 {Int. Joint Conference on Automated Reasoning (IJCAR 2006)},
 | 
|  |    177 |   year =	 2006,
 | 
|  |    178 |   editor =	 {Ulrich Furbach and Natarajan Shankar},
 | 
|  |    179 |   series =	 {LNCS}
 | 
|  |    180 | }
 | 
|  |    181 | 
 | 
|  |    182 | @inproceedings{peterson93implementing,
 | 
|  |    183 |   author = "J. Peterson and Peyton Jones, S.",
 | 
|  |    184 |   title = "Implementing Type Classes",
 | 
|  |    185 |   booktitle = "{SIGPLAN} Conference on Programming Language Design and Implementation",
 | 
|  |    186 |   year = 1993
 | 
|  |    187 | }
 | 
|  |    188 | 
 | 
|  |    189 | @inproceedings{wadler89how,
 | 
|  |    190 |   author = {P. Wadler and S. Blott},
 | 
|  |    191 |   title = {How to make ad-hoc polymorphism less ad-hoc},
 | 
|  |    192 |   booktitle = {ACM Symp.\ Principles of Programming Languages},
 | 
|  |    193 |   year = 1989
 | 
|  |    194 | }
 | 
|  |    195 | 
 | 
|  |    196 | @misc{jones97type,
 | 
|  |    197 |   author = "S. Jones and M. Jones and E. Meijer",
 | 
|  |    198 |   title = "Type classes: an exploration of the design space",
 | 
|  |    199 |   text = "Simon Peyton Jones, Mark Jones, and Erik Meijer. Type classes: an exploration
 | 
|  |    200 |     of the design space. In Haskell Workshop, June 1997.",
 | 
|  |    201 |   year = "1997",
 | 
|  |    202 |   url = "citeseer.ist.psu.edu/peytonjones97type.html"
 | 
|  |    203 | }
 | 
|  |    204 | 
 | 
|  |    205 | @article{haftmann_wenzel2006classes,
 | 
|  |    206 |   author = "Florian Haftmann and Makarius Wenzel",
 | 
|  |    207 |   title =  "Constructive Type Classes in Isabelle",
 | 
|  |    208 |   year =   2006,
 | 
|  |    209 |   note =   {To appear}
 | 
|  |    210 | }
 | 
|  |    211 | 
 |