← Latest papers
💻 computer science

Initial Algebras of Domains via Quotient Inductive-Inductive Types

This paper presents a general framework for constructing initial DCPO algebras representing algebraic effects by defining them as Quotient Inductive-Inductive Types within homotopy type theory, a formalization implemented in Cubical Agda that unifies various domain constructions like partiality and power domains.

Original authors: Simcha van Collem, Niels van der Weide, Herman Geuvers

Published 2026-03-03
📖 6 min read🧠 Deep dive

Original authors: Simcha van Collem, Niels van der Weide, Herman Geuvers

Original paper licensed under CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). This is an AI-generated explanation of the paper below. It is not written or endorsed by the authors. For technical accuracy, refer to the original paper. Read full disclaimer

Imagine you are building a massive, complex city of logic. In computer science, this city is called Domain Theory. It's a place where we try to give precise mathematical meanings to computer programs, especially the tricky ones that might crash, run forever, or make random choices.

For decades, architects of this city have had a problem: How do you build the "foundation" (the initial structure) for these complex programs without using tools that are too heavy or magical (like infinite sets that break the rules of constructive math)?

This paper introduces a new, elegant blueprint called Quotient Inductive-Inductive Types (QIITs). Let's break down what this means using some everyday analogies.

1. The Problem: Building with "Maybe" and "Maybe Not"

In the world of programming, things aren't always perfect.

  • Partiality: A program might stop working (crash) or run forever. It doesn't always give you an answer.
  • Non-determinism: A program might have two different valid answers, and we don't know which one it will pick.

To model these, mathematicians use structures called DCPOs (Directed Complete Partial Orders). Think of a DCPO as a growing tree of information.

  • At the bottom, you have "no information" (like a blank page).
  • As you go up, you add more details.
  • "Directed" means that if you have two branches of information, there's always a way to combine them into a bigger branch.
  • "Complete" means that if you keep adding details forever, you eventually reach a final, complete picture (a limit).

The challenge is: How do you build the very first version of this tree that includes specific rules (like "crashing is worse than having an answer") without cheating by using infinite sets?

2. The Solution: The "Simultaneous Construction" (QIITs)

The authors propose a method called Quotient Inductive-Inductive Types. That's a mouthful, so let's call it the "Simultaneous Construction Kit."

Usually, when you build a Lego castle, you build the bricks first, then you glue them together. But in this new method, you build the bricks and the glue at the same time.

  • Inductive: You define the "bricks" (the data types). For example, "Here is a number," "Here is a list."
  • Inductive Relation: You define the "glue" (the rules) at the same time. For example, "This brick is smaller than that brick."
  • Quotient: You define the "equality" rules. "If you build it this way, it's the same as building it that way."

The Analogy: The "Strictly Sorted" Bookshelf
Imagine you are building a bookshelf (the data type) where every book must be sorted by height (the relation).

  • Old Way: You build a messy pile of books, then you go back and rearrange them, and then you glue identical piles together.
  • QIIT Way: You define the rules as you place the books.
    • Rule 1: You can place a book.
    • Rule 2: You can only place a book if it's taller than the one below it.
    • Rule 3: If you try to place a book that's the same height as the one below, the system automatically says, "Wait, that's the same shelf," and merges them.

You never build a "messy" version first. The rules are baked into the construction process itself.

3. The Magic: Defining "Signatures"

The paper introduces a concept called a Signature. Think of this as a recipe card for a specific type of computer behavior.

  • The Ingredients (Operations): What tools do we have? (e.g., "Add a value," "Combine two lists," "Crash the program").
  • The Rules (Inequalities): How do these tools behave? (e.g., "Combining A and B is the same as B and A," "Crashing is always 'less than' a successful result").

The authors show that for any recipe card you can write, you can use their QIIT construction kit to build the perfect, initial city block (the Initial Algebra) that follows those rules exactly.

4. Why is this a Big Deal?

In the past, to build these structures, mathematicians often had to use Power Sets (imagine a box containing every possible combination of items). In the world of constructive math (where we want to be able to actually compute things), using "every possible combination" is like trying to hold the entire ocean in a cup—it's too big and breaks the logic.

This new method is Predicative.

  • Analogy: Instead of trying to hold the whole ocean, you build a bucket, one drop of water at a time, following a strict rule for how each drop connects to the next. You never need to see the whole ocean at once; you just need to know how to add the next drop.

5. Real-World Examples in the Paper

The authors prove their method works by building several famous structures:

  • Coalesced Sums: Merging two cities into one, but making sure they share the same "ground floor" (the bottom element).
  • Smash Products: Taking two cities and squashing them together so that if either city has a "hole" (bottom), the whole thing collapses into a hole.
  • Power Domains: Modeling a program that can make a random choice (like rolling a die). The QIIT builds a structure that represents all possible outcomes simultaneously.
  • Partiality: Modeling a program that might never finish. The QIIT ensures that "never finishing" is treated as the "least amount of information" possible.

The Bottom Line

This paper is like giving computer scientists a universal 3D printer.
Before, if you wanted to print a specific, complex shape (a domain with specific rules), you had to use a heavy, magical mold (power sets) that didn't work well in all environments.
Now, you can just feed the printer the blueprint (Signature) and the simultaneous construction rules (QIIT), and it prints out the perfect, logical structure, ready to be used as the foundation for understanding how complex software behaves.

And the best part? They didn't just write the theory; they built the actual printer code in a language called Cubical Agda, proving it works in the real world of formal logic.

Drowning in papers in your field?

Get daily digests of the most novel papers matching your research keywords — with technical summaries, in your language.

Try Digest →