Nominal Domain Theory for Concurrency

Total Page:16

File Type:pdf, Size:1020Kb

Nominal Domain Theory for Concurrency UCAM-CL-TR-751 Technical Report ISSN 1476-2986 Number 751 Computer Laboratory Nominal domain theory for concurrency David C. Turner July 2009 15 JJ Thomson Avenue Cambridge CB3 0FD United Kingdom phone +44 1223 763500 http://www.cl.cam.ac.uk/ c 2009 David C. Turner This technical report is based on a dissertation submitted December 2008 by the author for the degree of Doctor of Philosophy to the University of Cambridge, Clare College. Technical reports published by the University of Cambridge Computer Laboratory are freely available via the Internet: http://www.cl.cam.ac.uk/techreports/ ISSN 1476-2986 Nominal Domain Theory for Concurrency David C. Turner Abstract Domain theory provides a powerful mathematical framework for describing se- quential computation, but the traditional tools of domain theory are inapplica- ble to concurrent computation. Without a general mathematical framework it is hard to compare developments and approaches from different areas of study, leading to time and effort wasted in rediscovering old ideas in new situations. A possible remedy to this situation is to build a denotational semantics based directly on computation paths, where a process denotes the set of paths that it may follow. This has been shown to be a remarkably powerful idea, but it lacks certain computational features. Notably, it is not possible to express the idea of names and name-generation within this simple path semantics. Nominal set theory is a non-standard mathematical foundation that captures the notion of names in a general way. Building a mathematical development on top of nominal set theory has the effect of incorporating names into its fabric at a low level. Importantly, nominal set theory is sufficiently close to conventional foundations that it is often straightforward to transfer intuitions into the nominal setting. Here the original path-based domain theory for concurrency is developed within nominal set theory, which has the effect of systematically adjoining name- generation to the model. This gives rise to an expressive metalanguage, Nominal HOPLA, which supports a notion of name-generation. Its denotational seman- tics is given entirely in terms of universal constructions on domains. An oper- ational semantics is also presented, and relationships between the denotational and operational descriptions are explored. The generality of this approach to including name generation into a simple se- mantic model indicates that it will be possible to apply the same techniques to more powerful domain theories for concurrency, such as those based on presheaves. Acknowledgments Firstly I would like to wholeheartedly thank my supervisor, Glynn Winskel, for all the ideas, support, encouragement, direction and freedom that he has given me over the course of my research. I hope that my work brings his vision for the future of semantics closer to reality. I would also like to thank the EPSRC for their generous support through their grant “Domain Theory for Concurrency”, number GR/T22049/01, whose principal investigator was Prof. Winskel. Sam Staton’s positive influence on my work cannot be overstated, both for his detailed mathematical support and his equally thorough typographical assis- tance. All errors that remain are entirely my own work. Andrew Pitts must also receive my appreciation for his auspiciously timed sem- inar on nominal set theory at the start of my studies, as well as his enthusiasm for all things nominal, and for his terrible puns: it is fortunate that for this work his support seems to be infinite. I regret not having capitalised more on Jamie Gabbay’s equally infectious zeal for the subject; I hope that he, and all the other participants of CANS, enjoy reading this thesis as much as I have enjoyed producing it. At the Computer Laboratory and at DPMMS I have met many other wonderful people who have helped me along my way. In particular I would like to thank Martin Hyland for pointing me in Glynn’s direction in the first place; Matthew Parkinson for helping me to hammer LATEX into shape and in particular for his macro to produce very wide hats indeed; and the Theory and Semantics Group for all our varied conversations on all manner of topics over tea and beer and games of pool. d Clare College has been a wonderfully supportive — and remarkably patient — home to me for the past decade, and the source of many valuable friendships. My family have played a larger part in this work than perhaps they realise. I would like to thank Mum and Dad and Andy and Di and Howard and all my grandparents for giving me the encouragement, the work ethic and the environment that brought me here. I hope you can make it as far as page 10 and I hope it makes you proud. Finally, to Tess, who is the most wonderful person in the world: without you I would have never got so far, so happily, with so much of my sanity still intact. You made it all worthwhile. This is for you. To all of you, thank you. — Dave Turner, Cambridge, December 2008 Contents 1 Introduction 9 2 Preliminaries 13 2.1 DomainTheory............................ 13 2.1.1 Complete Partial Orders and Continuous Functions . 15 2.1.2 AlgebraicCPOs ....................... 17 2.1.3 Nondeterminism in Domain Theory . 19 2.1.4 A Simple Domain Theory for Concurrency . 20 2.1.5 Domains of Paths . 21 2.2 NominalSets ............................. 23 2.2.1 Finite Automorphisms on Names . 25 2.2.2 The Theory of Nominal Sets . 30 2.2.3 Constructing Nominal Sets . 32 2.2.4 A Category of Nominal Sets . 35 2.2.5 Binding in Nominal Sets . 35 2.2.6 Choice and Nominal Sets . 39 2.3 Conclusion .............................. 42 3 Nominal Domain Theory 43 3.1 NominalPreorders .......................... 44 5 CONTENTS 6 3.1.1 Definitions .......................... 44 3.1.2 The structure of NPre ................... 45 3.2 FMPreorders............................. 46 3.2.1 Fraenkel-Mostowski Set Theory . 46 3.3 Nominal Nondeterministic Domains . 51 3.3.1 Free Join-Completions of Path Orders . 52 3.3.2 Categories of FM-Linear Maps . 53 3.3.3 A relationship between (−)#a and (−)........... 54 d 3.3.4 A relationship between δa and (−)............. 56 d 3.3.5 The Structure of FMLins .................. 59 3.4 Continuity in FM Domain Theory . 63 3.4.1 Name-Binding is not Directed-Join Continuous . 63 3.4.2 FM-Continuity . 65 3.4.3 FM-Isolated Elements . 67 3.4.4 Categories of FM-Continuous Maps . 69 3.4.5 A relationship between (−)#a and! ............ 73 3.4.6 A relationship between δa and!............... 74 3.4.7 Binding and Continuity . 77 3.4.8 The Structure of FMCtss .................. 79 3.5 Conclusion .............................. 85 4 Nominal HOPLA: Syntax and Operational Semantics 86 4.1 Syntax................................. 87 4.1.1 Preliminaries ......................... 87 4.1.2 SyntaxofTypes ....................... 88 4.1.3 Syntax of Environments . 88 4.1.4 SyntaxofTerms ....................... 90 CONTENTS 7 4.1.5 Syntax of Actions . 91 4.1.6 Permutations on Terms and Actions . 91 4.1.7 Substitution.......................... 92 4.2 TypingRules ............................. 92 4.2.1 Typing Rules for Terms . 92 4.2.2 Typing Rules for Actions . 97 4.3 The Substitution Lemma . 103 4.4 Operational Semantics . 107 4.4.1 Properties of the Operational Semantics . 108 5 Nominal HOPLA: Denotational Semantics 110 5.1 Types and Environments . 110 5.1.1 TypesasPathOrders . 111 5.1.2 Environments as Products . 112 5.2 TermsandActions .......................... 113 5.2.1 Higher-Order Processes . 114 5.2.2 Prefixing and Matching . 116 5.2.3 Labelled Processes . 118 5.2.4 Recursion ........................... 120 5.2.5 Nondeterminism . 122 5.2.6 Names and Binding . 123 5.2.7 Structural Rules . 126 5.3 Substitution as Composition . 132 5.4 Soundness and Adequacy . 139 5.4.1 Soundness . 140 5.4.2 A Logical Relation . 143 5.4.3 Adequacy ........................... 146 CONTENTS 8 6 A Universal View 153 6.1 FMPres in Dependent Type Theory . 154 6.1.1 AFibration.......................... 155 6.1.2 Binding in (FMPre∅ ↓ y)..................158 6.2 Adjunctions and Kleisli Categories . 161 6.2.1 Adjoints to Inclusions . 161 6.2.2 Adjunctions in Kleisli Categories . 163 6.3 Binding in FM-Linear Categories . 166 6.3.1 Binding in FMLins,Abstractly .............. 166 6.3.2 Binding in FMLins, Concretely . 168 6.4 Binding in FM-Continuous Categories . 169 6.4.1 Binding in FMCtss,Abstractly . 170 6.4.2 Binding in FMCtss, Concretely . 174 7 Conclusion 176 7.1 Related and Future Work . 176 7.1.1 Full Abstraction . 176 7.1.2 Relationships with New HOPLA . 178 7.1.3 Even-More-Nominal HOPLA . 179 7.1.4 Presheaf Semantics . 180 7.1.5 Nominal Domain Theory . 180 7.2 Summary ...............................182 Chapter 1 Introduction Nygaard and Winskel[20] motivate the study of domain theory as follows. Denotational semantics and domain theory of Scott and Strachey provide a global mathematical setting for sequential computation, and thereby place programming languages in connection with each other; connect with the mathematical worlds of algebra, topology and logic; and inspire programming languages, type disciplines and methods of reasoning. Sequential computations typically receive some input, perform a calculation, and output the result once they have finished. In contrast, computation in the modern world is increasingly performed by interconnected collections of de- vices, each performing parts of computations and interacting with their neigh- bours and with their environment in the course of their calculations. Input may not all be received at once; output may not all be sent simultaneously; and computations do not necessarily even have a well-defined finish. In this world of concurrent, distributed computation there is no global mathematical model that serves to guide developments and unify different approaches and which provides a forum for comparing innovations.
Recommended publications
  • Categories and Types for Axiomatic Domain Theory Adam Eppendahl
    Department of Computer Science Research Report No. RR-03-05 ISSN 1470-5559 December 2003 Categories and Types for Axiomatic Domain Theory Adam Eppendahl 1 Categories and Types for Axiomatic Domain Theory Adam Eppendahl Submitted for the degree of Doctor of Philosophy University of London 2003 2 3 Categories and Types for Axiomatic Domain Theory Adam Eppendahl Abstract Domain Theory provides a denotational semantics for programming languages and calculi con- taining fixed point combinators and other so-called paradoxical combinators. This dissertation presents results in the category theory and type theory of Axiomatic Domain Theory. Prompted by the adjunctions of Domain Theory, we extend Benton’s linear/nonlinear dual- sequent calculus to include recursive linear types and define a class of models by adding Freyd’s notion of algebraic compactness to the monoidal adjunctions that model Benton’s calculus. We observe that algebraic compactness is better behaved in the context of categories with structural actions than in the usual context of enriched categories. We establish a theory of structural algebraic compactness that allows us to describe our models without reference to en- richment. We develop a 2-categorical perspective on structural actions, including a presentation of monoidal categories that leads directly to Kelly’s reduced coherence conditions. We observe that Benton’s adjoint type constructors can be treated individually, semantically as well as syntactically, using free representations of distributors. We type various of fixed point combinators using recursive types and function types, which we consider the core types of such calculi, together with the adjoint types. We use the idioms of these typings, which include oblique function spaces, to give a translation of the core of Levy’s Call-By-Push-Value.
    [Show full text]
  • Topology, Domain Theory and Theoretical Computer Science
    Draft URL httpwwwmathtulaneedumwmtopandcspsgz pages Top ology Domain Theory and Theoretical Computer Science Michael W Mislove Department of Mathematics Tulane University New Orleans LA Abstract In this pap er we survey the use of ordertheoretic top ology in theoretical computer science with an emphasis on applications of domain theory Our fo cus is on the uses of ordertheoretic top ology in programming language semantics and on problems of p otential interest to top ologists that stem from concerns that semantics generates Keywords Domain theory Scott top ology p ower domains untyp ed lamb da calculus Subject Classication BFBNQ Intro duction Top ology has proved to b e an essential to ol for certain asp ects of theoretical computer science Conversely the problems that arise in the computational setting have provided new and interesting stimuli for top ology These prob lems also have increased the interaction b etween top ology and related areas of mathematics such as order theory and top ological algebra In this pap er we outline some of these interactions b etween top ology and theoretical computer science fo cusing on those asp ects that have b een most useful to one particular area of theoretical computation denotational semantics This pap er b egan with the goal of highlighting how the interaction of order and top ology plays a fundamental role in programming semantics and related areas It also started with the viewp oint that there are many purely top o logical notions that are useful in theoretical computer science that
    [Show full text]
  • Domain Theory: an Introduction
    Domain Theory: An Introduction Robert Cartwright Rebecca Parsons Rice University This monograph is an unauthorized revision of “Lectures On A Mathematical Theory of Computation” by Dana Scott [3]. Scott’s monograph uses a formulation of domains called neighborhood systems in which finite elements are selected subsets of a master set of objects called “tokens”. Since tokens have little intuitive significance, Scott has discarded neighborhood systems in favor of an equivalent formulation of domains called information systems [4]. Unfortunately, he has not rewritten his monograph to reflect this change. We have rewritten Scott’s monograph in terms of finitary bases (see Cartwright [2]) instead of information systems. A finitary basis is an information system that is closed under least upper bounds on finite consistent subsets. This convention ensures that every finite answer is represented by a single basis object instead of a set of objects. 1 The Rudiments of Domain Theory Motivation Programs perform computations by repeatedly applying primitive operations to data values. The set of primitive operations and data values depends on the particular programming language. Nearly all languages support a rich collection of data values including atomic objects, such as booleans, integers, characters, and floating point numbers, and composite objects, such as arrays, records, sequences, tuples, and infinite streams. More advanced languages also support functions and procedures as data values. To define the meaning of programs in a given language, we must first define the building blocks—the primitive data values and operations—from which computations in the language are constructed. Domain theory is a comprehensive mathematical framework for defining the data values and primitive operations of a programming language.
    [Show full text]
  • Spectral Sets
    View metadata, citation and similar papers at core.ac.uk brought to you by CORE provided by Elsevier - Publisher Connector JOURNAL OF PURE AND APPLIED ALGEBRA ELSE&R Journal of Pure and Applied Algebra 94 (1994) lOlL114 Spectral sets H.A. Priestley Mathematical Institute, 24129 St. Giles, Oxford OXI 3LB, United Kingdom Communicated by P.T. Johnstone; received 17 September 1993; revised 13 April 1993 Abstract The purpose of this expository note is to draw together and to interrelate a variety of characterisations and examples of spectral sets (alias representable posets or profinite posets) from ring theory, lattice theory and domain theory. 1. Introduction Thanks to their threefold incarnation-in ring theory, in lattice theory and in computer science-the structures we wish to consider have been approached from a variety of perspectives, with rather little overlap. We shall seek to show how the results of these independent studies are related, and add some new results en route. We begin with the definitions which will allow us to present, as Theorem 1.1, the amalgam of known results which form the starting point for our later discussion. The theorem collects together ways of describing the prime spectra of commutative rings with identity or, equivalently, of distributive lattices with 0 and 1. A topology z on a set X is defined to be spectral (and (X; s) called a spectral space) if the following conditions hold: (i) ? is sober (that is, every non-empty irreducible closed set is the closure of a unique point), (ii) z is quasicompact, (iii) the quasicompact open sets form a basis for z, (iv) the family of quasicompact open subsets of X is closed under finite intersections.
    [Show full text]
  • Domain Theory Corrected and Expanded Version Samson Abramsky1 and Achim Jung2
    Domain Theory Corrected and expanded version Samson Abramsky1 and Achim Jung2 This text is based on the chapter Domain Theory in the Handbook for Logic in Computer Science, volume 3, edited by S. Abramsky, Dov M. Gabbay, and T. S. E. Maibaum, published by Clarendon Press, Oxford in 1994. While the numbering of all theorems and definitions has been kept the same, we have included comments and corrections which we have received over the years. For ease of reading, small typo- graphical errors have simply been corrected. Where we felt the original text gave a misleading impression, we have included additional explanations, clearly marked as such. If you wish to refer to this text, then please cite the published original version where possible, or otherwise this on-line version which we try to keep available from the page http://www.cs.bham.ac.uk/∼axj/papers.html We will be grateful to receive further comments or suggestions. Please send them to [email protected] So far, we have received comments and/or corrections from Francesco Consentino, Joseph D. Darcy, Mohamed El-Zawawy, Weng Kin Ho, Klaus Keimel, Olaf Klinke, Xuhui Li, Homeira Pajoohesh, Dieter Spreen, and Dominic van der Zypen. 1Computing Laboratory, University of Oxford, Wolfson Building, Parks Road, Oxford, OX1 3QD, Eng- land. 2School of Computer Science, University of Birmingham, Edgbaston, Birmingham, B15 2TT, England. Contents 1 Introduction and Overview 5 1.1 Origins ................................. 5 1.2 Ourapproach .............................. 7 1.3 Overview ................................ 7 2 Domains individually 10 2.1 Convergence .............................. 10 2.1.1 Posetsandpreorders .. .... .... ... .... .... 10 2.1.2 Notation from order theory .
    [Show full text]
  • Domain Theory Corrected and Expanded Version Samson Abramsky1 and Achim Jung2
    Domain Theory Corrected and expanded version Samson Abramsky1 and Achim Jung2 This text is based on the chapter Domain Theory in the Handbook of Logic in Com- puter Science, volume 3, edited by S. Abramsky, Dov M. Gabbay, and T. S. E. Maibaum, published by Clarendon Press, Oxford in 1994. While the numbering of all theorems and definitions has been kept the same, we have included comments and corrections which we have received over the years. For ease of reading, small typo- graphical errors have simply been corrected. Where we felt the original text gave a misleading impression, we have included additional explanations, clearly marked as such. If you wish to refer to this text, then please cite the published original version where possible, or otherwise this on-line version which we try to keep available from the page http://www.cs.bham.ac.uk/˜axj/papers.html We will be grateful to receive further comments or suggestions. Please send them to [email protected] So far, we have received comments and/or corrections from Liang-Ting Chen, Francesco Consentino, Joseph D. Darcy, Mohamed El-Zawawy, Miroslav Haviar, Weng Kin Ho, Klaus Keimel, Olaf Klinke, Xuhui Li, Homeira Pajoohesh, Dieter Spreen, and Dominic van der Zypen. 1Computing Laboratory, University of Oxford, Wolfson Building, Parks Road, Oxford, OX1 3QD, Eng- land. 2School of Computer Science, University of Birmingham, Edgbaston, Birmingham, B15 2TT, England. Contents 1 Introduction and Overview 5 1.1 Origins ................................. 5 1.2 Ourapproach .............................. 7 1.3 Overview ................................ 7 2 Domains individually 10 2.1 Convergence .............................
    [Show full text]
  • Domain Theory I: Semantic Algebras
    Domain Theory I: Semantic Algebras Before we can study the semantics of programming languages, we must establish a suitable collection of meanings for programs. We employ a framework called domain theory: the study of ``structured sets'' and their operations. A programmer might view domain theory as ``data structures for semantics.'' Nonetheless, domain theory is a formal branch of (computing-related) mathematics and can be studied on its own. The fundamental concept in domain theory is a semantic domain, a set of elements grouped together because they share some common property or use. The set of natural numbers is a useful semantic domain; its elements are structurally similar and share common use in arithmetic. Other examples are the Greek alphabet and the diatonic (musical) scale. Domains may be nothing more than sets, but there are situations in which other structures such as lattices or topologies are used instead. We can use domains without worrying too much about the underlying mathematics. Sets make good domains, and you may safely assume that the structures de®ned in this chapter are nothing more than the sets discussed in Chapter 2. Chapter 6 presents reasons why domains other than sets might be necessary. Accompanying a domain is a set of operations. The operations are functions that need arguments from the domain to produce answers. Operations are de®ned in two parts. First, the operation's domain and codomain are given by an expression called the operation's func- . → tionality. For an operation f, its functionality f: D1× D2× × Dn A says that f needs an argument from domain D1 and one from D2, .
    [Show full text]
  • Domain Theory for Concurrency
    Domain Theory for Concurrency Mikkel Nygaard Glynn Winskel BRICS∗ Computer Laboratory University of Aarhus University of Cambridge Abstract A simple domain theory for concurrency is presented. Based on a categorical model of linear logic and associated comonads, it highlights the role of linear- ity in concurrent computation. Two choices of comonad yield two expressive metalanguages for higher-order processes, both arising from canonical construc- tions in the model. Their denotational semantics are fully abstract with respect to contextual equivalence. One language derives from an exponential of linear logic; it supports a straightforward operational semantics with simple proofs of soundness and adequacy. The other choice of comonad yields a model of affine-linear logic, and a process language with a tensor operation to be under- stood as a parallel composition of independent processes. The domain theory can be generalised to presheaf models, providing a more refined treatment of nondeterministic branching. The article concludes with a discussion of a broader programme of research, towards a fully fledged domain theory for concurrency. 1 Introduction Denotational semantics and domain theory of Scott and Strachey provide a global mathematical setting for sequential computation, and thereby place programming languages in connection with each other; connect with the mathematical worlds of algebra, topology and logic; and inspire programming languages, type disciplines and methods of reasoning. In concurrent/distributed/interactive computation that global mathematical gui- dance is missing, and domain theory has had little direct influence on theories of concurrent computation. One reason is that classical domain theory has not scaled up to the more intricate models used there.
    [Show full text]
  • Notes on Domain Theory and Topology
    Notes on domain theory and topology Fr´ed´ericBlanqui 17 August 2012 These notes have been written to complement the study of the very nice book of Gilles Dowek on \Proofs and Algorithms - An Introduction to Logic and Computability" [2] by Ying Jiang's group of students at the Institute of Software of the Chinese Academy of Sciences (ISCAS) that met more or less every Tuesday from May to August 2012. It introduces the notion of directed-complete partial order (dCPO) that is the basis of domain theory [1] and topology. 1 Directed-complete partial orders Let ≤ be an ordering relation on a set E. The first chapter of Dowek's book starts by introducing the following notions: Definition 1 (Limit, complete ordering, continuity) An element l 2 E is the limit of an increasing sequence u0 ≤ u1 ≤ ::: if l is the least upper bound (lub) of the set fu0; u1;:::g. The ordering ≤ is weakly complete if every increasing sequence has a limit. It is strongly complete if every subset of E has a least upper bound. A function f : E ! E is increasing if for all x; y 2 E, x ≤ y ) f(x) ≤ f(y). In a weakly complete ordering ≤, a function f : E ! E is continuous if it is increasing and if, for every increasing sequence (ui)i≥0, lubff(ui)gi≥0 = f(lubfuigi≥0). A set E equipped with an ordering relation ≤ is also called a partially ordered set or poset. In a totally ordered set, every two elements are comparable. An increasing function is more usually called monotone, monotonic or iso- tone (it is a morphism in the category of posets).
    [Show full text]
  • A Categorical View on Algebraic Lattices in Formal Concept Analysis
    Wright State University CORE Scholar Computer Science and Engineering Faculty Publications Computer Science & Engineering 2006 A Categorical View on Algebraic Lattices in Formal Concept Analysis Pascal Hitzler [email protected] Markus Krotzsch Guo-Qiang Zhang Follow this and additional works at: https://corescholar.libraries.wright.edu/cse Part of the Computer Sciences Commons, and the Engineering Commons Repository Citation Hitzler, P., Krotzsch, M., & Zhang, G. (2006). A Categorical View on Algebraic Lattices in Formal Concept Analysis. Fundamenta Informaticae, 74 (2/3), 301-328. https://corescholar.libraries.wright.edu/cse/165 This Article is brought to you for free and open access by Wright State University’s CORE Scholar. It has been accepted for inclusion in Computer Science and Engineering Faculty Publications by an authorized administrator of CORE Scholar. For more information, please contact [email protected]. Fundamenta Informaticae XX (2006) 1–28 1 IOS Press A Categorical View on Algebraic Lattices in Formal Concept Analysis Pascal Hitzler, Markus Krötzsch Institut AIFB Universität Karlsruhe Karlsruhe, Germany Guo-Qiang Zhang Department of Electrical Engineering and Computer Science Case Western Reserve University Cleveland, Ohio, U.S.A. Abstract. Formal concept analysis has grown from a new branch of the mathematical field of lattice theory to a widely recognized tool in Computer Science and elsewhere. In order to fully benefit from this theory, we believe that it can be enriched with notions such as approximation by computation or representability. The latter are commonly studied in denotational semantics and domain theory and captured most prominently by the notion of algebraicity, e.g. of lattices.
    [Show full text]
  • An Introduction to Domain Theory Notes for a Short Course
    Draft (26 May 2003) 33 pages An Introduction to Domain Theory Notes for a Short Course Michael Mislove 1 Department of Mathematics, Tulane University, New Orleans, LA 70118 Abstract This set of notes arises from a short course given at the Universit¶a Degli Studi Udine, given in May, 2003. The aim of the short course is to introduce both undergraduate and PhD students to domain theory, providing some of its history, as well as some of its most recent advances. 1 Outline of the Course The aim of this course is to present some of the basic results about domain theory. This will include the historically most signi¯cant contribution of the theory { the use of domains to provide a model of the untyped ¸-calculus of Church and Curry. The course will proceed with the following sections: (i) Some aspects of the ¸-calculus, for motivation. (ii) Some results from universal algebra and category theory for background. (iii) !-complete partial orders. (iv) Solving domain equations, and, in particular, building a model of the untyped ¸-calculus. The last part of the course will include lectures that survey additional portions of domain theory, including: ² Continuous domains and topology, where we discover alternative views of domains. ² Measurements, in which we see how to generalize some of the fundamental results of domain theory, and ² Probabilistic models, where we discover the domain-theoretic approach to probabilistic computation. 1 The author gratefully acknowledges the support of the National Science Foundation and the US O±ce of Naval Research. Domain Theory Notes This outline is being set down at the beginning of the course, and it isn't clear how much of this program we actually will accomplish.
    [Show full text]
  • Chapter 10 DOMAIN THEORY and FIXED-POINT SEMANTICS
    Chapter 10 DOMAIN THEORY AND FIXED-POINT SEMANTICS lthough we did not stress the point in Chapter 9, the notation of denotational semantics is built upon that of the lambda calculus. The A purpose of denotational semantics is to provide mathematical descrip- tions of programming languages independent of their operational behavior. The extended lambda calculus serves as a mathematical formalism, a metalanguage, for denotational definitions. As with all mathematical formal- isms, we need to know that the lambda calculus has a model to ensure that the definitions are not meaningless. Furthermore, denotational definitions, as well as programming languages in general, rely heavily on recursion, a mechanism whose description we de- ferred in the discussion of the lambda calculus in Chapter 5. Normally a user of a programming language does not care about the logical foundations of declarations, but we maintain that serious questions can be raised concern- ing the validity of recursion. In this chapter we justify recursive definitions to guarantee that they actually define meaningful objects. 10.1 CONCEPTS AND EXAMPLES Programmers use recursion to define functions and procedures as subpro- grams that call themselves and also to define recursive data structures. Most imperative programming languages require the use of pointers to declare recursive data types such as (linked) lists and trees. In contrast, many func- tional programming languages allow the direct declaration of recursive types. Rather than investigating recursive types in an actual programming language, we study recursive data declarations in a wider context. In this introductory section we consider the problems inherent in recursively defined functions and data and the related issue of nontermination.
    [Show full text]