Nominal Sets Names and Symmetry in Computer Science

Nominal sets provide a promising new mathematical analysis of names in formal languages based upon symmetry, with many applications to the syntax and semantics of programming language constructs that involve binding, or localising names. Part I provides an introduction to the basic theory of nominal...

Full description

Saved in:
Bibliographic Details
Main Author: Pitts, Andrew M.
Format: eBook Book
Language:English
Published: Cambridge Cambridge University Press 30.05.2013
Edition:1
Series:Cambridge Tracts in Theoretical Computer Science
Subjects:
ISBN:9781107017788, 1107017785
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Table of Contents:
  • 8.6 Induction -- Exercises -- 9 Locally scoped names -- 9.1 The category of nominal restriction sets -- 9.2 Products and coproducts -- 9.3 Functions -- 9.4 λν-Calculus -- 9.5 Free nominal restriction sets -- 9.6 ν-Calculus -- 9.7 Total concretion -- Exercises -- 10 Functional programming -- 10.1 Types of names -- 10.2 Name abstraction types -- 10.3 Dynamically allocated names -- 10.4 Name swapping -- 10.5 Freshness relation -- 10.6 Name abstraction expressions -- 10.7 Name abstraction patterns -- 10.8 FML -- 10.9 Type assignment -- 10.10 Contextual equivalence -- 10.11 Step-indexed logical relation -- 10.12 Abstractness -- 10.13 Purity -- Exercises -- 11 Domain theory -- 11.1 Nominal posets -- 11.2 Discontinuity of name abstraction -- 11.3 Uniform directed complete posets -- 11.4 Recursive domain equations -- 11.5 Nominal Scott domains -- Exercises -- 12 Computational logic -- 12.1 Unification -- 12.2 Term rewriting -- 12.3 Logic programming -- Exercises -- References -- Index of notation -- Index
  • Cover -- Contents -- Preface -- 0 Introduction -- 0.1 Atomic names -- 0.2 Support and freshness -- 0.3 Abstract syntax with binders -- 0.4 Name abstraction -- 0.5 Orbit-finiteness -- 0.6 Alternative formulations -- 0.7 Prerequisites -- 0.8 Notation -- PART ONE THEORY -- 1 Permutations -- 1.1 The category of G-sets -- 1.2 Products and coproducts -- 1.3 Natural numbers -- 1.4 Functions -- 1.5 Power sets -- 1.6 Partial functions -- 1.7 Quotient sets -- 1.8 Finite permutations -- 1.9 Name symmetries -- Exercises -- 2 Support -- 2.1 The category of nominal sets -- 2.2 Products and coproducts -- 2.3 Natural numbers -- 2.4 Functions -- 2.5 Power sets -- 2.6 FM-sets -- 2.7 Failure of choice -- 2.8 Partial functions -- 2.9 Quotient sets -- 2.10 Non-finite support -- Exercises -- 3 Freshness -- 3.1 Freshness relation -- 3.2 Freshness quantifier -- 3.3 Fresh names -- 3.4 Separated product -- Exercises -- 4 Name abstraction -- 4.1 α-Equivalence -- 4.2 Nominal set of name abstractions -- 4.3 Concretion -- 4.4 Functoriality -- 4.5 Freshness condition for binders -- 4.6 Generalized name abstraction -- 4.7 Many sorts of names -- Exercises -- 5 Orbit-finiteness -- 5.1 Orbits -- 5.2 Atomic nominal sets -- 5.3 Finitely presentable objects -- 5.4 Orbit-finite subsets -- 5.5 Uniformly supported subsets -- Exercises -- 6 Equivalents of -- 6.1 Sets with name swapping -- 6.2 Continuous G-sets -- 6.3 The Schanuel topos -- 6.4 Named sets -- Exercises -- PART TWO APPLICATIONS -- 7 Inductive and coinductive definitions -- 7.1 Inductively defined subsets -- 7.2 Rule induction -- 7.3 Equivariant rules -- 7.4 Tarski's fixed-point theorem -- 7.5 Equivariant fixed-points -- 7.6 Coinductively defined subsets -- Exercises -- 8 Nominal algebraic data types -- 8.1 Signatures -- 8.2 α-Equivalence -- 8.3 Algebraic functors -- 8.4 Initial algebra semantics -- 8.5 Primitive recursion