Programs as Diagrams: From Categorical Computability to Computable Categories

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

It is not always clear what computer programs mean in the various languages in which they can be written, yet a picture can be worth 1000 words, a diagram 1000 instructions. In this unique textbook/reference, programs are drawn as string diagrams in the language of categories, which display a universal syntax of mathematics (Computer scientists use them to analyze the program semantics; programmers to display the syntax of computations). Here, the string-diagrammatic depictions of computations are construed as programs in a single-instruction programming language. Such programs as diagrams show how functions are packed in boxes and tied by strings. Readers familiar with categories will learn about the foundations of computability; readers familiar with computability gain access to category theory. Additionally, readers familiar with both are offered many opportunities to improve the approach. While programmers program computers in a great variety of languages, mathematicians study mathematics in a great variety of completely different languages. A great variety of languages is a good thing, provided that the languages do not isolate but diversify the views of the world and that there are multi-lingual communities to connect them. Many mathematicians speak programming languages; many programmers are conversant with mathematics. The language of categories seems convenient for both, and to some extent connects the communities. In this book, we use a categorical language based on string diagrams that is so basic that it must be contained in every mathematical model of computation, and so compact that every programming language must project onto it. It evolved through many years of teaching mathematics of computation. The diversity of the mathematical and the programming languages makes such teaching and learning tasks into lengthy affairs, loaded with standard prerequisites. By peeling off what got standardized by accident and following the shortcuts that emerged, and then peeling off what became unnecessary after that, we arrived at a mathematical model of computation generated by a single diagrammatic element, which is also a single-instruction programming language. I know it sounds crazy, but read on. Topics and features: Delivers a ‘crash’ diagram-based course in theory of computation Uses single-instruction diagrammatic programming language Offers a practical introduction into categories and string diagrams as computational tools Reveals how computability is programmability, rather than an ‘ether’ permeating computers Provides a categorical model of intensional computation is unique up to isomorphism Serves as a stepping stone into research of computable categories In addition to its early chapters introducing computability for beginners, this flexible textbook/resource also contains both middle chapters that expand for suitability to a graduate course as well as final chapters opening up new research.

Author(s): Dusko Pavlovic
Publisher: Springer Nature Switzerland
Year: 2023

Language: English
Pages: 269

Cover
Front Matter
1. Drawing Types and Functions
2. Monoidal Computer: Computability as a Structure
3. Fixpoints
4. What Can Be Computed
5. What Cannot Be Computed
6. Computing Programs
7. Stateful Computing
8. Program-Closed Categories: Computability as a Property
Back Matter