Categories and Computability

Categories and Computability

Categories and Computability J.R.B. Cockett ∗ Department of Computer Science, University of Calgary, Calgary, T2N 1N4, Alberta, Canada February 22, 2010 Contents 1 Introduction 3 1.1 Categories and foundations . ........ 3 1.2 Categoriesandcomputerscience . ......... 4 1.3 Categoriesandcomputability . ......... 4 I Basic Categories 6 2 Categories and examples 7 2.1 Thedefinitionofacategory . ....... 7 2.1.1 Categories as graphs with composition . ......... 7 2.1.2 Categories as partial semigroups . ........ 8 2.1.3 Categoriesasenrichedcategories . ......... 9 2.1.4 The opposite category and duality . ....... 9 2.2 Examplesofcategories. ....... 10 2.2.1 Preorders ..................................... 10 2.2.2 Finitecategories .............................. 11 2.2.3 Categoriesenrichedinfinitesets . ........ 11 2.2.4 Monoids....................................... 13 2.2.5 Pathcategories................................ 13 2.2.6 Matricesoverarig .............................. 13 2.2.7 Kleenecategories.............................. 14 2.2.8 Sets ......................................... 15 2.2.9 Programminglanguages . 15 2.2.10 Productsandsumsofcategories . ....... 16 2.2.11 Slicecategories .............................. ..... 16 ∗Partially supported by NSERC, Canada. 1 3 Elements of category theory 18 3.1 Epics, monics, retractions, and sections . ............. 18 3.2 Functors........................................ 20 3.3 Natural transformations . ........ 23 3.4 Adjoints........................................ 25 3.4.1 Theuniversalproperty. ..... 25 3.5 Basicpropertiesofadjoints . ......... 28 3.6 Basiclimitsandcolimits. ........ 31 3.6.1 Initialandfinalobjects . ..... 31 3.6.2 Binaryproductsandcoproducts . ...... 32 3.6.3 Limitsandcolimitsofdiagrams. ....... 36 3.7 Special limits: equalizers and pullbacks. .............. 38 3.8 Completenessandcocompleteness . ......... 41 4 Exercises for part I 44 II Restriction Categories 47 5 Introduction to restriction 48 5.1 Restrictionbasics............................... ....... 49 5.2 M-categories ........................................ 54 5.3 Joinsandmeets................................... 60 5.4 Cartesianrestrictioncategories . ............ 64 6 Turing categories 68 6.1 Examples ........................................ 70 6.1.1 Theclassicalrecursioncategory. ......... 70 6.1.2 Variation ..................................... 71 6.1.3 Reflexiveobjects ............................... 71 6.1.4 Classifyingcategories . ...... 72 6.1.5 Turing categories vs. Kleene categories. ........... 72 6.2 ComparingTuringstructures . ........ 73 6.3 ComparingTuringmorphisms. ....... 74 6.4 Partial Combinatory Algebras . ......... 78 6.5 ExamplesofPCAs .................................. 82 7 Recursion categories 84 7.1 Recursiveness ................................... ..... 84 7.2 Interleaving .................................... ..... 85 7.3 Undecidability .................................. ..... 87 7.4 TherecursiontheoremandRice’stheorem . ........... 89 8 Exercises for Part II 91 2 1 Introduction It is impossible to give a complete view of category theory in a short sequence of lectures such as these and at the same time begin to illustrate an application. It is, therefore, inevitable that I will present a very biased and selective sampling. Since its inception in 1945 (with Eilenberg and Mac Lane’s paper [13]) category theory has found use as a fundamental tool in almost all areas of mathematics, it has had a profound effect on logic and philosophy, and it has been seriously applied both in the foundations of physics and, increasingly since the mid 1980’s, to the foundations of computer science in programming semantics. The second part of these notes describe another important area of application to computer science: computability. Despite the obvious potential for categorical methods to provide new insights in this area, computability (and complexity) has still not received the level of categorical attention it deserves. This makes it a particularly appropriate target for a series of lectures as there are plenty of opportunities to contribute! 1.1 Categories and foundations Category theory starts with a beguilingly simple notion: a category is just a directed graph with a composition defined on the edges. However, as more structure (mediated by functors, natural transformations, limits, and colimits) is added to this modest beginning, a fundamentally new and powerful mathematical perspective begins to emerge .... the reverberations of which are still working their way through the body of mathematics. Prior to the 1950’s work in the foundations of mathematics was almost all reductionist. This approach to foundations originated in Cantor’s creation of set theory. It is easy to forget that shortly after its formulation around the turn of the 20th century this foundation was beset by “paradoxes” and was widely criticized. Indeed, it was not until the work of Russell, Whitehead, and Zermelo which established axiomatic set theory, that Cantor’s sets were viewed as laying a foundation for mathematics. The antinomies which had plagued the foundations of mathematics had been quite embarrassing, and it was almost, with relief that the Mathematical establishment embraced the solution offered by axiomatic set theory. In 1926, when some mathematicians – following the “intuitionistic” views of Brouwer – continued to question this newly lain foundation, it was hardly surprising that Hilbert, representing the establishment, famously declared: “No one shall expel us from the paradise that Cantor has created for us”. Ironically it was only a few years later in 1931 that G¨odel’s work left Hilbert’s program in tatters. Brouwer’s “intuitionistic” views, although in some sense vindicated, never became mainstream. In fact, the focus in Mathematics had by that time already shifted away from foundational issues toward new and more applied frontiers – analysis, topology, algebraic geometry, number theory, combinatorics, etc. – and to other developments, such as Bourbaki’s program to organize and systematize mathematics at a more abstract level. By the 1950’s large tracts of new mathematics had been developed and documented. The relationships between these diverse developments had begun to assume an importance which, on the one hand, could not have been foreseen and, on the other, was simply not addressed at all by a reductionist approach to foundation. The development of category theory brought to the table a potent antidote to the reductionist program. Not only did it allow for the expression of relationships between areas of mathematics but also it provided methods to directly encode behavior in terms of admissible transformations. 3 It embodies an approach to mathematics very much in the tradition of Klein’s Erlangen Program (involving transformation groups in geometry), and Noether’s abstract approach to algebra. Most importantly category theory allowed the systematic discussion of behavior in a manner which avoided the detailed bottom-up development of internal structure. This enabled mathematicians to focus on structural interactions without actually worrying about exactly how the structures might arise. Considering that, famously, it took 360 pages of Principia Mathematica to prove 1 + 1 = 2, this was an immensely important innovation. Mathematical structures had become increasingly sophisticated and a reductionist approach to all structure had become a millstone around the neck of progress. It was simply too much work to connect securely to increasingly distant and irrelevant foundations. 1.2 Categories and computer science In 1987 Andre Scedrov and John Gray arranged a research conference at the University of Boulder (Colorado) entitled “Categories in Computer Science and Logic.” If one were to try to pinpoint exactly when category theory became a respectable tool in computer science this meeting (and its aftermath) stands out. John Reynolds, already a prominent computer scientist, and Jean- Yvres Girard, a young French logician, had independently invented the polymorphic λ-calculus. John Reynold had naively suggested a set theoretic semantics and had discovered somewhat to his dismay that not only was his semantics flawed but that he could prove that there could be no such semantics. The fact that one could compute perfectly well with this calculus displayed a serious gap between set theoretic semantics and what was apparently required for computation. Consequently Reynolds had asked both logicians and category theorists where the semantics of such systems lay. It turned out that category theorists already had an answer and part of the meeting was dedicated to an exposition (by Andy Pitts and Edmund Robinson) of that answer. The answer involved topos theory and altogether too many categorical steps for John Reynolds to digest at the meeting itself, however, he undertook to learn category theory and subsequently made substantial use of it in his work. The seeds of a number of other burgeoning interactions between these subjects (logic, category theory, and computer science) were also latent at that meeting. To mention just one: Jean-Yvres Girard was present and gave an exposition of linear logic and its proof theory. Subsequently in the proceedings Robert Seely [28] provided a categorical semantics for this system in Barr’s ∗- autonomous categories. This developed into a continuing interaction between categorical proof theory, logic, and computer science which is still central as it has important implications for

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    93 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us