We use cookies to distinguish you from other users and to provide you with a better experience on our websites. Close this message to accept cookies or find out how to manage your cookie settings.
To save content items to your account,
please confirm that you agree to abide by our usage policies.
If this is the first time you use this feature, you will be asked to authorise Cambridge Core to connect with your account.
Find out more about saving content to .
To save content items to your Kindle, first ensure no-reply@cambridge.org
is added to your Approved Personal Document E-mail List under your Personal Document Settings
on the Manage Your Content and Devices page of your Amazon account. Then enter the ‘name’ part
of your Kindle email address below.
Find out more about saving to your Kindle.
Note you can select to save to either the @free.kindle.com or @kindle.com variations.
‘@free.kindle.com’ emails are free but can only be saved to your device when it is connected to wi-fi.
‘@kindle.com’ emails can be delivered even when you are not connected to wi-fi, but note that service fees apply.
This chapter is about proving the existence of the so-called folk model category structure on ω-categories, following Lafont, Métayer, and Worytkiewicz. This model category structure is a generalization of a model category structure on Cat whose weak equivalences are the equivalences of categories, a folklore result, hence the name. The analogous result for 2-categories was proved by Lack. The folk model category structure is a model category structure on ω-categories whose weak equivalences are the ω-equivalences and whose cofibrant resolutions are the polygraphic resolutions. It is the natural homotopical framework in which the notion of polygraphic resolutions lives. As convincing evidence of this, Métayer’s polygraphic homology can be expressed as a derived functor with respect to the folk model category structure.
Squier showed in his 1987 article that a convergent presentation of a monoid yields a partial resolution generated by the set of generators in dimension 1, by the set of rules in dimension 2, and by the critical branchings in dimension 3. If moreover the presentation is finite, the Squier resolution is finitely generated up to dimension 3. In this case, the monoid is said to be of homological type left-FP3. This property readily implies that the third integral homology group of the monoid is finitely generated. Therefore, a monoid whose third homology group is not finitely generated does not admit a finite convergent presentation. By explicitly exhibiting an example of this type, Squier first provided a negative answer to the question of universality of convergent rewriting.
Anick and Green constructed the first explicit free resolutions for algebras from a presentation of relations by non-commutative Gröbner bases, which allow computing homological invariants, such as homology groups, Hilbert and Poincaré series of algebras presented by generators and relations given by a Gröbner basis. Similar methods for calculating free resolutions for monoids and algebras, inspired by string rewriting mechanisms, have been developed in numerous works. A purely polygraphic approach to the construction of these resolutions by rewriting has been developed using the notion of (ω,1)-polygraphic resolution, where the mechanism for proving the acyclicity of the resolution relies on the construction of a normalization strategy extended in all dimensions. The construction of polygraphic resolutions by rewriting has also been applied to the case of associative algebras and shuffle operads, introducing in each case a notion of polygraph adapted to the algebraic structure. This chapter demonstrates how to construct a polygraphic resolution of a category from a convergent presentation of that category, and how to deduce an abelian version of such a resolution.
This chapter is about Métayer’s polygraphic homology of ω-categories. This homology theory was first defined in the following way: the polygraphic homology of an ω-category is the homology of the abelianization of any of its polygraphic replacements. Métayer then showed with Lafont that for every monoid, considered as an ω-category, its polygraphic homology coincides with its classical homology as a monoid. This result was then generalized to 1-categories by Guetta. In this chapter, it is proven that the polygraphic homology is the left derived functor of a linearization functor from the category of ω-categories to the category of chain complexes, respectively endowed with ω-equivalences and quasi-isomorphisms.
In this chapter, a notion of Tietze transformation for 2-polygraphs is introduced, consisting of elementary operations on 2-polygraphs that preserve the presented category, such that any two finite 2-polygraphs presenting the same category can be transformed into one another by applying such transformations. By using Tietze transformations, the goal is to turn a given presentation of a category into another one that possesses better computational properties. In particular, the Knuth-Bendix completion procedure applies those transformations to turn a presentation into a confluent one. Convergent presentations lead to a solution of the word problem: for those, the equivalence between two words is immediately decided by comparing their normal forms.To tackle the word problem for an arbitrary presentation, a good strategy consists in trying to transform it into a convergent one by using Tietze transformations. From this point of view, a natural question arises as to whether a finite presentation of a category with decidable word problem can always be turned into a convergent one by applying Tietze transformations: this problem is called "universality of convergent presentations".
This appendix gives some examples of presentations of 2-categories by 3-polygraphs. In many examples, the presented 2-categories are in fact monoidal categories and, actually, PROs.
The theoretical foundation of functional programming is the Curry-Howard correspondence, also known as the propositions as types paradigm. Types in simply typed lambda calculus correspond to propositions in intuitionistic logic: function types correspond to logical implications, and product types correspond to logical conjunctions. Not only that, programs correspond to proofs and computation corresponds to a procedure of cut elimination or proof normalisation in which proofs are progressively simplified. The Curry-Howard view has proved to be robust and general and has been extended to varied and more powerful type systems and logics. In one of these extensions the language is a form of pi calculus and the logic is linear logic, with its propositions interpreted as session types. In this chapter we present this system and its key results.
This chapter introduces a variant of the pi calculus defined in Chapter 2. We drop choice and channel closing, retaining only message passing. To compensate, messages may now carry values other than channel endpoints: we introduce record and variant values, both of which are standard in functional languages. We further introduce new processes to eliminate the new values. We play the same game at the type level: from input/output, external/internal choice and the two end types, we retain only input/output types. In return we incorporate record and variant types, again standard from functional languages. Unlike the input and output types in all preceding chapters, those in this chapter have no continuation. These changes lead to a linear pi calculus with record and variant types. The interesting characteristic of this calculus is that it allows us to faithfully encode the pi calculus with session types, even though it has no specific support for session types. We present an encoding based on work by Dardha, Giachino and Sangiorgi.
The previous chapters present a linear world in which each channel endpoint is possessed by exactly one thread. Linearity allows precise control of interference and that can be useful. If two processes engage in a series of consecutive message exchanges then we can be sure that messages are not sent to or received from foreign processes. Although linearity is often convenient, it can also be detrimental in concurrent systems. Purely linear systems cannot describe e-commerce interactions where a server (or a pool of servers) is expected to serve a much larger number of clients. Linear systems also fail to describe an auction, where at the end, only one bidder is to get the item for sale. This chapter introduces a type discipline that provides for channels that can be shared and consequently for processes that compete for resources, thus creating race conditions and nondeterminism. We do this in such a way that we do not need to revisit process formation or process reduction, and process typing only requires mild changes. We define the language and type system as extensions of those in Chapter 3.
Up to now, we have presented session type systems for the pi calculus. If session types are to be used for practical software development, they need to be applied to standard programming language paradigms rather than a foundational calculus. This chapter takes a step in that direction by defining a session type system for a concurrent lambda calculus, which can be regarded as a core concurrent programming language. After presenting some examples, we introduce a syntax for functional programs with concurrency and channel-based communication. We include infinite types from the beginning (based on Chapter 3) and include sharing (Chapter 4) and subtyping (Chapter 5). We then introduce a type system for the functional language, develop its operational semantics and prove type safety.
This chapter presents the basic concepts of session types, using the pi calculus as a core concurrent programming language for which a type system is defined. It assumes some familiarity with the pi calculus and the concepts of operational semantics and type systems. References to background reading are included at the end of the chapter.