Abstract 1 Introduction 2 Quotient and Symmetric Containers 3 Action Containers 4 The 2-Category of Action Containers 5 Conclusions References

Data Types with Symmetries via Action Containers

Philipp Joram ORCID Department of Software Science, Tallinn University of Technology, Estonia Niccolò Veltri ORCID Department of Software Science, Tallinn University of Technology, Estonia
Abstract

We study two kinds of containers for data types with symmetries in homotopy type theory, and clarify their relationship by introducing the intermediate notion of action containers. Quotient containers are set-valued containers with groups of permissible permutations of positions, interpreted as (possibly non-finitary) analytic functors on the category of sets. Symmetric containers encode symmetries in a groupoid of shapes, and are interpreted accordingly as polynomial functors on the 2-category of groupoids.

Action containers are endowed with groups that act on their positions, with morphisms preserving the actions. We show that, as a category, action containers are equivalent to the free coproduct completion of a category of group actions. We derive that they model non-inductive single-variable strictly positive types in the sense of Abbott et al.: The category of action containers is closed under arbitrary (co)products and exponentiation with constants. We equip this category with the structure of a locally groupoidal 2-category, and prove that it locally embeds into the 2-category of symmetric containers. This follows from the embedding of a 2-category of groups into the 2-category of groupoids, extending the delooping construction.

Keywords and phrases:
Containers, Homotopy Type Theory, Agda, 2-categories
Funding:
Philipp Joram: Participation at TYPES’24 was supported by the COST Action CA20111 – European Research Network on Formal Proofs (EuroProofNet)
Copyright and License:
[Uncaptioned image] © Philipp Joram and Niccolò Veltri; licensed under Creative Commons License CC-BY 4.0
2012 ACM Subject Classification:
Theory of computation Type theory
; Theory of computation Categorical semantics
Funding:
This work was supported by the Estonian Research Council grant PSG749.
Editors:
Rasmus Ejlers Møgelberg and Benno van den Berg

1 Introduction

Containers are a representation of strictly positive data types, introduced by Abbott et al. [1]. A container consists of a type of shapes and a type of positions associated to each shape. For example, the container of ordered lists consists of natural numbers n: as shapes and finite ordinals 𝖥𝗂𝗇(n) as positions, the idea being that each list has a length n and 𝖥𝗂𝗇(n)-many locations that can hold data. Containers can be interpreted as polynomial endofunctors, the latter being the polymorphic data types that the containers represent. For example, the interpretation of the list container is the 𝖫𝗂𝗌𝗍 functor.

Containers form a category. Its morphisms represent polymorphic functions between data types, which are interpreted as natural transformations between the corresponding polynomial endofunctors. This category is rich in structure; among other things it is cocartesian closed, is closed under the construction of initial algebras and terminal coalgebras, and admits a notion of derivative.

Traditionally, the theory of containers is studied in 𝖲𝖾𝗍-like categories. When interpreted in such categories, the data of containers may however be too restrictive to encode certain data types of interest. This is especially the case if one wants to account for symmetries, i.e. identify configurations of positions when one can turn into the other via the action of certain permutations. For example, one can represent ordered lists, but it is not possible to represent cyclic lists or finite multisets as a container.

Some efforts have been made to enhance the expressivity of containers to represent data types with symmetries. Abbott et al. [3] introduced quotient containers, which are containers in which the assignment of values to positions is invariant under a collection of permutations on positions. This is realized by requiring the presence of a subgroup of the symmetric group on positions, corresponding to the collection of admissible permutations. Interpretation of quotient containers embeds them as a subcategory of set-endofunctors, targeting certain quotients of polynomial endofunctors. For quotient containers with finitary positions, these correspond to Joyal’s analytic functors [15].

Symmetric containers, introduced by Gylterud [10], consist of a groupoid of shapes, with positions being a set-valued functor over this groupoid. This means that the symmetries are encoded directly in the isomorphisms of the shape groupoid. From the perspective of (homotopy) type theory, symmetric containers correspond to set-bundles over homotopy-groupoids. They form a locally univalent 2-category, and are interpreted as polynomial endofunctors on the 2-category of groupoids.

Quotient and symmetric containers are two different ways to extend the expressivity of ordinary containers to include symmetries between positions. Our interest lies in understanding how these two approaches are related. To this end, we introduce an intermediate notion: action containers. An action container consists of a set of shapes and, for each shape s, a set of positions Ps and a group Gs acting on Ps. On one side, such containers generalize quotient containers, as the allowed permutations are determined by the action of an arbitrary group, and are not restricted to subgroups of the symmetric groups. On the other, they are a special case of symmetric containers: a Gs-action is a functor from Gs (as a 1-object groupoid) to 𝖲𝖾𝗍, and summation of these functors over all shapes s yields a symmetric container.

We describe a notion of morphisms of action containers, inspired by (pre)morphisms of quotient containers. Differently from the latter, morphisms of action containers have to explicitly preserve the structure of the groups acting on positions. Action containers form a category, and we show that this category is the free coproduct completion of a category of group actions in the form of the Fam-construction. From this we derive closure under arbitrary products and coproducts, as well as exponentials with constant domain.

To compare action containers with the 2-category of symmetric containers, we define a notion of invertible 2-cell between these morphisms, enriching them to a 2-category. Crucially, we observe that this 2-category can again be modularly constructed starting from a 2-category of groups, group homomorphisms and conjugators [12] using the techniques of displayed bicategories [6]: we first define a 2-category of group actions, displayed over this 2-category of groups, then repeat a 2-categorical version of the Fam-construction, presenting the 2-category of action containers as that of families of group actions.

We construct a 2-functor between the 2-categories of action containers and symmetric containers; again in multiple steps. First we notice that the delooping of a group extends to a 2-functor 𝐁:𝖦𝗋𝗈𝗎𝗉𝗁𝖦𝗉𝖽 between the 2-categories of groups and groupoids, and that this is locally a weak equivalence. We show, again using the displayed machinery, how to lift this to a local weak equivalence 𝐁¯:𝖠𝖼𝗍𝗂𝗈𝗇𝖲𝖾𝗍𝖡𝗎𝗇𝖽𝗅𝖾 between the 2-categories of group actions and set bundles.

The Fam-construction yields a 2-functor Fam(𝐁¯):Fam(𝖠𝖼𝗍𝗂𝗈𝗇)Fam(𝖲𝖾𝗍𝖡𝗎𝗇𝖽𝗅𝖾) between the 2-categories of families of group actions, i.e. action containers, and families of set bundles. We show that the action of Fam preserves local fully-faithfullness, but that preservation of local essential surjectivity requires an application of the axiom of choice. Finally, we describe a 2-functor Σ:Fam(𝖲𝖾𝗍𝖡𝗎𝗇𝖽𝗅𝖾)𝖲𝖾𝗍𝖡𝗎𝗇𝖽𝗅𝖾 performing summations of family of set bundles, implicitly employing the universal property of the Fam-construction as free coproduct completion. The latter does not seem to be fully faithful, however its restriction to set bundles with connected bases is. This implies that the composite 2-functor ΣFam(𝐁¯):Fam(𝖠𝖼𝗍𝗂𝗈𝗇)𝖲𝖾𝗍𝖡𝗎𝗇𝖽𝗅𝖾 is locally fully faithful. This means that, not only do action containers correspond to certain symmetric containers, but so do their morphisms: conjugators between action container morphisms represent exactly identifications of symmetric container morphisms.

We implement our results using the Agda proof assistant, building on top of the agda/cubical [19] and cubical-categorical-logic [17] libraries. Our code is freely available at https://github.com/phijor/cubical-containers. The repository contains a README linking results of this paper to the corresponding formalization in the code.

1.1 Notation and Background

Our work takes place in homotopy type theory, which is a well-suited foundational framework for our investigation. This is mostly due to the fact that we can work with syntethic groupoids, i.e. h-groupoids, in place of categorical groupoids, which considerably simplify the described constructions. We take full advantage of higher inductive types (HITs) to define mere existence via propositional truncation, set quotients and the delooping of groups. In this short section, we recall some basic terminology and fix the notation we use. More details can be found in the HoTT book [20].

We write a:AB(a) for dependent products, AB for their non-dependent variant, and a:AB(a) for dependent sums. Two-argument function application is written f(a,b) or, to reduce visual clutter, fa(b). Most of our constructions are universe-polymorphic, but for the sake of readability in the paper we use only the lowest universe of types, denoted 𝒰. The type of h-sets is 𝗁𝖲𝖾𝗍, the type of h-groupoids is 𝗁𝖦𝗉𝖽. We will often simply talk about sets and groupoids instead of h-sets and h-groupoids. We suppress proofs of truncation level when they are routine, e.g. for nested Σ- and Π-types. The type of natural numbers is and the finite ordinals 𝖥𝗂𝗇:𝗁𝖲𝖾𝗍. For x,y:A, we denote their type of identifications by x=y, and call p:x=y either an identification or a path. Given a family B over A and terms x:B(x), y:B(y), we write x=B(p)y for the type of dependent paths, or x=py when B can be inferred. Defining equalities are denoted x:=y; for judgmentally equal x and y, we write xy. For functions into Σ-types, we use binders to name the projections: given f:Xa:AB(a), we write λx.(a(x),b(x)) or λx.(ax,bx) for a:=𝖿𝗌𝗍f and b:=𝗌𝗇𝖽f.

The propositional truncation of a type X is X1, the set truncation of X is X0. Notice that there are two competing conventions for indexing truncation levels: (-2)-based (HoTT-book style) and 0-based (Voevodsky-style). Our formalization, done in Cubical Agda, is 0-based, yet this paper, which is written in HoTT-book style, starts indexing at -2. Whenever possible however, we will explicitly use the words “proposition”, “set” and “groupoid” to avoid confusion. Mere existential quantification is defined as a:AB(a):=a:AB(a)1. The set quotient of a type A by a (possibly non-propositional) relation R is A/R. The circle S1 is a HIT with constructors :S1 and 𝗅𝗈𝗈𝗉:=. Propositional and set truncations, as well as set quotients and the circle, are defined as higher inductive types. The main HIT employed in this paper is the delooping of a group, introduced in Section 2.3.

Given a pointed type (X,x0), its loop space is Ω(X,x0):=(x0=x0), and its fundamental group is its set truncation π1(X,x0):=Ω(X,x0)0. The connected components of a type X are collected in its set truncation π0(X):=X0. We say that X is connected if X0 is contractible.

For groups G and H we denote the type of group homomorphisms by G

.

H
. We denote the type of subgroup inclusions by GH:=(ι:G

.

H)
.𝗂𝗌𝖨𝗇𝗃𝖾𝖼𝗍𝗂𝗏𝖾(ι)
. The symmetric group of a set X is 𝔖(X):=Ω(𝗁𝖲𝖾𝗍,X). The unit of this group is reflexivity 𝗋𝖾𝖿𝗅, multiplication is composition of paths pq, inverse is path reversal. Recall that, by univalence, 𝔖(X) is equivalent to the type of equivalences XX. We abbreviate 𝔖(n):=𝔖(𝖥𝗂𝗇(n)). An action of G on a set X is a group homomorphism σ:G

.

𝔖(X)
. For g:G, we denote 𝗍𝗋𝖺𝗇𝗌𝗉𝗈𝗋𝗍(σ(g)):XX simply by σ(g), and apply it to some x:X either as σ(g,x) or σg(x). The action is said to be faithful if σ is injective. The set of σ-orbits is denoted X/G, and defined as the set quotient of X by the orbit relation xy:=g:G.x=σg(y).

1.2 2-Categories

In this paper, we make use of higher categories in the form of (2,1)-categories. We follow the definitions of bicategorical concepts of [13], and adapt them to the setting of homotopy type theory: a 2-category 𝖢 consist of a type of objects x,y:𝖢0, 1-cells f,g:𝖢1(x,y), and 2-cells r,s:𝖢2(f,g), with horizontal composition of 1- and 2-cells, and vertical composition of 2-cells, subject to suitable axioms. In particular, all types of 2-cells 𝖢2(f,g) are assumed to be h-sets. Composition of 1-cells is unital and associative up to a chosen identification, not just a 2-cell. All instances of 2-categories considered here are either locally strict (i.e. 1-cells form sets) or locally univalent; such 2-categories always admit a unique coherently strict structure.

If 𝖢 is understood from context, we write f,g:xy for f,g:𝖢1(x,y), and r:fg for r:𝖢2(f,g). We compose cells in diagrammatic order. Juxtaposition denotes horizontal composition, whereas vertical composition of 2-cells is denoted rs.

Let f,g:xy. Under vertical composition, 2-cells 𝖢2(f,g) form the morphisms of an (ordinary) category, called the local category at x and y, denoted by its type of objects 𝖢1(x,y). If a proposition P holds for all local categories of a 2-category, we say that it is locally P. A (2,1)-category is thus defined to be a locally groupoidal 2-category, that is, one for which 2-cells in each local category are invertible. A 2-category is locally thin if 𝖢2(f,g) is a proposition for each pair of 1-cells f,g:𝖢1(x,y), i.e. there is at most one 2-cell from f to g. Any ordinary category 𝒞 forms a locally thin 2-category: 2-cells are homotopies of 1-cells, 𝒞2(f,g):=(f=g).

We use the machinery of displayed bicategories [6] to define complex 2-categories from modular gadgets. A displayed 2-category 𝖣 over a base 2-category 𝖢 consists of a family of objects 𝖣0:𝖢0𝒰, a family of 1-cells 𝖣1:𝖢1(x,y)𝖣0(x)𝖣0(y)𝒰, and a family of 2-cells 𝖣2:𝖢2(f,g)𝖣1(f;x¯,y¯)𝖣1(g;x¯,y¯)𝒰, satisfying dependent analogues of the 2-category axioms. If unambiguous, we write f¯:x¯fy¯ for f¯:𝖣1(f;x¯,y¯), as well as r¯:f¯rg¯ for r¯:𝖣2(r;f¯,g¯). The total 2-category of 𝖣 over 𝖢 is denoted 𝖣, and is a 2-categorical analouge of -types: objects are pairs of objects 0𝖣:=x:𝖢0𝖣0(x), 1-cells are 1𝖣((x,x¯),(y,y¯)):=f:𝖢1(x,y)𝖣1(f;y¯,x¯), and 2-cells 2𝖣((f,f¯),(g,g¯)):=r:𝖢2(f,g)𝖣2(r;f¯,g¯). To highlight the dependency on 𝖢, we sometimes write 𝖢𝖣 or even x:𝖢𝖣(x).

We go between 2-categories via 2-functors. For a 2-functor F:𝖢𝖣 we denote its action on objects, 1-, and 2-cells by F0, F1 and F2 respectively. They are assumed to strictly preserve composition and units of 1-cells, that is up to an identification of 1-cells in the codomain. The actions on 1- and 2-cells define functors of local categories, and we call F locally P if all local functors satisfy a proposition P.

We define a notion of displayed 2-functor F¯:𝖢¯F𝖣¯ between 2-categories displayed over 𝖢 and 𝖣 and a (base) 2-functor F:𝖢𝖣. To cells in 𝖢¯ it assigns cells in 𝖣¯ displayed over the image of F: it consists of assignments of objects F¯0:𝖢¯0(x)𝖣¯0(F0(x)), 1-cells F¯1:𝖢¯1(f;x¯,y¯)𝖣¯1(F1(f);F¯0(x¯),F¯0(y¯)) and 2-cells F¯2:𝖢¯2(r;f¯,g¯)𝖣¯2(F2r;F¯1f¯,F¯1g¯), satisfying dependent analogues of the 2-functor axioms. A displayed 2-functor induces a 2-functor between total 2-categories, denoted F¯:𝖢𝖣.

The 2-category of h-groupoids is denoted by 𝗁𝖦𝗉𝖽. Its 1-cells are functions between the underlying types and 2-cells are homotopies between functions.

2 Quotient and Symmetric Containers

In this section we recall the notions of quotient and symmetric containers, as well as their morphisms.

2.1 Quotient Containers

Quotient containers were introduced by Abbott et al. [3] as a way to add symmetries to containers in an extensional type theory with quotient types. Here we state their definition in HoTT.

Definition 1.

A quotient container (SP/G) consists of a set of shapes S, a family of positions P:S𝗁𝖲𝖾𝗍 and symmetry groups ιs:Gs𝔖(Ps) for each s:S.

Each group element g:Gs defines a path ιs(g):Ps=Ps. By 𝗍𝗋𝖺𝗇𝗌𝗉𝗈𝗋𝗍, this induces a map PsPs; in the remainder, we will identify g and this map.

Example 2.

The quotient container of unordered n-tuples 𝖴n:=(1𝖥𝗂𝗇(n)/𝔖(n)) has a single shape, and over it positions 𝖥𝗂𝗇(n). On these n positions, the full group of permutations 𝔖(𝖥𝗂𝗇(n)) acts as its symmetry group. We call 𝖴1 the identity container; it has a single shape, on which the trivial group acts.

Like an ordinary container, a quotient container defines an endofunctor on the category of sets, called its extension. Whereas for ordinary containers this is a polynomial functor, for quotient containers it is a sum of quotients of representables:

Definition 3 (extension of quotient containers).

The extension of (SP/G) is the map SP/G/:𝗁𝖲𝖾𝗍𝗁𝖲𝖾𝗍 given by

SP/G/(X) :=s:SPsXs, vsw :=g:Gsv=wg

When positions are finite sets, the extension is an analytic functor in the sense of Joyal [15].

Example 4 (unordered n-tuples).

The extension of 𝖴n is the type of unordered n-tuples:

𝖴n/(X):=_:1(𝖥𝗂𝗇(n)X)/=Xn/𝔖(n)

where x𝔖(n)y if and only if xi=yσ(i) for some permutation σ:𝔖(n). When n=1, we obtain the identity function 𝖴1/X=X.

Definition 5.

A premorphism of quotient containers, (uf):(SP/G)(TQ/H) consists of a map of shapes u:ST, a map of positions f:s:SQusPs, and a proof that f preserves symmetries, s:Sg:Gsh:Husgfs=fsh.

Morphisms of quotient containers are defined up to permutation of positions, i.e. as equivalence classes of premorphisms.

Definition 6.

The type of morphisms FG of quotient containers is the set quotient of the type of premorphisms FG by the relation (defined by path induction)

(uf)(uf) :=p:u=ufpf, f𝗋𝖾𝖿𝗅uf :=s:Sh:Husfs=fsh

Whenever uu, this relation posits the mere existence of a triangle filler

(uf)(uf)
Definition 7.

Quotient containers and their morphisms form a category 𝖰𝗎𝗈𝗍𝖢𝗈𝗇𝗍.

Extension of quotient containers is a functor /:𝖰𝗎𝗈𝗍𝖢𝗈𝗇𝗍𝖤𝗇𝖽𝗈(𝗁𝖲𝖾𝗍), which is full and faithful. Each premorphism (uf):FG defines a natural transformation uf/:F/G/, with component at X:𝗁𝖲𝖾𝗍 a map

uf/X:s:S(PsX/s)t:T(QtX/t)

defined by induction on set quotients as uf/X(s,[]):=(us,[f]). This is well-defined on morphisms of quotient containers: If (uf)(uf) then uf/X=uf/X.

2.2 Symmetric Containers

Symmetric containers were introduced by Gylterud [10] as a way of defining polynomial functors between categorical groupoids. In this section we reformulate their definition in the language of HoTT using homotopy groupoids instead.

Definition 8.

A symmetric container (SP) consists of shapes S:𝗁𝖦𝗉𝖽 and a family of positions P:S𝗁𝖲𝖾𝗍.

Definition 9.

A morphism of symmetric containers (uf):(SP)(TQ) consists of a map of shapes u:ST and a family f:s:SQusPs of maps of positions.

In a (homotopy) type-theoretic setting, the types of morphisms 𝖢(x,y) of a category 𝖢 are understood to be h-sets. Morphisms of symmetric containers, however, form h-groupoids.111 Observe that (S0)(T0)(ST), which is an h-groupoid since T is.

Definition 10.

The 2-category 𝖲𝗒𝗆𝗆𝖢𝗈𝗇𝗍 has as objects symmetric containers, as 1-cells morphisms of symmetric containers, and as 2-cells identifications of such morphisms.

Definition 11.

The extension of a symmetric container (SP) is a function of h-groupoids, SP:𝗁𝖦𝗉𝖽𝗁𝖦𝗉𝖽, defined as SP(X):=s:SPsX.

Extension of symmetric containers defines a 2-functor :𝖲𝗒𝗆𝗆𝖤𝗇𝖽𝗈(𝗁𝖦𝗉𝖽). For any morphism (uf):(SP)(TQ), there is a pseudonatural transformation uf:SPTQ with components given by precomposition

ufX :s:S(PsX)t:T(QtX) ufX(s,v) :=(us,QusfsPs𝑣X)

This 2-functor is locally an equivalence of 2-categories [10, Theorem 2.2.1], thus embeds symmetric containers into endofunctors of groupoids.

One advantage of internalizing symmetric containers as h-groupoids is that we are free to define groupoids of shapes as higher inductive types, encoding the desired symmetries directly in their constructors. For example, cyclic lists can be described using the symmetries of the circle, S1:

Example 12.

The symmetric container of cyclic lists, 𝖢𝗒𝖼, is defined as follows:

  • Shapes are pairs ×S1. The first component contains the length of the list. The second has a single point, 𝖻𝖺𝗌𝖾:S1, but its loops 𝖻𝖺𝗌𝖾=𝖻𝖺𝗌𝖾 are going to induce cyclic shifts on positions.

  • Positions 𝖲𝗁:×S1𝗁𝖲𝖾𝗍 are defined by induction on the circle S1. Over the point, we have n distinct positions, 𝖲𝗁(n,𝖻𝖺𝗌𝖾):=𝖥𝗂𝗇(n). On the non-trivial path, 𝖲𝗁 identifies positions by a cyclic shift, 𝖲𝗁(𝗋𝖾𝖿𝗅n,𝗅𝗈𝗈𝗉):=𝗌𝗁𝗂𝖿𝗍. Here, 𝗌𝗁𝗂𝖿𝗍:𝖥𝗂𝗇(n)=𝖥𝗂𝗇(n) is the path obtained by univalence from the successor equivalence

    𝗌𝗎𝖼 :𝖥𝗂𝗇(n)𝖥𝗂𝗇(n)
    𝗌𝗎𝖼(k) :=(k+1)modn

Since S1 is freely generated by a single non-trivial path, 𝖲𝗁 identifies positions by arbitrary cyclic shifts. Let v:=(x,y,z), w:=(y,z,x) terms of type 𝖥𝗂𝗇(3)X. We are going to exhibit a path ((3,𝖻𝖺𝗌𝖾),v)=((3,𝖻𝖺𝗌𝖾),w) in 𝖢𝗒𝖼(X). Since 𝖢𝗒𝖼(X) is an iterated Σ-type, such a path is given by a triple of paths p:3=3, q:𝖻𝖺𝗌𝖾=𝖻𝖺𝗌𝖾, and r:v=qw. Set p:=𝗋𝖾𝖿𝗅 and q:=𝗅𝗈𝗈𝗉𝗅𝗈𝗈𝗉. The path r is dependent over q, and it suffices to give a path v=w𝗌𝗁𝗂𝖿𝗍𝗌𝗁𝗂𝖿𝗍. But we see that the right side computes to (x,y,z), which is v.

2.3 Lifting Quotient Containers

The data of both quotient and symmetric containers define semantics for datatypes with symmetries. As we will see, it is possible to see any quotient container as a symmetric one. However, this analogy does not extend to (polymorphic) functions between such types, since it is generally not possible to lift a morphism of quotient containers to one of symmetric containers, as the former truncate evidence on how symmetries are preserved.

In order to create a symmetric container from a quotient container, we have to come up with a groupoid of shapes that encodes the symmetries present in the quotient container. We borrow an idea from algebraic topology: any group G gives rise to a unique pointed, connected groupoid (𝐁G,) such that Ω(𝐁G,)G, called its delooping. This type is an instance of an Eilenberg–MacLane space, i.e. a type with a single non-trivial homotopy group. Eilenberg–MacLane spaces have been studied in HoTT [16], and our presentation of 𝐁G coincides with K(G,1) there. We define 𝐁G as a higher inductive type with constructors

plus one constructor asserting that 𝐁G is an h-groupoid. Its recursion principle states that, to define a map 𝐁GX for some groupoid X, it suffices to give a point x0:X and a group homomorphism φ:G

.

Ω(X,x0)
: a map f:𝐁GX is then determined by f():=x0 and f(𝗅𝗈𝗈𝗉g):=φ(g). The recursor characterizes functions out of 𝐁G, in the following sense:

Proposition 13.

The recursor is an equivalence (x0:XG

.

Ω(X,x0)
)
(𝐁GX)
, for X a groupoid. When X is a set, we have (x0:XGx0=x0)(𝐁GX).

The dependent eliminator lets us define sections x:𝐁GB(x) of families B:𝐁G𝗁𝖦𝗉𝖽 by providing a point b0:B(), dependent paths φ:g:G(b0=B(𝗅𝗈𝗈𝗉g)b0), and a coherence condition for composition of dependent paths: for all g,h:G, there needs to be a path from φ(g)φ(h) to φ(gh), dependent over 𝗅𝗈𝗈𝗉𝖼𝗈𝗆𝗉(g,h).

Note that 𝗅𝗈𝗈𝗉𝖼𝗈𝗆𝗉:GΩ(𝐁G,) preserves the product of G, hence is a morphism of groups. This lets us derive other expected coherences, such as 𝗅𝗈𝗈𝗉1G=𝗋𝖾𝖿𝗅 and 𝗅𝗈𝗈𝗉(g1)=(𝗅𝗈𝗈𝗉g)1.

Delooping acts on group homomorphisms:

Definition 14.

Any group homomorphism φ:GH induces a map of groupoids 𝐁φ:𝐁G𝐁H, defined by induction:

𝐁φ() :=, 𝐁φ(𝗅𝗈𝗈𝗉g) :=𝗅𝗈𝗈𝗉φ(g)

A G-action is a particular homomorphism, so the above defines a type family 𝐁G𝗁𝖲𝖾𝗍. Let us spell this out:

Definition 15 (associated bundle).

Let G act on a set X via σ:G

.

𝔖(X)
. Its associated bundle 𝐁¯σ:𝐁G𝗁𝖲𝖾𝗍 is defined by recursion on 𝐁G as

𝐁¯σ() :=X, 𝐁¯σ(𝗅𝗈𝗈𝗉g) :=σ(g),

Note that for each g:G, σ(g) is a path X=X.

In the context of quotient containers, we are dealing with faithful group actions, that is actions of G on X such that σ:G𝔖(X) is an embedding. In this case, the associated bundle is an embedding on its path spaces, i.e. a set-truncated function [20, 7.6.1]:

Proposition 16.

If σ:G𝔖(X) acts faithfully, the fibers of 𝐁¯σ:𝐁G𝗁𝖲𝖾𝗍 are sets.

Proof.

By [20, Lemma 7.6.2], 𝐁¯σ has set-valued fibers iff 𝖼𝗈𝗇𝗀𝐁¯σ:x=y𝐁¯σ(x)=𝐁¯σ(y) is an embedding for all x,y:𝐁G. This is a proposition, therefore it suffices to show this at xy. There, we have 𝖼𝗈𝗇𝗀(𝐁¯σ)𝗅𝗈𝗈𝗉σ. But 𝗅𝗈𝗈𝗉:G= is an equivalence and σ an embedding, hence 𝖼𝗈𝗇𝗀𝐁¯σ is an embedding as well.

For any quotient container we define a groupoid that is the collection of its delooped symmetry groups:

Definition 17.

The delooping of a quotient container (SP/G) is the symmetric container 𝐁(SP/G):=(𝐒𝐏) consisting of

  • shapes 𝐒:=s:S𝐁Gs, and

  • positions 𝐏:s:S𝐁Gs𝗁𝖲𝖾𝗍, 𝐏(s,):=𝐁¯(ιs),

where ιs is the inclusion of symmetry groups Gs𝔖(X).

We think of the shapes 𝐒 as consisting of the points of S, with loops given by elements in Gs freely added. Indeed, if we compute its connected components, we see that

π0(𝐒)s:S𝐁Gs0s:S𝐁Gs0S

where the last step follows from connectivity of 𝐁Gs. Similarly, we compute its first fundamental group: S is a set and s=s is contractible, thus

π1(𝐒,(s,x))p:s=s(x=px)(x=x)π1(𝐁Gs,x)Gs

That each Gs acts faithfully is reflected in the action of the groupoid 𝐒, in the sense that the bundle 𝐏 embeds paths of 𝐒:

Proposition 18.

The family 𝐏:𝐒𝗁𝖲𝖾𝗍 is a set-truncated function.

Proof.

For each X:𝗁𝖲𝖾𝗍, we have 𝖿𝗂𝖻𝖾𝗋𝐏Xs:S𝖿𝗂𝖻𝖾𝗋𝐁¯ιsX, which is a set: S is a set, and since we assume ιs to be faithful, so are the fibers of 𝐁¯ιs by Proposition 16.

This way of obtaining a symmetric container is in some sense conservative: when comparing the associated extensions (and set-truncating that of the symmetric container), we see that they are the same function of sets:

Theorem 19.

For a quotient container Q and X:𝗁𝖲𝖾𝗍, there is an equivalence of sets

𝐁Q(X)0Q/(X)

Proof.

Let us unfold the definitions of and 𝐁,

𝐁Q(X)0 s:Sx:𝐁Gs𝐁¯ιs(x)X0 (1)
and, as S is a set, move the truncation under the sum
s:Sx:𝐁Gs𝐁¯ιs(x)X0 (2)
Notice that Gs acts on the function type PsX via precomposition, and that its associated bundle is (𝐁¯ιs()X):𝐁Gs𝗁𝖲𝖾𝗍. By Lemma 20 below, the connected components of this bundle correspond to orbits of the action,
s:S(PsX)/Gs (3)
which is exactly how extension of a quotient container is defined:
s:S(PsX)/sQ/(X) (4)

Lemma 20.

Let σ a G-action on X. The connected components of the total space of its associated bundle and σ-orbits are in bijection, that is x:𝐁G𝐁¯σ(x)0X/G.

Proof.

Let us define the left-to-right direction. Since the codomain is a set, it suffices to give f:x:𝐁G𝐁¯σ(x)X/G by induction on 𝐁G. Let f():=[]:XX/G the surjection onto the quotient. It remains to show that this is well-defined on loops, which reduces to g:Gx:X[x]=[σg(x)]. This holds since xσg(x) by definition of the orbit relation. The inverse is defined by recursion on the set quotient X/G and maps x:X to (,x):x:𝐁G𝐁¯σ(x). From p:x=σg(y), one constructs a path (,x)=(,y): the first component is given by 𝗅𝗈𝗈𝗉g, the second as dependent path from p.

Theorem 19 states that, as functions between types, the diagram commutes. We are interested to see whether this generalizes to a natural isomorphism of functors. To do so, we would have to suitably extend 𝐁 to a functor. Unfortunately, it is not clear how to define its action on morphisms of quotient containers. Given a premorphism (uf):(SP/G)(TQ/H), we would have to provide a morphism of shapes

s:S𝐁Gs t:T𝐁Ht
(s,x) (us,?)

To define ?:𝐁Gs𝐁Hus, it would suffice to provide a morphism of groups Gs

.

Hus
. However, we are not given this information: we know that f preserves symmetries, but this only tells us that, for each g:Gs, there is merely some h:Hus. Even if we were given an explicit function GsHus, it would not have to be a group homomorphism. In fact, it is easy to construct counterexamples:

Example 21.

Consider (𝗂𝖽!):𝖴1𝖴2. The terminal map !:21 trivially preserves symmetries: the diagram

commutes for any choice of φg, in particular for φ:𝔖(1)𝔖(2),φ:=𝗌𝗐𝖺𝗉, which is not a group homomorphism.

Since morphisms of quotient containers are equivalence classes, it might be possible to find another premorphism in the same class for which this assignment is a morphism of groups. In fact, in the above example one could pick φg:=𝗂𝖽, which clearly is. Doing so however for arbitrary symmetry groups seems constructively impossible, without invoking some form of choice principle.

Instead, we will be looking to enhance the definition of quotient containers to include the necessary information, and investigate their relation to symmetric containers more closely.

3 Action Containers

In this section we define action containers and assemble them into a 1-category. Morphisms in this category are akin to premorphisms of quotient containers. In particular, they are not quotiented by a relation on positions. Later, in Section 4, we enrich this category to obtain a (2,1)-category whose 2-cells capture this relation.

Different from quotient containers, the symmetries of action containers are not limited to subgroups of permutations of positions. Instead, an action container has, for each shape, a chosen group acting on the set of positions. This lets us flexibly introduce symmetries, e.g. by letting the integers under addition act on a finite set, instead of having to identify the image of this action, see the forthcoming Example 23.

The category of action containers admits a number of limits and colimits, and we will derive the usual container algebra of products and coproducts from a presentation of this category as a category of families in Section 3.1.

Definition 22.

An action container (SPσG) consists of a set of shapes S, a family of positions P:S𝗁𝖲𝖾𝗍 and group actions σs:Gs𝔖(Ps) for each s:S.

In the following, the word “container” refers to action containers; other kinds of containers are qualified explicitly. In Example 12, we defined cyclic lists as a symmetric container in which loops of the circle act by cyclic shifts. Since Ω(S1)=, we are inspired to define a container of cyclic lists by means of a -action:

Example 23 (cyclic lists as an action container).

The container 𝖢𝗒𝖼:=(𝖥𝗂𝗇σ) has acting on 𝖥𝗂𝗇(n) as follows: for each n, let σn:𝔖(n), σn(k):=λ.(+k)modn. Note that this action is not faithful: the kernel of σn consists of the integers n={nkk}.

In general, it is easy to define -actions: is the free group on one generator, thus it suffices to define the action of 1:. In the example of cyclic lists, it suffices to define the cyclic shift by one position, σn(1):=λ.(+1)modn. This is impossible for quotient containers with finitely many positions: is simply never a subgroup of finite symmetry groups.

Unlike premorphisms of quotient containers, morphism of action containers are required to preserve the full structure of containers, including their symmetries:

Definition 24.

A morphism of action containers (ufφ):(SPσG)(TQτH) consists of a map of shapes u:ST, a map of positions f:s:SQusPs, a family of group homomorphisms φ:s:SGs

.

Hus
, and a proof that f is equivariant: for all s:S and g:Gs a commutative square

Calling f equivariant is justified: each fs is a morphism between Gs-sets (Ps,σs) and (Qus,τusφs) [18, Definition 1.2]. Theorem 27 will explain how this notion of morphism arises naturally from a category of group actions and equivariant maps between them.

Definition 25.

Action containers and their morphisms form a category 𝖠𝖼𝗍𝖢𝗈𝗇𝗍.

3.1 Algebra of Action Containers

Like other categories of containers, action containers are closed under a number of constructions. In particular, 𝖠𝖼𝗍𝖢𝗈𝗇𝗍 has all products and coproducts. To show this, we could define each of them by hand. In that process, we would have to carefully track the variance of parts of a container. For example, the binary product of containers is a product of shapes and symmetry groups, but a (pointwise) coproduct of families of positions.

Instead, we opt to present 𝖠𝖼𝗍𝖢𝗈𝗇𝗍 as a category of families of group actions, from which (co)limits are easy to read off. First, we define a category of group actions. It is a version of the category of G-sets (for a fixed group G), in which equivariant maps are permitted to go between sets with actions of different groups.

Definition 26.

We denote by 𝖠𝖼𝗍𝗂𝗈𝗇 the category of group actions and equivariant maps. It is obtained as the total category of the following category displayed over 𝖦𝗋𝗈𝗎𝗉×𝗁𝖲𝖾𝗍𝐨𝐩:

  • Given objects G:𝖦𝗋𝗈𝗎𝗉0 and X:𝗁𝖲𝖾𝗍0𝐨𝐩, displayed objects are G-actions on X, i.e. group homomorphisms 𝖠𝖼𝗍𝗂𝗈𝗇0(G,X):=(G

    .

    𝔖(X)
    )
    .

  • Displayed morphisms between actions σ:𝖠𝖼𝗍𝗂𝗈𝗇0(G,X) and τ:𝖠𝖼𝗍𝗂𝗈𝗇0(H,Y) over (φ:G

    .

    H,f
    :XY
    )
    are proofs of the proposition f is equivariant over φ: Let 𝖠𝖼𝗍𝗂𝗈𝗇1((φ,f);σ,τ):=𝗂𝗌𝖤𝗊𝗎𝗂𝗏𝖺𝗋𝗂𝖺𝗇𝗍φ,f(σ,τ):=g:Gσ(g)f=fτ(φg).

Diagrammatically, equivariant maps compose by horizontal pasting of proofs of equivariance:

;:=

Observe how over each shape, the data of a container (SPσG) is exactly that of a group action: for any s:S, Gs acts on Ps via σs. Thus, on objects, the category of action containers consists of “families” of group actions. Let us ensure that this analogy extends to morphisms of this category.

Recall that for any category 𝒞, its free coproduct completion is the category of families Fam(𝒞) [4, §2]. Its objects are families I:𝗁𝖲𝖾𝗍I𝒞0, morphisms are families of maps between them.

Theorem 27.

The category of action containers is equivalent to families of group actions. In particular, the functor 𝖥:𝖠𝖼𝗍𝖢𝗈𝗇𝗍Fam(𝖠𝖼𝗍𝗂𝗈𝗇) with action on objects given by 𝖥(SPσG):=(S,λs.(Gs,Ps,σs)) is an equivalence of categories.

 Remark (univalence of 𝖠𝖼𝗍𝖢𝗈𝗇𝗍).

The above implies that 𝖠𝖼𝗍𝖢𝗈𝗇𝗍 is a univalent category: Fam preserves univalence, and 𝖠𝖼𝗍𝗂𝗈𝗇 is a univalent displayed category by [7, Proposition 7.3].

From this presentation of 𝖠𝖼𝗍𝖢𝗈𝗇𝗍, we read off closure under sums and products:

Proposition 28.

𝖠𝖼𝗍𝗂𝗈𝗇 has K-indexed products for all sets K. In particular, the trivial group acting on the singleton set is an initial object.

Corollary 29.

Action containers are closed under products and coproducts.

Proof.

Fam(𝒞) is the free coproduct completion of any category 𝒞, thus 𝖠𝖼𝗍𝖢𝗈𝗇𝗍 is closed under coproducts. Similarly, 𝖠𝖼𝗍𝗂𝗈𝗇 is closed under products (Proposition 28), and Theorem 2.11 of [4] implies that families over it are as well.

Like ordinary containers [2, Proposition 3.9], constant action containers are exponentiable:

Proposition 30 (constant containers are exponentiable).

The constant container of a set K is 𝐤K:=(K0id1). Given a container F=(SPσG), the exponential container FK:=(SPσG) is defined to have

  • shapes S:=KS,

  • positions Pf:=k:KPfk,

  • symmetries Gf:=k:KGfk, and

  • actions σf:Gf𝔖(Pf) given by action of σ on the second component of Pf: for g:kGfk, let σf(g):=λ(k,p).(k,σfk(g))

Let f:KS and k:K. The evaluation morphism ev:FK×𝐤KF is given by function application fk:S on shapes, pairing Pfk0+kPfk on positions, and the projection homomorphisms 1×kGfk

.

Gfk
on symmetries.

We believe that the above is an instance of constant exponentials in families: Let 𝖢 have K-fold products for any set K; in particular an initial object 1𝖢 and binary products. It should be possible to show that the constant family (K,λk.1𝖢) is exponentiable.

 Remark (composition of action containers).

When seen as endofunctors, composite data types are constructed as compositions of functors. For ordinary containers [2, 3.6] and symmetric containers [10, 2.2.5], this construction is reflected along : Given containers F and G, there is a container F[G] such that F[G]FG, upgrading to a strong monoidal functor. In a set-theoretic setting, Hasegawa [11, Corollary 1.18] gives a construction of composition for analytic functors in terms of wreath products of symmetry groups. Analytic functors are presented by quotient containers with finitary positions, and such a restriction of positions to a subuniverse of sets seems necessary when porting the result to action containers: positions and symmetries of the composite can otherwise not be defined coherently by induction on set quotients. This indicates to us that the definition of a composition-monoidal structure of action containers is not entirely straightforward, and we postpone its study for now.

4 The 2-Category of Action Containers

In Section 2.3 we observed that quotient containers lift to symmetric containers, but that the same does not apply to their morphisms. We defined the category of action containers to include the missing data, and are now ready to define an appropriate lifting:

Proposition 31.

The delooping of a container (SPσG) is the symmetric container 𝐁(SPσG):=(s:S𝐁Gs𝐁¯σs). Each morphism (ufφ):(SPσG)(TQτH) defines a morphism between deloopings, (φ¯f¯):𝐁(SPσG)𝐁(TQτH).

Proof.

The family φ yields a map of shapes of type φ¯:s:S𝐁Gst:T𝐁Ht, defined as φ¯(s,x):=(us,𝐁φs(x)). The map on positions has (uncurried) type

f¯:s:Sx:𝐁Gs𝐁¯τus(𝐁φ(x))𝐁¯σs(x)

and is defined by induction on x:𝐁Gs. On the point, let f¯(s,):=fs:QusPs. It remains to show that f¯ is well-defined on loops in 𝐁Gs. For all g, we have to provide a dependent path fs=F(𝗅𝗈𝗈𝗉g)fs where F(x)=𝐁¯τus(𝐁φ(x))𝐁¯σs(x). By [20, Lemma 2.9.6], this is equivalent to giving paths q:Qusσs(fs(q))=fs((τusφsg)q), which we obtain from the proof that fs is equivariant.

As noted in Section 2.2, symmetric containers do not form an ordinary category, but a 2-category. Thus, in order to show that the above construction is functorial, we must first enrich action containers by a type of 2-cells, defining a 2-category. We do so by pulling back 2-cells of symmetric containers, and will see that this corresponds to the quotiented sets of quotient container morphisms.

We split the construction of the 2-functor taking action containers into symmetric containers into smaller steps. As in Section 3, we first seek to understand the problem for a single action, before considering entire families of such. We observe that symmetric containers, from a homotopical viewpoint, are set-bundles over groupoids: both consist of some base B:𝗁𝖦𝗉𝖽 together with a family of fibers F:B𝗁𝖲𝖾𝗍. Previously, we have seen that each action defines such a bundle, namely its associated bundle (Definition 15). We define 2-categories of actions (𝖠𝖼𝗍𝗂𝗈𝗇, Definition 37) and set bundles (Definition 38), and show that taking the associated bundle is a weak equivalence of their local categories (Theorem 42). This means that maps of actions are in 1-to-1 correspondence with functions on their associated bundles. By changing our point of view, and seeing actions as single-shape containers and bundles as symmetric containers, this fully classifies morphisms of (single-shape) action containers in terms of morphisms of symmetric containers.

To understand the case of many-shape containers, we give an analogue of the Fam-construction in 2-categories, and define the 2-category of action containers as 𝖠𝖼𝗍𝖢𝗈𝗇𝗍:=Fam(𝖠𝖼𝗍𝗂𝗈𝗇). The objects and 1-cells of this category are exactly as in Definition 26. We unfold the type of 2-cells induced by this construction (Proposition 47) and show that it is closely related to the quotient on premorphisms of quotient containers (Definition 6). We observe that set-bundles are, in a suitable sense, closed under Σ-types, and we lift the functor 𝐁¯:𝖠𝖼𝗍𝗂𝗈𝗇𝖲𝖾𝗍𝖡𝗎𝗇𝖽𝗅𝖾 to

finally establishing the connection between action containers and symmetric containers.

4.1 A 2-Category of Groups

We think of the type of h-groupoids, 𝗁𝖦𝗉𝖽, as an internal notion of categorical groupoids: The 2-category 𝗁𝖦𝗉𝖽 has as objects h-groupoids, as morphisms functions of such, and as 2-cells homotopies between them. Our goal is to extend the delooping to a 2-functor taking groups into 𝗁𝖦𝗉𝖽 in a way that characterizes 2-cells in 𝗁𝖦𝗉𝖽. We thus equip the 1-category of groups with the structure of a (2,1)-category [12]:

Definition 32.

The category 𝖦𝗋𝗈𝗎𝗉 of groups and group homomorphisms forms a (2,1)-category if equipped with the following 2-cells: Let φ,ψ:𝖦𝗋𝗈𝗎𝗉1(G,H). We say that r:H is a conjugator of φ and ψ if

𝗂𝗌𝖢𝗈𝗇𝗃𝗎𝗀𝖺𝗍𝗈𝗋φ,ψ(r):=g:Gφ(g)r=rψ(g)

The 2-cells 𝖦𝗋𝗈𝗎𝗉2(φ,ψ):=r:H𝗂𝗌𝖢𝗈𝗇𝗃𝗎𝗀𝖺𝗍𝗈𝗋φ,ψ(r) compose vertically by multiplication in H. The horizontal composites of r:𝖦𝗋𝗈𝗎𝗉2(φ,ψ) and s:𝖦𝗋𝗈𝗎𝗉2(φ,ψ) is sψ(r).

Note that 𝖦𝗋𝗈𝗎𝗉 is not locally univalent: the identity type of group homomorphisms, φ=ψ, is a proposition, but the type of conjugators 𝖦𝗋𝗈𝗎𝗉2(φ,ψ) is a set.

Lemma 33.

Delooping extends to a 2-functor 𝐁:𝖦𝗋𝗈𝗎𝗉𝗁𝖦𝗉𝖽.

Proof.

A 1-cell φ:𝖦𝗋𝗈𝗎𝗉1(G,H) is sent to 𝐁φ:𝐁G𝐁H, as in Definition 14. On 2-cells, let r:𝖦𝗋𝗈𝗎𝗉2(φ,ψ) a conjugator of homomorphisms. Delooping assigns a 2-cell 𝐁φ=𝐁ψ as follows: By function extensionality, it suffices to give 𝐁φ(x)=𝐁ψ(x) for any x:𝐁G. By induction on x, we are left to give some q:= in 𝐁H such that for all g:G, 𝗅𝗈𝗈𝗉φ(g)q=q𝗅𝗈𝗈𝗉ψ(g). Choose q:=𝗅𝗈𝗈𝗉r, and compute

𝗅𝗈𝗈𝗉φ(g)𝗅𝗈𝗈𝗉r=𝗅𝗈𝗈𝗉(φ(g)r)=()𝗅𝗈𝗈𝗉(rψ(g))=𝗅𝗈𝗈𝗉r𝗅𝗈𝗈𝗉ψ(g),

where () uses that r is a conjugator of φ and ψ. By a similar argument, one shows that these assignments preserve composition and identities.

Defined this way, we see that 𝐁 preserves the local structure of 𝖦𝗋𝗈𝗎𝗉:

Theorem 34.

The functor 𝐁:𝖦𝗋𝗈𝗎𝗉𝗁𝖦𝗉𝖽 is locally a weak equivalence of categories, i.e. for all groups G,H, there merely exists an inverse functor 𝗁𝖦𝗉𝖽1(𝐁G,𝐁H)𝖦𝗋𝗈𝗎𝗉1(G,H).

Note that this cannot be strengthened to a full equivalence with explicit inverse: equivalence of categories preserves properties, but 𝗁𝖦𝗉𝖽 is by definition locally univalent, whereas 𝖦𝗋𝗈𝗎𝗉 is not.

We prove Theorem 34 by showing that locally, 𝐁 is fully faithful and essentially surjective.

Proposition 35.

Delooping is a locally fully faithful functor: For groups G,H, the local functor 𝐁:𝖦𝗋𝗈𝗎𝗉1(G,H)𝗁𝖦𝗉𝖽1(𝐁G,𝐁H) is an equivalence of categories.

Proof.

Let φ,ψ:𝖦𝗋𝗈𝗎𝗉1(G,H). We establish a chain of equivalences between the sets of 2-cells 𝖦𝗋𝗈𝗎𝗉2(φ,ψ) and 𝐁φ=𝐁ψ. Starting from the definition,

𝖦𝗋𝗈𝗎𝗉2(φ,ψ) h:Hg:Gφ(g)h=hψ(g)
we apply the equivalence of groups, 𝗅𝗈𝗈𝗉:HΩ(𝐁H) twice
h:Hg:G𝗅𝗈𝗈𝗉φ(g)𝗅𝗈𝗈𝗉h=𝗅𝗈𝗈𝗉h𝗅𝗈𝗈𝗉ψ(g)
:Ω(𝐁H)g:G𝗅𝗈𝗈𝗉φ(g)=𝗅𝗈𝗈𝗉ψ(g)
By the recursion principle, this is exactly a type of dependent functions out of 𝐁G, namely
x:𝐁G𝐁φ(x)=𝐁ψ(x)
which, by function extensionality, is equivalent to
𝐁φ=𝐁ψ

One verifies that the map underlying this chain is that of Lemma 33.

Proposition 36.

Delooping is a locally essentially surjective functor.

Proof.

Let G,H groups, and f:𝐁G𝐁H a morphism of groupoids. We show the mere existence of some φ:𝖦𝗋𝗈𝗎𝗉1(G,H) together with an isomorphism 𝐁φf in the local category 𝗁𝖦𝗉𝖽(𝐁G,𝐁H). By definition, morphisms in this category are homotopies, and it suffices to exhibit some h:x:𝐁G𝐁φ(x)=f(x). Since 𝐁H is a connected groupoid, there merely exists a path p:f()=, and conjugation by p induces an equivalence of groups,

𝖼𝗈𝗇𝗃(p):Ω(𝐁H,f()) Ω(𝐁H,)
(q:f()=f()) p1qp

We define φ to be the composite

G𝗅𝗈𝗈𝗉Ω(𝐁G,)𝖼𝗈𝗇𝗀(f)Ω(𝐁H,f())𝖼𝗈𝗇𝗃(p)Ω(𝐁H,)𝗅𝗈𝗈𝗉1H

By induction on x:𝐁G, we show that x:𝐁G𝐁φ(x)=f(x). On the point, this is given by p1:=f(). On loops, we construct g:G𝐁φ(𝗅𝗈𝗈𝗉g)p1=p1f(𝗅𝗈𝗈𝗉g) as follows: let g:G, then 𝐁φ(𝗅𝗈𝗈𝗉g)p1=𝗅𝗈𝗈𝗉(𝗅𝗈𝗈𝗉1(p1f(𝗅𝗈𝗈𝗉g)p))p1=p1f(𝗅𝗈𝗈𝗉g)

4.2 A 2-Category of Group Actions

Any G-action σ comes with an associated bundle, 𝐁¯σ:𝗅𝗈𝗈𝗉G𝗁𝖲𝖾𝗍 (Definition 15). Let us define 2-categories of actions and of set bundles, and show that “taking the associated bundle” is a functorial construction.

Definition 37 (2-category of actions).

The 2-category 𝖠𝖼𝗍𝗂𝗈𝗇 of group actions displayed over 𝖦𝗋𝗈𝗎𝗉 consists of the following data:

  • For each group G, objects are G-actions 𝖠𝖼𝗍𝗂𝗈𝗇0(G):=X:𝗁𝖲𝖾𝗍G

    .

    𝔖(X)
    .

  • 1-cells between actions (X,σ):𝖠𝖼𝗍𝗂𝗈𝗇0(G) and (Y,τ):𝖠𝖼𝗍𝗂𝗈𝗇0(H) over φ:𝖦𝗋𝗈𝗎𝗉1(G,H) are equivariant maps 𝖠𝖼𝗍𝗂𝗈𝗇1(φ;(G,σ),(H,τ)):=f:XY𝗂𝗌𝖤𝗊𝗎𝗂𝗏𝖺𝗋𝗂𝖺𝗇𝗍φ,f(σ,τ), where 𝗂𝗌𝖤𝗊𝗎𝗂𝗏𝖺𝗋𝗂𝖺𝗇𝗍 is as in Definition 26.

  • The type of 2-cells between f:𝖠𝖼𝗍𝗂𝗈𝗇1(φ;(X,σ),(Y,τ)) and g:𝖠𝖼𝗍𝗂𝗈𝗇1(ψ;(X,σ),(Y,τ)) over a conjugator r:𝖦𝗋𝗈𝗎𝗉2(φ,ψ) is 𝖠𝖼𝗍𝗂𝗈𝗇2(r;f,g):=(f=gτ(r)).

The type of 2-cells says that 1-cells agree up to a permutation of their domain. Since it is a proposition, verifying the axioms of a displayed 2-category reduces to defining some identity- and composite 2-cells. The vertical composite pq:frsh of 2-cells p:frg and q:gsh, is some identification f=hτ(rs). Since τ is an action, we define the composite as pq:=(f=𝑝gτ(r)=𝑞hτ(s)τ(r)=hτ(rs)). Similarly, horizontal composition depends on 2-cells of 𝖦𝗋𝗈𝗎𝗉 being conjugators of group homomorphisms.

Definition 38 (set bundles).

The 2-category of set bundles, displayed over 𝗁𝖦𝗉𝖽, consists of the following data:

  • Given G:𝗁𝖦𝗉𝖽0, set bundles on G are families 𝖲𝖾𝗍𝖡𝗎𝗇𝖽𝗅𝖾0(G):=G𝗁𝖲𝖾𝗍.

  • Over φ:𝗁𝖦𝗉𝖽1(G,H), morphisms from X:𝖲𝖾𝗍𝖡𝗎𝗇𝖽𝗅𝖾(G) to Y:𝖲𝖾𝗍𝖡𝗎𝗇𝖽𝗅𝖾(H) are dependent functions, 𝖲𝖾𝗍𝖡𝗎𝗇𝖽𝗅𝖾1(φ;X,Y):=g:GY(φg)X(g)

  • Displayed 2-cells between f:𝖲𝖾𝗍𝖡𝗎𝗇𝖽𝗅𝖾1(φ;X,Y) and g:𝖲𝖾𝗍𝖡𝗎𝗇𝖽𝗅𝖾1(ψ;X,Y) over a 2-cell p:φ=ψ are dependent identifications, 𝖲𝖾𝗍𝖡𝗎𝗇𝖽𝗅𝖾2(p;f,g):=f=pg.

For an object (G,F):𝖲𝖾𝗍𝖡𝗎𝗇𝖽𝗅𝖾0 in the total category, we call G the base of the bundle, and F its fibers.

We are now ready to show that taking the bundle associated to an action is a well-behaved functorial operation. In particular, each equivariant map of actions induces a morphism between associated bundles:

Definition 39.

Let σ:𝖠𝖼𝗍𝗂𝗈𝗇(G,X), τ:𝖠𝖼𝗍𝗂𝗈𝗇(H,Y), and φ:𝖦𝗋𝗈𝗎𝗉1(G,H). Let f:YX and p:𝗂𝗌𝖤𝗊𝗎𝗂𝗏𝖺𝗋𝗂𝖺𝗇𝗍φ,f(σ,τ). The bundle morphism associated to f has type 𝐁¯f:x:𝐁G𝐁¯τ(𝐁φx)𝐁¯σ(x), and is defined using the induction principle of 𝐁G. On the point it has type 𝐁¯f():YX and is given by f. On a loop, we need to prove that 𝐁¯σ(𝗅𝗈𝗈𝗉g)f=f𝐁¯τ(𝐁φ(𝗅𝗈𝗈𝗉g)) for all g:G. This reduces to σ(g)f=fτ(φ(g)), which is given by p.

Both 𝖠𝖼𝗍𝗂𝗈𝗇 and 𝖲𝖾𝗍𝖡𝗎𝗇𝖽𝗅𝖾 are total categories, and 𝐁:𝖦𝗋𝗈𝗎𝗉𝗁𝖦𝗉𝖽 is a 2-functor between their bases. We thus define a 2-functor only on the displayed parts:

Definition 40.

Taking associated bundles is a displayed 2-functor 𝐁¯:𝖠𝖼𝗍𝗂𝗈𝗇𝐁𝖲𝖾𝗍𝖡𝗎𝗇𝖽𝗅𝖾, consisting of the following data:

  • On objects, it sends a G-action σ to its associated bundle 𝐁¯σ:𝐁G𝗁𝖲𝖾𝗍.

  • On 1-cells, it associates to an equivariant map f:𝖠𝖼𝗍𝗂𝗈𝗇1(φ;σ,τ) its morphism of bundles 𝐁¯f:𝖲𝖾𝗍𝖡𝗎𝗇𝖽𝗅𝖾1(𝐁φ;𝐁¯σ,𝐁¯τ).

  • Over a 2-cell r:𝖦𝗋𝗈𝗎𝗉2(G,H), a proof p:𝖠𝖼𝗍𝗂𝗈𝗇2(r;f,g)(f=gτ(r)) is sent to a homotopy of bundle maps using the induction principle of 𝐁G.

Both actions on 1- and 2-cells are defined by induction, and thus are equivalences in the sense of Proposition 13:

Lemma 41.

The action on 1-cells 𝐁¯:1𝖠𝖼𝗍𝗂𝗈𝗇1(φ;σ,τ)𝖲𝖾𝗍𝖡𝗎𝗇𝖽𝗅𝖾1(𝐁φ;𝐁¯σ,𝐁¯τ) and 2-cells 𝐁¯:2𝖠𝖼𝗍𝗂𝗈𝗇2(r;f,g)𝖲𝖾𝗍𝖡𝗎𝗇𝖽𝗅𝖾2(𝐁r;𝐁¯f,𝐁¯g) are equivalences of types.

Theorem 42.

Taking associated bundles 𝐁¯:𝖠𝖼𝗍𝗂𝗈𝗇𝖲𝖾𝗍𝖡𝗎𝗇𝖽𝗅𝖾 is locally a weak equivalence.

Proof.

The total functor 𝐁¯ is locally fully faithful if 2𝐁¯ is an equivalence, but this is a map on Σ-types built from 𝐁2 and 𝐁¯2, which are both equivalences by Theorems 34 and 41. Local essential surjectivity is proved similarly to Proposition 36, and uses that 𝐁¯1 is an equivalence of types. The above theorem implies that the local category 𝖲𝖾𝗍𝖡𝗎𝗇𝖽𝗅𝖾(𝐁G,𝐁H) is the Rezk completion of 𝖠𝖼𝗍𝗂𝗈𝗇(G,H). As such the 2-category 𝖲𝖾𝗍𝖡𝗎𝗇𝖽𝗅𝖾 should be the local univalent completion of 𝖠𝖼𝗍𝗂𝗈𝗇 in the sense of [6, Conjecture 5.6].

4.3 A 2-Categorical Fam-Construction

In the previous section we have seen how containers with a single action relate to set bundles. To lift this relationship to families of actions, we introduce a 2-categorical Fam-construction, again employing displayed machinery.

Definition 43 (2-category of families).

Let C be a 2-category. The 2-category Fam(C) displayed over 𝗁𝖲𝖾𝗍 consists of the following data:

  • For J:𝗁𝖲𝖾𝗍0, the displayed objects are families of C-objects, Fam0(J):=JC0.

  • Let J,K:𝗁𝖲𝖾𝗍0 and families X:Fam0(J), Y:Fam0(K). The type of 1-cells displayed over some φ:𝗁𝖲𝖾𝗍1(J,K) is Fam1(φ;X,Y):=j:JC1(Xj,Yφj).

  • Displayed 2-cells are a family Fam2:(φ=ψ)Fam1(φ,X,Y)Fam1(ψ,X,Y)𝒰 defined by path-induction on 2-cells in 𝗁𝖲𝖾𝗍: Fam2(𝗋𝖾𝖿𝗅φ;f,g):=j:JC2(fj,gj)

Definition 44.

Any 2-functor F:𝖢𝖣 lifts to a functor Fam(F):Fam(𝖢)Fam(𝖣). This lifting is defined as a total functor Fam(F):J:𝗁𝖲𝖾𝗍Fam(𝖢)(J)J:𝗁𝖲𝖾𝗍Fam(𝖣)(J) over the identity 2-functor on the base 𝗁𝖲𝖾𝗍.

Proposition 45.

Lifting F:𝖢𝖣 to a 2-functor of families inherits the following properties:

  1. 1.

    If F is locally fully-faithful, so is Fam(F).

  2. 2.

    If F is locally split-essentially surjective, so is Fam(F).

  3. 3.

    Assuming the axiom of choice for h-sets and that 𝖢 is locally strict, if F is locally essentially surjective, so is Fam(F).

Proof.

Local fully-faithfulness follows from the pointwise definition of Fam2: if 𝖢2(f,g) is an equivalence, then so is Fam2(𝗋𝖾𝖿𝗅;,)λf,g.j𝖢2(fj,gj). Local split essential surjectivity follows from a similar pointwise argument.

In the non-split case, fix x,y:Fam0(𝖢), and a 1-cell (ψ,g):Fam0(x)Fam0(y). It suffices to provide merely a family of sections, j:JfF1(f)gj1; the conclusion follows using the induction principle of the truncation. The assumption that F is locally eso yields j:Jf:𝖢1(xj,yψj)F1(f)gj1, and we use choice to move the truncation outward: J is a set, and so are 𝖢1(xj,yψj) (by local strictness of 𝖢) and local isomorphisms F1(f)gj.

4.4 Action Containers as a 2-Category of Families

As promised, we define the 2-category of action containers as a 2-category of families:

Definition 46 (2-category of action containers).

The 2-category of action containers is that of families of actions, 𝖠𝖼𝗍𝖢𝗈𝗇𝗍:=Fam(𝖠𝖼𝗍𝗂𝗈𝗇).

By algebra of Σ- and Π-types, we see that the objects and 1-cells coincide with those of the 1-category of action containers (cf. Definition 25). In particular, we have for objects

𝖠𝖼𝗍𝖢𝗈𝗇𝗍0 S:𝗁𝖲𝖾𝗍P:S𝗁𝖲𝖾𝗍G:S𝖦𝗋𝗈𝗎𝗉s:S𝖠𝖼𝗍𝗂𝗈𝗇(Gs,Ps),

and for 1-cells,

𝖠𝖼𝗍𝖢𝗈𝗇𝗍1((S,λs.(Ps,Gs,σs)),(T,λt.(Qt,Ht,τt)))
u:STs:Sφ:GsHusf:PsQus𝗂𝗌𝖤𝗊𝗎𝗂𝗏𝖺𝗋𝗂𝖺𝗇𝗍φ,f(σs,τus)

Unfolding the newly added type of 2-cells, we recover a familiar condition:

Proposition 47.

Let E,F:𝖠𝖼𝗍𝖢𝗈𝗇𝗍0 and denote E(S,λs.(Ps,Gs,σs)) and F(T,λt.(Qt,Ht,τt)). Let u:ST and f,g:𝖠𝖼𝗍𝖢𝗈𝗇𝗍1(u;E,F). The type of 2-cells 𝖠𝖼𝗍𝖢𝗈𝗇𝗍2((u,f),(u,g)) is equivalent to

s:Sr:Hus𝗂𝗌𝖢𝗈𝗇𝗃𝗎𝗀𝖺𝗍𝗈𝗋φs,ψs(r)×fs=gsτus(r),

in which φ,ψ:sGs

.

Hus
and f,g:sQusPs are the maps of symmetries and positions of f and g, respectively.

Note the occurrence of the proposition fs=gsτus(r): it has already appeared in the definition of quotient container morphisms as a quotient of premorphisms (Definition 6). In [3, Definition 4.1] it is explained as a necessary condition for labellings of container maps to be defined upto quotient. In our case it is necessary to characterize homotopies between induced bundle maps 𝐁¯(fs)1 and 𝐁¯(gs)1 (Lemma 41).

Lifting the 2-functor 𝐁¯:𝖠𝖼𝗍𝗂𝗈𝗇𝖲𝖾𝗍𝖡𝗎𝗇𝖽𝗅𝖾 to families, we immediately obtain the following characterization of 1-cells of action containers. Substituting 𝖠𝖼𝗍𝖢𝗈𝗇𝗍Fam(𝖲𝖾𝗍𝖡𝗎𝗇𝖽𝗅𝖾) and 𝖲𝗒𝗆𝗆𝖢𝗈𝗇𝗍𝖲𝖾𝗍𝖡𝗎𝗇𝖽𝗅𝖾, we see:

Corollary 48.

The lifting Fam(𝐁¯):𝖠𝖼𝗍𝖢𝗈𝗇𝗍Fam(𝖲𝗒𝗆𝗆𝖢𝗈𝗇𝗍) is:

  1. 1.

    locally fully faithful

  2. 2.

    assuming the axiom of choice, locally a weak equivalence

Proof.

By application of Proposition 45: The 2-category 𝖠𝖼𝗍𝗂𝗈𝗇 is locally strict, and 𝐁¯ locally a weak equivalence (Theorem 42). This says that constructively, morphisms of action containers correspond to a subcategory of morphisms of (families of) symmetric containers. By using the axiom of choice, one sees that this construction indeed covers all such morphism.

To connect action containers to symmetric ones, and not just families of the latter, note the following: Any family of set bundles (hence symmetric containers) can be combined into a single bundle: given (J,(λj.(Bj,Fj)):Fam(𝖲𝖾𝗍𝖡𝗎𝗇𝖽𝗅𝖾), we can consider the bundle of fibers over the sum of bases, j:JBj. This construction defines a 2-functor:

Definition 49 (summation of set bundles).

Summation of set bundles is a 2-functor Σ:Fam(𝖲𝖾𝗍𝖡𝗎𝗇𝖽𝗅𝖾)𝖲𝖾𝗍𝖡𝗎𝗇𝖽𝗅𝖾, with the following data

  1. 1.

    Σ0(J,λj.(Bj,Fj)) consists of the base j:JBj, and fibers λ(j,b).Fj(b).

  2. 2.

    Σ1(u,λj.(φj,fj)) is a pair of a reindexing function (u,φ):JBKC and a map of fibers, f:(j,b)Guj(φj(b))Fj(b).

  3. 3.

    On 2-cells, it takes a family of identities of bundle maps to an identity of their sums via function extensionality: Σ2(𝗋𝖾𝖿𝗅u,λj.(rj,r¯j)):=𝖿𝗎𝗇𝖾𝗑𝗍λ(j,b).𝖼𝗈𝗇𝗀uj,b(rj),r¯j(b).

The construction turning action containers into symmetric ones now factors as follows:

𝖠𝖼𝗍𝖢𝗈𝗇𝗍=Fam(𝖠𝖼𝗍𝗂𝗈𝗇)Fam(𝐁¯)Fam(𝖲𝖾𝗍𝖡𝗎𝗇𝖽𝗅𝖾)Σ𝖲𝖾𝗍𝖡𝗎𝗇𝖽𝗅𝖾=𝖲𝗒𝗆𝗆𝖢𝗈𝗇𝗍

In general, we do not know whether Σ is locally fully faithful or not. We can however consider its restriction to objects in the image of Fam(𝐁¯), and deduce fully-faithfulness for some of its local functors:

Lemma 50.

Let X,Y:Fam0(𝖲𝖾𝗍𝖡𝗎𝗇𝖽𝗅𝖾). If all bundles in X have connected bases, then the local functor Σ1:Fam1(X,Y)𝖲𝖾𝗍𝖡𝗎𝗇𝖽𝗅𝖾(Σ0(X),Σ0(Y)) is fully faithful.

Proof.

The proof proceeds by showing that there is an equivalence of 2-cells. The assumption on connectedness is used as follows: Recall that X(J,λj.(Bj,Fj)) has connected bases if all Bj are connected groupoids. The base of the bundle Σ0(X) is jBj, and maps between such bases are typed jBjkBk. To characterize identifications of these maps, it is necessary show, given morphisms u,v:JK, that the function u(j)=v(j)(Bju(j)=v(j)) constant in Bj is an equivalence. But this follows from connectedness of Bj and the fact that u(j)=v(j) is a proposition [20, 7.5.9].

Theorem 51.

The composite ΣFam(𝐁¯):𝖠𝖼𝗍𝖢𝗈𝗇𝗍𝖲𝗒𝗆𝗆𝖢𝗈𝗇𝗍 is locally fully faithful.

5 Conclusions

We introduced action containers for studying data types with symmetries. This class of containers is inspired by quotient containers, but are different from the latter in two key aspects: First, symmetries are encoded by arbitrary groups acting on positions, allowing for more freedom in presenting permutations of positions. Second, morphisms are required to respect symmetries in a coherent way, and are additionally not equivalence classes of an ad-hoc relation. Instead, the category of action containers is presented universally as a free coproduct completion of a category of groups and actions, from which limits and colimits of action containers are easy to read off. We reintroduce the relation between morphisms in terms of a 2-categorical structure, and show that the 2-category of action containers embeds into that of symmetric containers.

A missing piece in our analysis is the relationship between quotient and action containers. The latter subsume the former, but morphisms of action containers are more constrained than those of quotient containers. Finding a functorial connection is not straightforward: Each action container (SPσG) can be mapped to a quotient container with the same set of shapes and positions, but for each s:S changing the group to 𝖨𝗆(σs), which is a subgroup of 𝔖(Ps). Unfortunately this operation does not act on morphism (ufφ):(SPσG)(TQτH), since group homomorphisms φs:Gs

.

Hus
do not generally restrict to the image of the actions 𝖨𝗆(σs)

.

𝖨𝗆(τus)
. When restricted to a 1-subcategory of action containers with faithful actions, this construction at least yields an isomorphism-on-objects functor 𝖠𝖼𝗍𝖢𝗈𝗇𝗍𝖿𝖺𝗂𝗍𝗁𝖰𝗎𝗈𝗍𝖢𝗈𝗇𝗍. In the opposite direction, one could search for a functor between the category 𝖰𝗎𝗈𝗍𝖢𝗈𝗇𝗍 and the homotopy category of 𝖠𝖼𝗍𝖢𝗈𝗇𝗍, i.e. the category with the same objects but with sets of morphisms obtained by set quotienting 1-cells by 2-cells. We have a candidate if we modify Definition 5 of premorphism by turning the existential quantifier in the preservation of symmetries into a dependent sum: send a quotient container (SP/G) to the action container with the same set of shapes and positions, but for each s:S changing the group to the free group generated by Gs, which also acts on Ps, though not in a faithful way. This modification shows at least the existence of an action of morphisms. We postpone a deeper investigation in this direction to future work.

In Section 3.1 we analyzed some properties of the category of action containers. Ordinary containers enjoy further properties that make them suitable as a model of data types: Altenkirch et al. [8] show that the category of ordinary containers is cartesian closed, and Abbott et al. [3] construct initial algebras and final coalgebras of containers in one parameter. In the future, we plan to investigate whether action containers also enjoy these properties as well. From previous investigations [14], we know that direct construction of final coalgebras for quotient containers fails constructively. In [5] however, Ahrens et al. show that for any 𝒰-valued container (with no restriction on truncation level of shapes or positions), its extension as a polynomial in 𝒰 admits a final coalgebra. Since extensions of symmetric containers are 𝒰-polynomials as well, we would like to internalize this construction: first, find a symmetric container representing this coalgebra, then investigate if this restricts to the inclusion of action containers. This in particular requires studying the composition-monoidal structure of action containers. Similarly, it should be possible to lift the closure properties of Section 3.1 from the underlying 1-category to proper 2-(co)limits in 𝖠𝖼𝗍𝗂𝗈𝗇.

In another direction we are interested to see if the heavy machinery of 2-categories can be avoided, or at least be postponed. This is guided by the following insight: The image on objects of the 2-functor 𝐁 is not only groupoids, but pointed, connected groupoids. The 2-category of such groupoids and pointed maps, displayed over 𝗁𝖦𝗉𝖽 is, surprisingly, locally thin [9, Lemma 4.4.12]. In other words, pointed, connected groupoids and pointed maps form a 1-category 𝗁𝖦𝗋𝗈𝗎𝗉. A slight modification of the proof of Proposition 36 shows that the 1-category of ordinary groups is equivalent to 𝗁𝖦𝗋𝗈𝗎𝗉, and that this equivalence extends to categories of actions. The same argument shows that the 2-category of skeletal groupoids222Those that come with a choice of basepoint 𝗉𝗍:x:B0𝖿𝗂𝖻𝖾𝗋||0(x) for each connected component. and skeleton-preserving maps is locally thin. We believe that this extends to an equivalence between the 1-categories of action containers (without additional relation between morphisms) and skeletal symmetric containers, i.e. those whose shapes are skeletal groupoids, and whose morphisms preserve such skeleta. This would identify a structure on symmetric containers such that equality of morphisms becomes propositional, giving rise to a convenient 1-category of containers with symmetries.

References

  • [1] Michael Abbott, Thorsten Altenkirch, and Neil Ghani. Categories of Containers. In Andrew D. Gordon, editor, Proc. of 6th Int. Conf. on Foundations of Software Science and Computation Structures, FoSSaCS’03, volume 2620 of Lecture Notes in Computer Science, pages 23–38. Springer Berlin Heidelberg, 2003. doi:10.1007/3-540-36576-1_2.
  • [2] Michael Abbott, Thorsten Altenkirch, and Neil Ghani. Containers: Constructing strictly positive types. Theoretical Computer Science, 342(1):3–27, 2005. doi:10.1016/j.tcs.2005.06.002.
  • [3] Michael Abbott, Thorsten Altenkirch, Neil Ghani, and Conor McBride. Constructing Polymorphic Programs with Quotient Types. In Dexter Kozen and Carron Shankland, editors, Proc. of 7th Int. Conf. on Mathematics of Program Construction, MPC’04, volume 3125 of Lecture Notes in Computer Science, pages 2–15. Springer Berlin Heidelberg, 2004. doi:10.1007/978-3-540-27764-4_2.
  • [4] Jiří Adámek and Jiří Rosický. How nice are free completions of categories? Topology and its Applications, 273:106972, 2020. doi:10.1016/j.topol.2019.106972.
  • [5] Benedikt Ahrens, Paolo Capriotti, and Régis Spadotti. Non-Wellfounded Trees in Homotopy Type Theory. In Thorsten Altenkirch, editor, Proc. of 13th Int. Conf. on Typed Lambda Calculi and Applications, TLCA’15, volume 38 of LIPIcs, pages 17–30. Schloss Dagstuhl, 2015. doi:10.4230/LIPICS.TLCA.2015.17.
  • [6] Benedikt Ahrens, Dan Frumin, Marco Maggesi, Niccolò Veltri, and Niels van der Weide. Bicategories in univalent foundations. Mathematical Structures in Computer Science, 31(10):1232–1269, 2021. doi:10.1017/s0960129522000032.
  • [7] Benedikt Ahrens and Peter LeFanu Lumsdaine. Displayed Categories. Logical Methods in Computer Science, 15(1), March 2019. doi:10.23638/lmcs-15(1:20)2019.
  • [8] Thorsten Altenkirch, Paul Blain Levy, and Sam Staton. Higher-Order Containers. In Fernando Ferreira, Benedikt Löwe, Elvira Mayordomo, and Luís Mendes Gomes, editors, 6th Conf. on Computability in Europe, CiE’10, volume 6158 of LNCS, pages 11–20. Springer, 2010. doi:10.1007/978-3-642-13962-8_2.
  • [9] Marc Bezem, Ulrik Buchholtz, Pierre Cagne, Bjørn Ian Dundas, and Daniel R. Grayson. Symmetry. https://github.com/UniMath/SymmetryBook. Commit: 8546527.
  • [10] Håkon Robbestad Gylterud. Symmetric Containers. Master’s thesis, Department of Mathematics, Faculty of Mathematics and Natural Sciences, University of Oslo, 2011. URL: https://hdl.handle.net/10852/10740.
  • [11] Ryu Hasegawa. Two applications of analytic functors. Theoretical Computer Science, 272(1–2):113–175, February 2002. doi:10.1016/s0304-3975(00)00349-2.
  • [12] Pieter Hofstra and Martti Karvonen. Inner automorphisms as 2-cells. Theory and Applications of Categories, 42(2):19–40, 2024. URL: http://www.tac.mta.ca/tac/volumes/42/2/42-02abs.html.
  • [13] Niles Johnson and Donald Yau. 2-Dimensional Categories. Oxford University Press, January 2021. doi:10.1093/oso/9780198871378.001.0001.
  • [14] Philipp Joram and Niccolò Veltri. Constructive Final Semantics of Finite Bags. In Adam Naumowicz and René Thiemann, editors, Proc. of 14th Int. Conf. on Interactive Theorem Proving, ITP’23, volume 268 of LIPIcs, pages 12:1–12:19. Schloss Dagstuhl, 2023. doi:10.4230/LIPICS.ITP.2023.20.
  • [15] André Joyal. Foncteurs analytiques et espèces de structures. In Gilbert Labelle and Pierre Leroux, editors, Combinatoire énumérative, volume 1234 of Lecture Notes in Mathematics, pages 126–159. Universite du Quebec a Montreal, Springer Berlin Heidelberg, May 1986. doi:10.1007/bfb0072514.
  • [16] Daniel R. Licata and Eric Finster. Eilenberg-MacLane spaces in homotopy type theory. In Thomas A. Henzinger and Dale Miller, editors, Proc. of the Joint Meeting of the 23rd EACSL Ann. Conf. on Computer Science Logic (CSL) and the 29th Ann. ACM/IEEE Symp. on Logic in Computer Science (LICS), CSL-LICS’14, pages 66:1–66:9. ACM, 2014. doi:10.1145/2603088.2603153.
  • [17] Max New, Steven Shaefer, and contributors. cubical-categorical-logic, 2024. URL: https://github.com/maxsnew/cubical-categorical-logic.
  • [18] Andrew M. Pitts. Nominal sets. Number 57 in Cambridge Tracts in Theoretical Computer Science. Cambridge University Press, 2013.
  • [19] The agda/cubical development team. The agda/cubical library, 2018. URL: https://github.com/agda/cubical/.
  • [20] The Univalent Foundations Program. Homotopy Type Theory: Univalent Foundations of Mathematics. https://homotopytypetheory.org/book, Institute for Advanced Study, 2013.