Computer Laboratory Home Page Search A-Z Directory Help
University of Cambridge Home Andrew Pitts
Bibliography
Computer Laboratory > Andrew Pitts > Bibliography

Publications of Andrew Pitts


%%% ==================================================================== %%% BibTeX-file{ %%% author = "Andrew M. Pitts", %%% date = "2004-02-10", %%% filename = "PittsAM.bib", %%% url = "http://www.cl.cam.ac.uk/users/amp12/bib/PittsAM.bib", %%% www-home = "http://www.cl.cam.ac.uk/users/amp12/", %%% address = "Cambridge University Computer Laboratory, %%% JJ Thomson Avenue, Cambridge CB3 0FD, UK", %%% email = "amp12 at cl.cam.ac.uk", %%% telephone = "+44 223 334629", %%% FAX = "+44 223 334678", %%% dates = {1980--}, %%% keywords = "", %%% FTP-archive = , %%% supported = "yes", %%% supported-by = "Andrew Pitts", %%% abstract = "Bibliography for Andrew M. Pitts" %%% } %%% ==================================================================== @ARTICLE{PittsAM:trit, AUTHOR={J.~M.~E.~Hyland and P.~T.~Johnstone and A.~M.~Pitts}, TITLE={Tripos Theory}, JOURNAL={Math.\ Proc.\ Cambridge Philos.\ Soc.}, VOLUME=88, YEAR=1980, PAGES={205--232}} @PHDTHESIS{PittsAM:thet, AUTHOR={A.~M.~Pitts}, TITLE={The Theory of Triposes}, SCHOOL={Cambridge Univ.}, YEAR=1981} @ARTICLE{PittsAM:fuzsdn, AUTHOR={A.~M.~Pitts}, TITLE={Fuzzy Sets Do Not Form a Topos (Short Communication)}, JOURNAL={Fuzzy Sets and Systems}, VOLUME=8, YEAR=1982, PAGES={101--104}} @ARTICLE{PittsAM:amaich, AUTHOR={A.~M.~Pitts}, TITLE={Amalgamation and Interpolation in the Category of {Heyting} Algebras}, JOURNAL={Jour.\ Pure and Appl.\ Algebra}, VOLUME=29, YEAR=1983, PAGES={155--165}} @ARTICLE{PittsAM:appomc, AUTHOR={A.~M.~Pitts}, TITLE={An Application of Open Maps to Categorical Logic}, JOURNAL={Jour. Pure and Appl. Algebra}, VOLUME=29, YEAR=1983, PAGES={313--326}} @ARTICLE{PittsAM:procbt, AUTHOR={A.~M.~Pitts}, TITLE={On Product and Change of Base for Toposes}, JOURNAL={Cahier de Top.\ et G{\'e}om.\ Diff.}, VOLUME=26, YEAR=1985, PAGES={43--61}} @INCOLLECTION{PittsAM:intccp, AUTHOR={A.~M.~Pitts}, TITLE={Interpolation and Conceptual Completeness for Pretoposes Via Category Theory}, BOOKTITLE={Mathematical Logic and Theoretical Computer Science}, PUBLISHER={Marcel Dekker Inc., New York}, YEAR=1987, PAGES={301--327}} @ARTICLE{PittsAM:reslfp, AUTHOR={M.~Makkai and A.~M.~Pitts}, TITLE={Some Results on Locally Finitely Presentable Categories}, JOURNAL={Trans.\ Amer.\ Math.\ Soc.}, VOLUME=299, YEAR=1987, PAGES={473--496}} @INPROCEEDINGS{PittsAM:polist, AUTHOR={A.~M.~Pitts}, TITLE={Polymorphism Is Set Theoretic, Constructively}, BOOKTITLE={Category Theory and Computer Science, Proc.\ Edinburgh 1987}, EDITOR={D.~H.~Pitt and A.~Poign{\'e} and D.~E.~Rydeheard}, SERIES={Lecture Notes in Computer Science}, PUBLISHER={Springer-Verlag, Berlin}, VOLUME=283, YEAR=1987, PAGES={12--39}} @ARTICLE{PittsAM:revls, AUTHOR={A.~M.~Pitts}, TITLE={Review of: {J.} {Lambek} and {P.} {J.} {Scott}, {Introduction} to Higher Order Categorical Logic}, JOURNAL={Bull.\ London Math.\ Soc.}, VOLUME=19, YEAR=1987, PAGES={190--192}} @ARTICLE{PittsAM:appsec, AUTHOR={A.~M.~Pitts}, TITLE={Applications of Sup-lattice Enriched Category Theory to Sheaf Theory}, JOURNAL={Proc.\ London Math.\ Soc.}, VOLUME=57, YEAR=1988, PAGES={433--480}} @ARTICLE{PittsAM:concfo, AUTHOR={A.~M.~Pitts}, TITLE={Conceptual Completeness for First Order Intuitionistic Logic: an Application of Categorical Logic}, JOURNAL={Annals Pure Applied Logic}, VOLUME=41, YEAR=1989, PAGES={33--81}} @INPROCEEDINGS{PittsAM:theccs, AUTHOR={J.~M.~E.~Hyland and A.~M.~Pitts}, TITLE={The Theory of Constructions: Categorical Semantics and Topos-theoretic Models}, BOOKTITLE={Categories in Computer Science and Logic}, EDITOR={J.~W.~Gray and A.~Scedrov}, SERIES={Contemporary Mathematics}, PUBLISHER={Amer.\ Math.\ Soc, Providence RI}, VOLUME=92, YEAR=1989, PAGES={137-199}} @INPROCEEDINGS{PittsAM:nontpt, AUTHOR={A.~M.~Pitts}, TITLE={Non-trivial Power Types Can't Be Subtypes of Polymorphic Types}, BOOKTITLE={4th Annual Symposium on Logic in Computer Science}, PUBLISHER={IEEE Computer Society Press, Washington}, YEAR=1989, PAGES={6--13}} @ARTICLE{PittsAM:notrpl, AUTHOR={A.~M.~Pitts and P.~Taylor}, TITLE={A Note on {Russell's} {Paradox} in Locally Cartesian Closed Categories}, JOURNAL={Studia Logica}, VOLUME=48, YEAR=1989, PAGES={377--387}} @PROCEEDINGS{PittsAM:ctcs89, EDITOR={P.~Dybjer and D.~H.~Pitt and A.~M.~Pitts and A.~Poign{\'e} and D.~E.~Rydeheard}, TITLE={Category Theory and Computer Science, Proceedings {Manchester}, UK, 1989}, PUBLISHER={Springer-Verlag, Berlin}, SERIES={Lecture Notes in Computer Science}, VOLUME=389, YEAR=1989} @UNPUBLISHED{PittsAM:notcl, AUTHOR={A.~M.~Pitts}, TITLE={Notes on Categorical Logic}, NOTE={Lecture Notes for a graduate course in the University of Cambridge Computer Laboratory, 78pp typescript}, MONTH={Lent Term}, YEAR=1989} @INPROCEEDINGS{PittsAM:nffc, AUTHOR={R.~L.~Crole and A.~M.~Pitts}, TITLE={New Foundations for Fixpoint Computations}, BOOKTITLE={5th Annual Symposium on Logic in Computer Science}, PUBLISHER={IEEE Computer Society Press, Washington}, YEAR=1990, PAGES={489--497}, NOTE={(see \cite{PittsAM:newffcff} for an expanded and revised version of this extended abstract)}} @ARTICLE{PittsAM:repctc, AUTHOR={A.~M.~Pitts}, TITLE={Report on the Category Theory and Computer Science Conference, {Manchester} {U}{K}, {September} 1989}, JOURNAL={Bulletin of the EATCS}, VOLUME=41, YEAR=1990, PAGES={268--270}} @INPROCEEDINGS{PittsAM:evall, AUTHOR={A.~M.~Pitts}, TITLE={Evaluation Logic}, BOOKTITLE={IVth Higher Order Workshop, {Banff} 1990}, SERIES={Workshops in Computing}, EDITOR={G.~Birtwistle}, PUBLISHER={Springer-Verlag, Berlin}, YEAR=1991, PAGES={162--189}, ABSTRACT={A new typed, higher-order logic is described which appears particularly well fitted to reasoning about forms of computation whose operational behaviour can be specified using the {\em Natural Semantics\/} style of structural operational semantics~\cite{Kah}. The logic's underlying type system is Moggi's {\em computational metalanguage}~\cite{Mog1}, which enforces a distinction between computations and values via the categorical structure of a strong monad. This is extended to a (constructive) predicate logic with modal formulas about evaluation of computations to values, called {\em evaluation modalities}. The categorical structure corresponding to this kind of logic is explained and a couple of examples of categorical models given.\par As a first example of the naturalness and applicability of this new logic to program semantics, we investigate the translation of a (tiny) fragment of Standard ML into a theory over the logic, which is proved computationally adequate for ML's Natural Semantics~\cite{MTH}. Whilst it is tiny, the ML fragment does however contain both higher-order functional and imperative features, about which the logic allows us to reason without having to mention global states explicitly.}} @PROCEEDINGS{PittsAM:ctcs91, EDITOR={S.~Abramsky and {P.-L.} Curien and D.~H.~Pitt and A.~M.~Pitts and A.~Poign{\'e} and D.~E.~Rydeheard}, TITLE={Category Theory and Computer Science, Proceedings, {Paris}, {France},1991}, PUBLISHER={Springer-Verlag, Berlin}, SERIES={Lecture Notes in Computer Science}, VOLUME=530, YEAR=1991} @ARTICLE{PittsAM:revbw, AUTHOR={A.~M.~Pitts}, TITLE={Review of: {M.} {Barr} and {C.} {Wells}, {Toposes}, Triples and Theories}, JOURNAL={Jour.\ Symbolic Logic}, VOLUME=56, YEAR=1991, PAGES={340--341}} @ARTICLE{PittsAM:repsac, AUTHOR={A.~M.~Pitts}, TITLE={Report on the Symposium on Applications of Categories in Computer Science, {Durham} {U}{K}, {July} 1991}, JOURNAL={London Mathematical Society Newsletter}, VOLUME=189, YEAR=1991} @ARTICLE{PittsAM:newffcff, AUTHOR={R.~L.~Crole and A.~M.~Pitts}, TITLE={New Foundations for Fixpoint Computations: FIX-hyperdoctrines and the FIX-logic}, JOURNAL={Information and Computation}, VOLUME=98, YEAR=1992, PAGES={171--210}} @ARTICLE{PittsAM:intsoq, AUTHOR={A.~M.~Pitts}, TITLE={On an Interpretation of Second Order Quantification in First Order Intuitionistic Propositional Logic}, JOURNAL={Jour.\ Symbolic Logic}, VOLUME=57, YEAR=1992, PAGES={33--52}, ABSTRACT={We prove the following surprising property of Heyting's intuitionistic propositional calculus, $\IpC$. Consider the collection of formulas, $\phi$, built up from propositional variables ($p,q,r,\ldots$) and falsity ($\F$) using conjunction ($\conj$), disjunction ($\disj$) and implication ($\imp$). Write $\vdash\phi$ to indicate that such a formula is intuitionistically valid. We show that for each variable $p$ and formula $\phi$ there exists a formula $\All_p\phi$ (effectively computable from $\phi$), containing only variables not equal to $p$ which occur in $\phi$, and such that for all formulas $\psi$ not involving $p$, $\vdash\psi\imp\All_p\phi$ if and only if $\vdash\psi\imp\phi$. Consequently quantification over propositional variables can be modelled in $\IpC$, and there is an interpretation of the second order propositional calculus, $\IpC^2$, in $\IpC$ which restricts to the identity on first order propositions.\par An immediate corollary is the strengthening of the usual Interpolation Theorem for $\IpC$ to the statement that there are least and greatest interpolant formulas for any given pair of formulas. The result also has a number of interesting consequences for the algebraic counterpart of $\IpC$, the theory of Heyting algebras. In particular we show that a model of $\IpC^2$ can be constructed whose algebra of truth-values is equal to any given Heyting algebra.}} @BOOK{PittsAM:appccs, EDITOR={M.~P.~Fourman and P.~T.~Johnstone and A.~M.~Pitts}, TITLE={Applications of Categories in Computer Science, Proceedings {L}{M}{S} {Symposium}, {Durham}, {U}{K}, 1991}, PUBLISHER={Cambridge University Press}, SERIES={LMS Lecture Note Series}, VOLUME=177, YEAR=1992} @INPROCEEDINGS{PittsAM:relprd, AUTHOR={A.~M.~Pitts}, TITLE={Relational Properties of Recursively Defined Domains}, BOOKTITLE={8th Annual Symposium on Logic in Computer Science}, PUBLISHER={IEEE Computer Society Press, Washington}, YEAR=1993, PAGES={86--97}} @INPROCEEDINGS{PittsAM:bisct, AUTHOR={A.~M.~Pitts}, TITLE={Bisimulation and Co-induction ({Tutorial}) }, BOOKTITLE={8th Annual Symposium on Logic in Computer Science}, PUBLISHER={IEEE Computer Society Press, Washington}, YEAR=1993, PAGES={2--3}, ABSTRACT={The use of positive inductive definitions pervades the mathematical and logical foundations of computer science. The dual concept of co-inductive (or negative inductive) definition is also important, if somewhat less common. It often arises when constructing and reasoning about (potentially) infinite objects. In this tutorial talk I will concentrate on co-inductively defined equality relations and the use of `bisimulations' to establish equalitites. The talk will describe the origin of this technique in the theory of concurrent processes, will touch upon its general formulation, and will dwell upon recent applications of it for reasoning about equality of functional programs, both from an operational and a denotational point of view. [Note: This abstract did not appear in the original conference paper; it was supplied by the author for this bibliography.]}} @INPROCEEDINGS{PittsAM:obspho, AUTHOR={A.~M.~Pitts and I.~D.~B.~Stark}, TITLE={On the Observable Properties of Higher Order Functions That Dynamically Create Local Names (Preliminary Report)}, BOOKTITLE={Workshop on State in Programming Languages, {Copenhagen}, 1993}, ORGANIZATION={ACM SIGPLAN}, NOTE={Yale Univ.\ Dept.\ Computer Science Technical Report YALEU/DCS/RR-968}, YEAR=1993, PAGES={31--45}, ABSTRACT={The research reported in this paper is concerned with the problem of reasoning about properties of higher order functions involving state. It is motivated by the desire to identify what, if any, are the difficulties created purely by {\em locality\/} of state, independent of other properties such as side-effects, exceptional termination and non-termination due to recursion. We consider a simple language (equivalent to a fragment of Standard ML) of typed, higher order functions that can dynamically create fresh {\em names}. Names are created with local scope, can be tested for equality and can be passed around via function application, but that is all.\par We demonstrate that despite the simplicity of the language and its operational semantics, the observable properties of such functions can be very subtle. Two methods are introduced for analyzing Morris-style observational equivalence between expressions in the language. The first method introduces a notion of `applicative' equivalence incorporating a syntactic version of O'Hearn and Tennent's relationally parametric functors and a version of {\em representation independence\/} for local names. This applicative equivalence is properly contained in the relation of observational equivalence, but coincides with it for first order expressions (and is decidable there). The second method develops a general, categorical framework for computationally adequate models of the language, based on Moggi's {\em monadic\/} approach to denotational semantics. We give examples of models, one of which is fully abstract for first order expressions. No fully abstract (concrete) model of the whole language is known.}} @INPROCEEDINGS{PittsAM:obsphown, AUTHOR={A.~M.~Pitts and I.~D.~B.~Stark}, TITLE={Observable Properties of Higher Order Functions That Dynamically Create Local Names, or: What's new?}, BOOKTITLE={Mathematical Foundations of Computer Science, Proc.\ 18th Int.\ Symp., {Gda{\'n}sk}, 1993}, SERIES={Lecture Notes in Computer Science}, VOLUME=711, PUBLISHER={Springer-Verlag, Berlin}, YEAR=1993, PAGES={122--141}, ABSTRACT={The research reported in this paper is concerned with the problem of reasoning about properties of higher order functions involving state. It is motivated by the desire to identify what, if any, are the difficulties created purely by {\em locality\/} of state, independent of other properties such as side-effects, exceptional termination and non-termination due to recursion. We consider a simple language (equivalent to a fragment of Standard ML) of typed, higher order functions that can dynamically create fresh {\em names\/}; names are created with local scope, can be tested for equality and can be passed around via function application, but that is all. Despite the extreme simplicity of the language and its operational semantics, the observable properties of such functions are shown to be very subtle. A notion of `logical relation' is introduced which incorporates a version of {\em representation independence\/} for local names. We show how to use it to establish observational equivalences. The method is shown to be complete (and decidable) for expressions of first order types, but incomplete at higher types.}} @INCOLLECTION{PittsAM:hl, AUTHOR={M.~J.~C.~Gordon and A.~M.~Pitts}, TITLE={The {H}{O}{L} {L}ogic}, BOOKTITLE={Introduction to {H}{O}{L}, Part III}, EDITOR={M.~J.~C.~Gordon and T.~F.~Melham}, PUBLISHER={Cambridge University Press}, YEAR=1993, PAGES={191-232}} @TECHREPORT{PittsAM:intbct, AUTHOR={J.~W.~Gray and A.~M.~Pitts and K.~Seiber}, TITLE={Interactions Between Category Theory and Computer Science, {19.07.--23.07.93} (9329)}, NUMBER={Dagstuhl-Seminar-Report 69}, INSTITUTION={Internationales Begegnungs und Forschungszentrum Schloss Dagstuhl, Germany}, YEAR=1993} @ARTICLE{PittsAM:coiprd, AUTHOR={A.~M.~Pitts}, TITLE={A Co-induction Principle for Recursively Defined Domains}, JOURNAL={Theoretical Computer Science}, VOLUME=124, YEAR=1994, PAGES={195--219}, NOTE={(A preliminary version of this work appeared as Cambridge Univ. Computer Laboratory Tech. Rept. No.~252, April 1992.)}, ABSTRACT={This paper establishes a new property of predomains recursively defined using the cartesian product, disjoint union, partial function space and convex powerdomain constructors. We prove that the partial order on such a recursive predomain $D$ is the greatest fixed point of a certain monotone operator associated to $D$. This provides a structurally defined family of proof principles for these recursive predomains: to show that one element of $D$ approximates another, it suffices to find a binary relation containing the two elements that is a post-fixed point for the associated monotone operator. The statement of the proof principles is independent of any of the various methods available for explicit construction of recursive predomains. Following Milner and Tofte, the method of proof is called {\em co-induction}. It closely resembles the way bisimulations are used in concurrent process calculi.\par Two specific instances of the co-induction principle already occur in work of Abramsky in the form of `internal full abstraction' theorems for denotational semantics of SCCS and the lazy lambda calculus. In the first case post-fixed binary relations are precisely Abramsky's {\em partial bisimulations}, whereas in the second case they are his {\em applicative bisimulations}. The co-induction principle also provides an apparently useful tool for reasoning about equality of elements of recursively defined datatypes in (strict or lazy) higher order functional programming languages.}} @INPROCEEDINGS{PittsAM:compavm, AUTHOR={A.~M.~Pitts}, TITLE={Computational Adequacy via `Mixed' Inductive Definitions}, BOOKTITLE={Mathematical Foundations of Programming Semantics, Proc.\ 9th Int.\ Conf., {New} {Orleans}, LA, USA, April 1993}, SERIES={Lecture Notes in Computer Science}, VOLUME=802, PUBLISHER={Springer-Verlag, Berlin}, YEAR=1994, PAGES={72--82}, ABSTRACT={For programming languages whose denotational semantics uses fixed points of domain constructors of mixed variance, proofs of correspondence between operational and denotational semantics (or between two different denotational semantics) often depend upon the existence of relations specified as the fixed point of non-monotonic operators. This paper describes a new approach to constructing such relations which avoids having to delve into the detailed construction of the recursively defined domains themselves. The method is introduced by example, by considering the proof of computational adequacy of a denotational semantics for expression evaluation in a simple, untyped functional programming language.}} @INCOLLECTION{PittsAM:hls, AUTHOR={M.~J.~C.~Gordon and A.~M.~Pitts}, TITLE={The {H}{O}{L} Logic and System}, BOOKTITLE={Towards Verified Systems}, CHAPTER=3, EDITOR={J.~Bowen}, SERIES={Real-Time Safety Critical Systems}, VOLUME=2, PUBLISHER={Elsevier Science {B.V.}}, YEAR=1994, PAGES={49-70}} @INPROCEEDINGS{PittsAM:fulatb, AUTHOR={E.~Ritter and A.~M.~Pitts}, TITLE={A Fully Abstract Translation between a $\lambda$-Calculus with Reference Types and {Standard} {M}{L}}, BOOKTITLE={2nd Int. Conf. on Typed Lambda Calculus and Applications, Edinburgh, 1995}, SERIES={Lecture Notes in Computer Science}, VOLUME={902}, PUBLISHER={Springer-Verlag, Berlin}, YEAR=1995, PAGES={397--413}, ABSTRACT={This paper describes a syntactic translation for a substantial fragment of the core Standard ML language into a typed lambda calculus with recursive types and imperative features in the form of reference types. The translation compiles SML's use of declarations and pattern matching into lambda terms, and transforms the use of environments in the operational semantics into a simpler relation of evaluation to canonical form. The translation is shown to be `fully abstract', in the sense that it both preserves and reflects observational equivalence (also commonly called contextual equivalence). A co-inductively defined notion of applicative bisimilarity for lambda calculi with state is developed to establish this result.} } @TECHREPORT{PittsAM:somnic, AUTHOR={A. M. Pitts}, TITLE={Some Notes on Inductive and Co-Inductive Techniques in the Semantics of Functional Programs}, INSTITUTION={{BRICS}}, YEAR=1994, TYPE={Notes Series}, NUMBER={BRICS-NS-94-5}, ADDRESS={Department of Computer Science, University of Aarhus}, MONTH=dec, NOTE={vi+135 pp, draft version}, ABSTRACT={These notes were handed out at a course on {\em Inductive and Co-Inductive Techniques in the Semantics of Functional Programs} given by Andrew Pitts, The Computer Laboratory, Cambridge University, while visiting BRICS 21 November -- 2 December 1994. The course material included these notes, the report {\em Relational Properties of Domains} and slides.\\[.5ex] {\bf Course Description}\\ The aim of the course is to describe recent advances in formal techniques for establishing observational equivalence of functional programs. It considers both operational and denotational methods and the relationship between them. One goal is to give an exposition of Howe's method for characterizing observational equivalence as a co-inductively defined ``applicative bisimulation''. Another goal is to describe Freyd's analysis of recursively defined domains in terms of a property of mixed initiality/finality. Applications of this are given to proving correspondence of operational and denotational semantics and to inductive and co-inductive reasoning about ``user-declared'' datatypes.}} @ARTICLE{PittsAM:revmm, AUTHOR={A.~M.~Pitts}, TITLE={Review of: {S}.~{Mac}~{Lane} and {I.}~{Moerdijk}, {Sheaves} in geometry and logic. A first introduction to topos theory}, JOURNAL={Journ.\ Symbolic Logic}, VOLUME={60}, YEAR=1995, PAGES={340--342}} @InCollection{PittsAM:catl, author = {A. M. Pitts}, title = {Categorical Logic}, booktitle = {Handbook of Logic in Computer Science, Volume 5. Algebraic and Logical Structures}, publisher = {Oxford University Press}, year = 2000, pages = {39--128}, chapter = 2, editor = {S. Abramsky and D. M. Gabbay and T. S. E. Maibaum}, isbn = {0-19-853781-6}, url = {http://www.oup.co.uk/isbn/0-19-853781-6} } @Comment TECHREPORT{PittsAM:catl, @Comment AUTHOR={A.~M.~Pitts}, @Comment TITLE={Categorical Logic}, @Comment INSTITUTION={University of Cambridge Computer Laboratory}, @Comment YEAR=1995, @Comment TYPE={Technical Report}, @Comment NUMBER=367, @Comment MONTH=may, @Comment NOTE={94 pages}, @Comment ABSTRACT={This document provides an introduction to the interaction @Comment between category theory and mathematical logic which is slanted @Comment towards computer scientists.}} @ARTICLE{PittsAM:relpod, AUTHOR={A.~M.~Pitts}, TITLE={Relational Properties of Domains}, JOURNAL={Information and Computation}, VOLUME=127, YEAR=1996, PAGES={66--90}, NOTE={(A preliminary version of this work appeared as Cambridge Univ. Computer Laboratory Tech. Rept. No.~321, December 1993.)}, ABSTRACT={New tools are presented for reasoning about properties of recursively defined domains. We work within a general, category-theoretic framework for various notions of `relation' on domains and for actions of domain constructors on relations. Freyd's analysis of recursive types in terms of a property of mixed initiality/finality is transferred to a corresponding property of {\em invariant\/} relations. The existence of invariant relations is proved under completeness assumptions about the notion of relation. We show how this leads to simpler proofs of the computational adequacy of denotational semantics for functional programming languages with user-declared datatypes. We show how the initiality/finality property of invariant relations can be specialized to yield an induction principle for admissible subsets of recursively defined domains, generalizing the principle of structural induction for inductively defined sets. We also show how the initiality/finality property gives rise to the co-induction principle studied by the author ({\em Theoretical Computer Science\/} {\bf 124}, 195--219 (1994)), by which equalities between elements of recursively defined domains may be proved via an appropriate notion of `bisimulation'.} } @INCOLLECTION{PittsAM:opebtp, AUTHOR={A.~M.~Pitts}, TITLE={Operationally-Based Theories of Program Equivalence}, BOOKTITLE={Semantics and Logics of Computation}, EDITOR={P.~Dybjer and A.~M.~Pitts}, PUBLISHER={Cambridge University Press}, SERIES={Publications of the Newton Institute}, YEAR=1997, PAGES={241--298}, ABSTRACT={The aim of these notes is to describe some recent advances in verification techniques based on operational semantics. We focus upon properties of contextual equivalence (and of contextual preordering) of expressions in a simple, non-strict functional programming language equipped with an inductively defined notion of evaluation to canonical form. The co-inductive characterisation of contextual equivalence in terms of bisimulations is presented. The use of co-induction for reasoning about recursively defined elements of lazy datatypes is illustrated. We give operationally-based proofs of the rational completeness and syntactic continuity properties of the contextual preorder.} } @Comment INPROCEEDINGS{PittsAM:realvo1, @Comment AUTHOR={A.~M.~Pitts}, @Comment TITLE={Reasoning About Local Variables with Operationally-Based @Comment Logical Relations}, @Comment BOOKTITLE={11th Annual Symposium on Logic in Computer Science}, @Comment PUBLISHER={IEEE Computer Society Press, Washington}, @Comment YEAR=1996, @Comment PAGES={152--163}, @Comment} @Comment INPROCEEDINGS{PittsAM:procbe1, @Comment AUTHOR={A.~M.~Pitts and J.~R.~X.~Ross}, @Comment TITLE={Process Calculus Based Upon Evaluation to Committed Form}, @Comment BOOKTITLE={CONCUR'96: Concurrency Theory, Proc.\ 7th Int.\ Conf.\, @Comment Pisa, 1996.}, @Comment EDITOR={U.~Montanari and V.~Sassone}, @Comment SERIES={Lecture Notes in Computer Science}, @Comment VOLUME=1119, @Comment PUBLISHER={Springer-Verlag, Berlin}, @Comment YEAR=1996, @Comment PAGES={18--33}, @Comment ABSTRACT={An approach to the semantics of CCS-like communicating @Comment processes is proposed that is based upon evaluation of processes @Comment to input- or output-committed form, with no explicit mention of @Comment silent actions. This leads to a co-inductively defined notion of @Comment \emph{evaluation bisimilarity}---a form of weak equivalence which @Comment is shown to be a congruence, even in the presence of summation. @Comment The relationship between this evaluation-based approach and the @Comment more traditional, labelled transition semantics is investigated. @Comment In particular, with some restriction on sums, CCS observation @Comment equivalence is characterised purely in terms of evaluation to @Comment committed form, and evaluation bisimilarity is characterised as a @Comment weak delay equivalence. These results are extended to the higher @Comment order case, where evaluation bisimilarity coincides with @Comment Sangiorgi's weak context bisimilarity. An evaluation-based @Comment approach to $\pi$-calculus and the relationship with Milner and @Comment Sangiorgi's reduction-based notion of barbed bisimulation are @Comment also examined.} @Comment} @ARTICLE{PittsAM:notlrb, AUTHOR={A.~M.~Pitts}, TITLE={A Note on Logical Relations Between Semantics and Syntax}, JOURNAL={Logic Journal of the Interest Group in Pure and Applied Logics}, VOLUME=5, NUMBER=4, MONTH=jul, PAGES={589--601}, YEAR=1997, ABSTRACT={This note gives a new proof of the `operational extensionality' property of Abramsky's lazy lambda calculus--namely the coincidence of contextual equivalence with a co-inductively defined notion of `applicative bisimilarity'. This purely syntactic result is here proved using a logical relation (due to Plotkin) between the syntax and its denotational semantics. The proof exploits a mixed inductive/co-inductive characterisation of the logical relation recently discovered by the author. (Full version of an invited paper presented at the {\em 3rd Workshop on Logic, Language, Information and Computation\/} ({\em WoLLIC'96\/}), May 8--10, Salvador (Bahia), Brazil, organised by UFPE and UFBA, sponsored by IGPL, FoLLI, and ASL.)} } @INCOLLECTION{PittsAM:realvo, AUTHOR={A.~M.~Pitts}, TITLE={Reasoning About Local Variables with Operationally-Based Logical Relations}, BOOKTITLE={Algol-Like Languages}, EDITOR={P.~W.~O'Hearn and R.~D.~Tennent}, VOLUME=2, CHAPTER=17, PUBLISHER={Birkhauser}, YEAR=1997, PAGES={173--193}, NOTE={Reprinted from \emph{Proceedings Eleventh Annual IEEE Symposium on Logic in Computer Science}, Brunswick, NJ, July 1996, pp~152--163.}, ABSTRACT={A parametric logical relation between the phrases of an Algol-like language is presented. Its definition involves the structural operational semantics of the language, but was inspired by recent denotationally-based work of O'Hearn and Reynolds on translating Algol into a predicatively polymorphic linear lambda calculus. The logical relation yields an applicative characterisation of contextual equivalence for the language and provides a useful (and complete) method for proving equivalences. Its utility is illustrated by giving simple and direct proofs of some contextual equivalences, including an interesting equivalence due to O'Hearn which hinges upon the undefinability of `snapback' operations (and which goes beyond the standard suite of `Meyer-Sieber' examples). Whilst some of the mathematical intricacies of denotational semantics are avoided, the hard work in this operational approach lies in establishing the `fundamental property' for the logical relation---the proof of which makes use of a compactness property of fixpoint recursion with respect to evaluation of phrases. But once this property has been established, the logical relation provides a verification method with an attractively low mathematical overhead.} } @BOOK{PittsAM:semlc, EDITOR={A.~M.~Pitts and P.~Dybjer}, TITLE={Semantics and Logics of Computation}, PUBLISHER={Cambridge University Press}, SERIES={Publications of the Newton Institute}, ISBN={0-521-58057-9}, YEAR=1997 } @ARTICLE{PittsAM:procbu, AUTHOR = {A.~M.~Pitts and J.~R.~X.~Ross}, TITLE = {Process Calculus Based Upon Evaluation to Committed Form}, JOURNAL = {Theoretical Computer Science}, VOLUME= 195, YEAR = 1998, PAGES = {155--182}, NOTE = {A preliminary version of this paper appeared in CONCUR'96, Lecture Notes in Computer Science Vol.~1119 (Springer-Verlag, Berlin, 1996), pp~18--33}, ABSRACT={An approach to the semantics of CCS-like communicating processes is proposed that is based upon evaluation of processes to input- or output-committed form, with no explicit mention of silent actions. This leads to a co-inductively defined notion of evaluation bisimilarity---a form of weak branching-time equivalence which is shown to be a congruence, even in the presence of summation. The relationship between this evaluation-based approach and the more traditional, labelled transition semantics is investigated. In particular, with some restriction on sums, CCS observation equivalence is characterised purely in terms of evaluation to committed form, and evaluation bisimilarity is characterised as a weak delay equivalence. These results are extended to the higher order case, where evaluation bisimilarity coincides with Sangiorgi's weak context bisimilarity. An evaluation-based approach to pi-calculus and the relationship with Milner and Sangiorgi's reduction-based notion of barbed bisimulation are also examined.} } @INCOLLECTION{PittsAM:operfl, AUTHOR={A.~M.~Pitts and I.~D.~B.~Stark}, TITLE={Operational Reasoning for Functions with Local State}, BOOKTITLE={Higher Order Operational Techniques in Semantics}, EDITOR={A.~D.~Gordon and A.~M.~Pitts}, YEAR=1998, PUBLISHER={Cambridge University Press}, SERIES={Publications of the Newton Institute}, PAGES={227--273}, ABSRACT={Languages such as ML or Lisp permit the use of recursively defined function expressions with locally declared storage locations. Although this can be very convenient from a programming point of view it severely complicates the properties of program equivalence even for relatively simple fragments of such languages---such as the simply typed fragment of Standard~ML with integer-valued references considered here. This paper presents a method for reasoning about \emph{contextual equivalence} of programs involving this combination of functional and procedural features. The method is based upon the use of a certain kind of \emph{logical relation} parameterised by relations between program states. The form of this logical relation is novel, in as much as it involves relations not only between program expressions, but also between program continuations (also known as \emph{evaluation contexts}). The authors found this approach necessary in order to establish the `Fundamental Property of logical relations' in the presence of both dynamically allocated local state and recursion. The logical relation characterises contextual equivalence and yields a proof of the best known context lemma for this kind of language---the Mason-Talcott \Quote{ciu} theorem. Moreover, it is shown that the method can prove examples where such a context lemma is not much help and which involve representation independence, higher order memoising functions, and profiling functions.} } @book{GordonAD:higoot, editor = {A.~D. Gordon and A.~M. Pitts}, title = {Higher Order Operational Techniques in Semantics}, publisher = {Cambridge University Press}, series = {Publications of the Newton Institute}, year = 1998, isbn = {0-521-63168-8} } @inproceedings{PittsAM:exitlr, author = {A.~M.~Pitts}, title = {Existential Types: Logical Relations and Operational Equivalence}, booktitle = {Automata, Languages and Programming, 25th International Colloquium, ICALP'98, Aalborg, Denmark, July 1998, Proceedings}, editor = {K.~G.~Larsen and S.~Skyum and G.~Winskel}, series = {Lecture Notes in Computer Science}, volume = 1443, publisher = {Springer-Verlag, Berlin}, year = 1998, pages = {309--326}, abstract = {Existential types have proved useful for classifying various kinds of information hiding in programming languages, such as occurs in abstract datatypes and objects. In this paper we address the question of when two elements of an existential type are semantically equivalent. Of course, it depends what one means by `semantic equivalence'. Here we take a syntactic approach---so semantic equivalence will mean some kind of operational equivalence. The paper begins by surveying some of the literature on this topic involving `logical relations'. Matters become quite complicated if the programming language mixes existential types with function types and features involving non-termination (such as recursive definitions). We give an example (suggested by Ian~Stark) to show that in this case the existence of suitable relations is sufficient, but not necessary for proving operational equivalences at existential types. Properties of this and other examples are proved using a new form of operationally-based logical relation which does in fact provide a useful characterisation of operational equivalence for existential types.} } @Proceedings{PittsAM:secwho}, title = {Second Workshop on Higher-Order Operational Techniques in Semantics (HOOTS II), Stanford University, December 8-12, 1997}, year = 1998, editor = {A.~D.~Gordon and A.~M.~Pitts and C.~Talcott}, volume = 10, series = {Electronic Notes in Theoretical Computer Science}, publisher = {Elsevier} } @InProceedings{PittsAM:opevdm, author = {A.~M.~Pitts}, title = {Operational Versus Denotational Methods in the Semantics of Higher Order Languages (Tutorial)}, booktitle = {Principles of Declarative Programming, 10th Int.\ Symp., PLILP'98}, editor = {C.~Palamidessi and H.~Glaser and K.~Meinke}, volume = 1490, series = {Lecture Notes in Computer Science}, year = 1998, publisher = {Springer-Verlag, Berlin}, pages = {282--283}, } @Article{PittsAM:parpoe, author = {A.~M.~Pitts}, title = {Parametric Polymorphism and Operational Equivalence}, journal = {Mathematical Structures in Computer Science}, year = 2000, volume = 10, pages = {321--359}, issn = {0960-1295}, note = {A preliminary version appeared in \emph{Proceedings, Second Workshop on Higher Order Operational Techniques in Semantics (HOOTS II), Stanford CA, December 1997}, Electronic Notes in Theoretical Computer Science 10, 1998.} } @Comment TechReport{PittsAM:parpoe-tr, @Comment author = {A.~M.~Pitts}, @Comment title = {Parametric Polymorphism and Operational Equivalence}, @Comment institution = {Cambridge University Computer Laboratory}, @Comment year = 1998, @Comment number = 453, @Comment abstract = {Studies of the mathematical properties of @Comment impredicative polymorphic types have for the most part focused on @Comment the \emph{polymorphic lambda calculus} of Girard-Reynolds, which is @Comment a calculus of \emph{total} polymorphic functions. This paper @Comment considers polymorphic types from a functional programming @Comment perspective, where the partialness arising from the presence of @Comment fixpoint recursion complicates the nature of potentially infinite @Comment (`lazy') datatypes. An approach to Reynolds' notion of @Comment \emph{relational parametricity} is developed that works directly on @Comment the syntax of a programming language, using a novel closure operator @Comment to relate operational behaviour to parametricity properties of @Comment types. Working with an extension of Plotkin's PCF with @Comment $\forall$-types, lazy lists and existential types, we show by @Comment example how the resulting logical relation can be used to prove @Comment properties of polymorphic types up to operational equivalence.}, @Comment note = {A preliminary version appeared in \emph{Proceedings, @Comment Second Workshop on Higher Order Operational Techniques in Semantics @Comment (HOOTS II), Stanford CA, December 1997}, Electronic Notes in @Comment Theoretical Computer Science 10, 1998.} @Comment } @InProceedings{PittsAM:newaas, author = {M.~J.~Gabbay and A.~M.~Pitts}, title = {A New Approach to Abstract Syntax Involving Binders}, booktitle = {14th Annual Symposium on Logic in Computer Science}, year = 1999, publisher = {IEEE Computer Society Press, Washington}, pages = {214--224}, abstract = {The Fraenkel-Mostowski permutation model of set theory with atoms (\emph{FM-sets}) can serve as the semantic basis of meta-logics for specifying and reasoning about formal systems involving name binding, $\alpha$-conversion, capture avoiding substitution, and so on. We show that in FM-set theory one can express statements quantifying over `fresh' names and we use this to give a novel set-theoretic interpretation of name abstraction. Inductively defined FM-sets involving this name-abstraction set former (together with cartesian product and disjoint union) can correctly encode object-level syntax modulo $\alpha$-conversion. In this way, the standard theory of algebraic data types can be extended to encompass signatures involving binding operators. In particular, there is an associated notion of structural recursion for defining syntax-manipulating functions (such as capture avoiding substitution, set of free variables, etc) and a notion of proof by structural induction, both of which remain pleasingly close to informal practice.} } @Comment @inproceedings{Pittsam:Tritr, @Comment Author = {A. M. Pitts}, @Comment Title = {Tripos Theory In Retrospect}, @Comment Booktitle = {Tutorial Workshop On Realizability Semantics, @Comment {Floc'99}, Trento, Italy, 1999}, @Comment Editor = {L. Birkedal And G. Rosolini}, @Comment Volume = 23, @Comment Number = 1, @Comment Series = {Electronic Notes In Theoretical Computer Science}, @Comment Year = 1999, @Comment Publisher = {Elsevier}, @Comment Url = {Http://Www.Elsevier.Nl/Cas/Tree/Store/Tcs/Free/Entcs/Store/Tcs23/1/Tcs23.1.010.Ps} @Comment } @Article{PittsAM:tritr, author = {A. M. Pitts}, title = {Tripos Theory In Retrospect}, journal = {Mathematical Structures in Computer Science}, year = {2002}, volume = 12, pages = {265--279} } @proceedings{PittsAM:hoots99, editor= {A. Gordon and A. Pitts}, title= {Higher Order Operational Techniques in Semantics, Third International Workshop, Paris, 1999}, series= {Electronic Notes in Theoretical Computer Science}, publisher= {Elsevier}, volume= 26, year= 1999, url= {http://www.elsevier.nl/cas/tree/store/tcs/free/entcs/store/tcs26/cover.sub.sht} } @InProceedings{PittsAM:metpbn, author = {A. M. Pitts and M. J. Gabbay}, title = {A Metalanguage for Programming with Bound Names Modulo Renaming}, booktitle = {Mathematics of Program Construction. 5th International Conference, MPC2000, Ponte de Lima, Portugal, July 2000. Proceedings}, pages = {230--255}, year = 2000, editor = {R. Backhouse and J. N. Oliveira}, volume = 1837, series = {Lecture Notes in Computer Science}, publisher = {Springer-Verlag, Heidelberg} } @InProceedings{PittsAM:opeplp, author = {G. M. Bierman and A. M. Pitts and C. V. Russo}, title = {Operational Properties of {Lily}, a Polymorphic Linear Lambda Calculus with Recursion}, booktitle = {Fourth International Workshop on Higher Order Operational Techniques in Semantics, Montr{\'e}al}, year = 2000, volume = 41, pages = {70--88}, series = {Electronic Notes in Theoretical Computer Science}, month = sep, publisher = {Elsevier}, issn = {1571-0661} } @InCollection{PittsAM:opespe, author = {A. M. Pitts}, title = {Operational Semantics and Program Equivalence}, booktitle = {Applied Semantics, Advanced Lectures}, pages = {378--412}, publisher = {Springer-Verlag}, year = 2002, editor = {G. Barthe and P. Dybjer and J. Saraiva}, volume = 2395, series = {Lecture Notes in Computer Science, Tutorial}, note = {International Summer School, {APPSEM} 2000, Caminha, Portugal, September 9--15, 2000}, isbn = {3-540-44044-5} } @Article{PittsAM:newaas-jv, author = {M. J. Gabbay and A. M. Pitts}, title = {A New Approach to Abstract Syntax with Variable Binding}, journal = {Formal Aspects of Computing}, year = 2002, volume = 13, pages = {341--363} } @InProceedings{PittsAM:firotn, author = {A. M. Pitts}, title = {A First Order Theory of Names and Binding}, booktitle = {Mechanized Reasoning about Languages with Variable Binding ({MERLIN} 20001), Procceedings of a Workshop held in conjunction with the International Joint Conference on Automated Reasoning, IJCAR 2001, Siena, June 2001}, pages = {1--14}, year = 2001, editor = {S. Ambler and R. Crole and A. Momigliano}, series = {Department of Computer Science Technical Report 2001/26}, organization = {University of Leicester} } @InProceedings{PittsAM:nomlfo, author = {A. M. Pitts}, title = {Nominal Logic: A First Order Theory of Names and Binding}, booktitle = {Theoretical Aspects of Computer Software, 4th International Symposium, TACS 2001, Sendai, Japan, October 29-31, 2001. Proceedings}, pages = {219--242}, year = 2001, editor = {N. Kobayashi and B. C. Pierce}, volume = 2215, series = {Lecture Notes in Computer Science}, publisher = {Springer-Verlag, Berlin}, isbn = {3-540-42736-8} } @Article{PittsAM:nomlfo-jv, author = {A. M. Pitts}, title = {Nominal Logic, A First Order Theory of Names and Binding}, journal = {Information and Computation}, year = 2003, pages = {165--193}, volume = 186 } @InProceedings{PittsAM:nomu, author = {C. Urban and A. M. Pitts and M. J. Gabbay}, title = {Nominal Unification}, booktitle = {Computer Science Logic and 8th Kurt G{\"o}del Colloquium (CSL'03 \& KGC), Vienna, Austria. Proceedings}, pages = {513--527}, year = 2003, editor = {M. Baaz}, volume = 2803, series = {Lecture Notes in Computer Science}, publisher = {Springer-Verlag, Berlin} } @Article{PittsAM:nomu-jv, author = {C. Urban and A. M. Pitts and M. J. Gabbay}, title = {Nominal Unification}, journal = {Theoretical Computer Science}, year = 2004, volume = 323, pages = {473--497} } @InProceedings{PittsAM:frepbm, author = {M. R. Shinwell and A. M. Pitts and M. J. Gabbay}, title = {Fresh{ML}: Programming with Binders Made Simple}, booktitle = {Eighth {ACM SIGPLAN} International Conference on Functional Programming ({ICFP} 2003), Uppsala, Sweden}, pages = {263--274}, year = 2003, month = aug, publisher = {ACM Press} } @TechReport{PittsAM:impccj, author = {G.M. Bierman and M.J. Parkinson and A.M. Pitts}, title = {An Imperative Core Calculus for Java and Java with Effects}, institution = {University of Cambridge Computer Laboratory}, year = 2003, number = 563, month = apr } @InCollection{PittsAM:typor, author = {A. M. Pitts}, title = {Typed Operational Reasoning}, booktitle = {Advanced Topics in Types and Programming Languages}, pages = {245--289}, publisher = {The MIT Press}, year = 2005, editor = {B. C. Pierce}, chapter = 7, isbn = {0-262-16228-8} } @Comment @Unpublished{PittsAM:densse, @Comment author = {A. M. Pitts and T. Sheard}, @Comment title = {On the Denotational Semantics of Staged Execution of @Comment Open Code}, @Comment note = {Submitted}, @Comment month = feb, @Comment year = 2004 @Comment } @Article{PittsAM:monsf, author = {M. R. Shinwell and A. M. Pitts}, title = {On a Monadic Semantics for Freshness}, journal = {Theoretical Computer Science}, year = {2005}, volume = 342, pages = {28--55} } @TechReport{PittsAM:freocu, author = {M. R. Shinwell and A. M. Pitts}, title = {{F}resh {O}bjective {C}aml User Manual}, institution = {University of Cambridge Computer Laboratory}, year = 2005, number = {UCAM-CL-TR-621}, month = feb } @InProceedings{PittsAM:alpsri-ea, author = {A. M. Pitts}, title = {Alpha-Structural Recursion and Induction (Extended Abstract)}, booktitle = {Theorem Proving in Higher Order Logics, 18th International Conference, TPHOLs 2005, Oxford UK, August 2005, Proceedings}, pages = {17--34}, year = 2005, editor = {J. Hurd and T. Melham}, volume = {3603}, series = {Lecture Notes in Computer Science}, publisher = {Springer-Verlag} }