Abstract

Monoidal computer is a categorical model of intensional computation, where many different programs correspond to the same input-output behavior. The upshot of yet another model of computation is that a categorical formalism should provide a high-level language for theory of computation, flexible enough to allow abstracting away the low level implementation details when they are irrelevant, or taking them into account when they are genuinely needed. A salient feature of the approach through monoidal categories is the formal graphical language of string diagrams, which supports geometric reasoning about programs and computations. In the present paper, we provide a coalgebraic characterization of monoidal computer. It turns out that the availability of interpreters and specializers, that make a monoidal category into a monoidal computer, is equivalent with the existence of a universal state space, that carries a weakly final state machine for all types of input and output. Being able to program state machines in monoidal computers allows us to represent Turing machines, and capture the time and space needed for their executions. The coalgebraic view of monoidal computer thus provides a convenient diagrammatic language for studying not only computability, but also complexity.

Highlights

  • An extensional model reduces computations to their set theoretic extensions, computable functions, whereas an intensional model takes into account the multiple programs that describe each computable function [4,29, II.3]

  • This semantical gamut got refined on the extensional side by denotational models, that take into account not just computable functions and some computational effects, and on the intensional side by operational models, where the meaning of a program is specified up to an operational equivalence [9,48]

  • Categorical semantics of computation arose from the realization that

Read more

Summary

Introduction

An extensional model reduces computations to their set theoretic extensions, computable functions, whereas an intensional model takes into account the multiple programs that describe each computable function [4,29, II.3] In computer science, this semantical gamut got refined on the extensional side by denotational models, that take into account not just computable functions and some computational effects, and on the intensional side by operational models, where the meaning of a program is specified up to an operational equivalence [9,48]. Cartesian closed categories provide a simple and effective framework for studying the extensional models [24]. Both denotational and operational semantics naturally developed as extensions of this categorical framework [26,45]. The goal of the monoidal computer project is to provide categorical semantics of intensional computation. This turns out to be surprisingly simple technically, but subtle conceptually. In the rest of the paper, we spell out some of its features formally, in particular the coalgebraic part

Categorical computability: context and concept
Categorical complexity: A coalgebraic view
Background and related work
Preliminaries
Evaluation and evaluators
Examples of monoidal computer
Encoding all types
The Fundamental Theorem of Computability
Coalgebraic view
Computability
Evaluating Turing processes
Counting time
Counting space
Final comments
Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call