This book provides an overview of type theory. The first part of the book is historical, yet at the same time, places historical systems in the modern setting. The second part deals with modern type theory as it developed since the 1940s, and with the role of propositions as types (or proofs as terms. The third part proposes new systems that bring more advantages together.
Type theory is a fast-evolving field at the crossroads of logic, computer science and mathematics. This gentle step-by-step introduction is ideal for graduate students and researchers who need to understand the ins and outs of the mathematical machinery, the role of logical rules therein, the essential contribution of definitions and the decisive nature of well-structured proofs. The authors begin with untyped lambda calculus and proceed to several fundamental type systems, including the well-known and powerful Calculus of Constructions. The book also covers the essence of proof checking and proof development, and the use of dependent type theory to formalise mathematics. The only prerequisite is a basic knowledge of undergraduate mathematics. Carefully chosen examples illustrate the theory throughout. Each chapter ends with a summary of the content, some historical context, suggestions for further reading and a selection of exercises to help readers familiarise themselves with the material.
An array of general ideas useful in a wide variety of fields. Starting from the foundations, this book illuminates the concepts of category, functor, natural transformation, and duality. It then turns to adjoint functors, which provide a description of universal constructions, an analysis of the representations of functors by sets of morphisms, and a means of manipulating direct and inverse limits. These categorical concepts are extensively illustrated in the remaining chapters, which include many applications of the basic existence theorem for adjoint functors. The categories of algebraic systems are constructed from certain adjoint-like data and characterised by Beck's theorem. After considering a variety of applications, the book continues with the construction and exploitation of Kan extensions. This second edition includes a number of revisions and additions, including new chapters on topics of active interest: symmetric monoidal categories and braided monoidal categories, and the coherence theorems for them, as well as 2-categories and the higher dimensional categories which have recently come into prominence.
This book describes two stages in the historical development of the notion of mathematical structures: first, it traces its rise in the context of algebra from the mid-1800s to 1930, and then considers attempts to formulate elaborate theories after 1930 aimed at elucidating, from a purely mathematical perspective, the precise meaning of this idea.
New and classical results in computational complexity, including interactive proofs, PCP, derandomization, and quantum computation. Ideal for graduate students.
In recent years, several formalisms for program construction have appeared. One such formalism is the type theory developed by Per Martin-Löf. Well suited as a theory for program construction, it makes possible the expression of both specifications and programs within the same formalism. Furthermore, the proof rules can be used to derive a correct program from a specification as well as to verify that a given program has a certain property. This book contains a thorough introduction to type theory, with information on polymorphic sets, subsets, monomorphic sets, and a full set of helpful examples.
Introduction to concepts of category theory — categories, functors, natural transformations, the Yoneda lemma, limits and colimits, adjunctions, monads — revisits a broad range of mathematical examples from the categorical perspective. 2016 edition.