Idea

Free extension semantics is the method used in altenkirch2016-qiit to describe quotient inductive-inductive types by building their ambient category of algebras one constructor at a time. The starting point is a base category whose objects represent previously constructed sorts together with families of sets over them. New sorts are then added by free extension: a sort signature is given by a functor into Set, and extending by that sort produces a new base category whose objects are families indexed by the values of that functor.

Path and point constructors are treated uniformly by a pair of set-valued functors. The first is an argument functor , which assigns to each partial algebra the set of inputs for the constructor. The second is a target functor on the Grothendieck construction of , which assigns the set in which the constructor lands. An algebra structure for the constructor is then a section . In this way, both point constructors and path constructors are expressed as free extensions of the current algebra category.

Definitions

Sort specification

A specification of sorts is given by a sequence of functors

built successively from previous base categories. Intuitively, describes the indexing data for the next sort.

Given previously constructed sorts, the extended base category has objects of the form where is an object of the previous base category and

So an object of the extended category is an old algebra together with a family of sets over the new sort indices.

Constructor specification

A constructor specification on a base category consists of:

  • an argument functor

  • a target functor

where is required to be relatively continuous over the forgetful functor from the Grothendieck construction.

The intuition is that gives the constructor inputs available in an algebra , while gives the set of outputs for an input .

Category of algebras for a constructor

Given a constructor specification on , the corresponding category of algebras has:

  • objects where and

  • morphisms given by morphisms in that preserve the constructor action.

So adding a constructor means freely extending the current category by equipping each object with a chosen operation of the required shape.

Base target functor for a new sort

If a new sort is indexed by a functor

then in the extended category an object is with . The corresponding base target functor is

defined by

This is the canonical target functor for point constructors landing in the newly added sort.

Equality target functor

Path constructors are handled by an equality functor

given on objects by

Composing this with suitable global elements of a target functor gives a target functor for path constructors. This lets equality constructors be treated in the same extension framework as point constructors.

Remarks

  • The adjective “free” refers to the fact that each stage adds exactly the structure required by the next sort or constructor, with no extra equations beyond those explicitly specified.
  • The use of the Grothendieck construction is what makes constructor targets dependent on both the ambient algebra and the chosen constructor arguments.
  • Relative continuity is the key semantic condition ensuring that these constructor extensions preserve the limits needed for the later initial-algebra argument.
  • In altenkirch2016-qiit, this iterative free-extension perspective is used to prove that the relevant categories of algebras are complete and to relate initiality to the section induction principle.

References

altenkirch2016-qiit
Quotient Inductive-Inductive Type
Grothendieck Construction
Initial Algebra