Are Dependent Types in Set Theory Feasible?
This paper presents a mechanized embedding of dependent types and universes into Tarski-Grothendieck set theory within the Lisa proof assistant, enabling a verified, proof-producing type-checking tactic that leverages standard set-theoretic equality and substitution rules for automated reasoning.
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, intricate library. For over a century, the standard blueprint for this library has been Set Theory (specifically ZFC). In this blueprint, everything is just a "box" (a set) containing other boxes. It's a solid, time-tested foundation, but it can be a bit clunky when you want to build complex, self-referential structures.
In recent decades, a new, more modern blueprint called Dependent Type Theory (used by tools like Lean and Rocq) has become the favorite of many mathematicians and programmers. It's like a library where every book has a label that changes depending on what's inside it, allowing for incredibly precise organization. However, this new blueprint is complex to build and verify. If you make a tiny mistake in the foundation, the whole library could be unsafe.
The Big Question: Can we build the fancy, self-organizing features of the "Type Theory" library inside the sturdy, old-school "Set Theory" foundation?
This paper says Yes, and here is how they did it, using some simple analogies:
1. The Translator (The Embedding)
The authors built a translator that speaks both languages.
- The Problem: Set theory doesn't naturally understand "functions that depend on their inputs" (dependent types). It only understands standard sets.
- The Solution: They created a dictionary that translates "Type Theory" concepts into "Set Theory" concepts.
- Analogy: Imagine you have a recipe for a cake that says, "Add flour if the batter is yellow." Set theory doesn't know what "if" means in a recipe context. The authors translated this into a strict rule: "The set of all ingredients includes flour only if the batter is yellow."
- They used a special extension of logic (called FOL) that allows them to write these "conditional recipes" as standard mathematical sets.
2. The Infinite Shelves (Universes)
In Type Theory, you have "Universes." Think of these as shelves. A shelf holds books (types), but the shelf itself must sit on a bigger shelf.
- The Problem: In standard Set Theory, you can't have a "set of all sets" (it leads to paradoxes). You can't easily build an infinite ladder of shelves where each shelf is big enough to hold the one below it.
- The Solution: They used a powerful mathematical rule called Tarski's Axiom.
- Analogy: Imagine you are trying to build a tower of boxes. Standard rules say, "You can't put a box inside a box that is too big." Tarski's Axiom is like a magic rule that says, "For every box you have, there exists a super-box big enough to hold it, and a super-super-box to hold that one, forever."
- This allows them to create an infinite hierarchy of "Universes" (shelves) inside Set Theory, just like Type Theory needs.
3. The Auto-Checker (Proof-Producing Tactic)
Usually, when you write code or a proof in these systems, you have to manually convince the computer that your logic is sound.
- The Innovation: The authors built an automatic proof generator.
- Analogy: Imagine you are writing a story. Usually, you have to write footnotes explaining why every sentence makes sense. This new tool is like a smart editor that reads your story, checks the logic, and automatically writes the footnotes for you in a language the library's security guard (the Set Theory kernel) understands.
- If you say, "This function takes a number and returns a list," the tool automatically generates the mathematical proof that says, "Yes, this set of numbers is indeed inside the set of lists."
4. The "Subtyping" Trick
They also added a feature called Subtyping.
- The Concept: In programming, a "Dog" is a type of "Animal." If a function needs an "Animal," you can give it a "Dog."
- The Challenge: In pure Set Theory, this is tricky because sets don't always play nice with "is a kind of" relationships.
- The Result: They proved a specific rule that allows this to work safely within their Set Theory translation, but with some guardrails to prevent the "set of all functions" from becoming too big to exist.
Why Does This Matter?
Think of Lean and Rocq as high-tech, futuristic libraries that are amazing to use but have complex, fragile foundations. Think of Set Theory as a library built on bedrock—boring but unshakeable.
This paper is like building a bridge.
- It allows people to write their fancy, modern code in the "Type Theory" style.
- The bridge automatically translates it into "Set Theory" language.
- The Set Theory foundation verifies it is 100% correct.
The Bottom Line:
The authors have shown that you don't have to choose between "fancy, modern features" and "rock-solid, simple foundations." You can have both. They proved that the complex logic of modern type theory can be fully simulated, verified, and trusted using the classic, simple rules of Set Theory. This opens the door for different proof tools to talk to each other and for mathematicians to use their favorite tools without worrying about the underlying foundation being too complex to trust.
Drowning in papers in your field?
Get daily digests of the most novel papers matching your research keywords — with technical summaries, in your language.