Reference. Normalization and the Yoneda embedding
We show how to solve the word problem for simply typed λβη-calculus by using a few well-known facts about categories of presheaves and the Yoneda embedding. The formal setting for these results is 𝒫-category theory, a version of ordinary category theory where each hom-set is equipped with a partial equivalence relation. The part of 𝒫-category theory we develop here is constructive and thus permits extraction of programs from proofs. It is important to stress that in our method we make no use of traditional proof-theoretic or rewriting techniques. To show the robustness of our method, we give an extended treatment for more general λ-theories in the Appendix.
Cite
Cited by (7)
Frex: Dependently Typed Algebraic Simplification allais-2025-frex
We present a new design for an algebraic simplification library structured around concepts from universal algebra: theories, models, homomorphisms, and universal properties of free algebras and free extensions of algebras. The library’s dependently typed interface guarantees that both built-in and user-defined simplification modules are terminating, sound, and complete with respect to a well-specified class of equations. We have implemented the design in the Idris 2 and Agda dependently typed programming languages and shown that it supports modular extension to new theories, proof extraction and certification, goal extraction via reflection, and interactive development.
Formal P-Category Theory and Normalization by Evaluation in Rocq berry_fiore_2025
Traditional category theory is typically based on set-theoretic principles and ideas, which are often non-constructive. An alternative approach to formalizing category theory is to use E-category theory, where hom sets become setoids. Our work reconsiders a third approach - P-category theory - from Čubrić et al. (1998) emphasizing a computational standpoint. We formalize in Rocq a modest library of P-category theory - where homs become subsetoids - and apply it to formalizing algorithms for normalization by evaluation which are purely categorical but, surprisingly, do not use neutral and normal terms. Čubrić et al. (1998) establish only a soundness correctness property by categorical means; here, we extend their work by providing a categorical proof also for a strong completeness property. For this we formalize the full universal property of the free Cartesian-closed category, which is not known to have been performed before. We further formalize a novel universal property of unquotiented simply typed lambda-calculus syntax and apply this to a proof of correctness of a categorical normalization by evaluation algorithm. We pair the overall mathematical development with a formalization in the Rocq proof assistant, following the principle that the formalization exists for practical computation. Indeed, it permits extraction of synthesized normalization programs that compute (long) beta-eta-normal forms of simply typed lambda-terms together with a derivation of beta-eta-conversion.
Semantic analysis of normalisation by evaluation for typed lambda calculus fiore-2022-semantic
This paper studies normalisation by evaluation for typed lambda calculus from a categorical and algebraic viewpoint. The first part of the paper analyses the lambda definability result of Jung and Tiuryn via Kripke logical relations and shows how it can be adapted to unify definability and normalisation, yielding an extensional normalisation result. In the second part of the paper, the analysis is refined further by considering intensional Kripke relations (in the form of Artin–Wraith glueing) and shown to provide a function for normalising terms, casting normalisation by evaluation in the context of categorical glueing. The technical development includes an algebraic treatment of the syntax and semantics of the typed lambda calculus that allows the definition of the normalisation function to be given within a simply typed metatheory. A normalisation-by-evaluation program in a dependently typed functional programming language is synthesised.
Coherence for bicategorical cartesian closed structure fiore-2021-coherence
We prove a strictification theorem for cartesian closed bicategories. First, we adapt Power’s proof of coherence for bicategories with finite bilimits to show that every bicategory with bicategorical cartesian closed structure is biequivalent to a 2-category with 2-categorical cartesian closed structure. Then we show how to extend this result to a Mac Lane-style “all pasting diagrams commute” coherence theorem: precisely, we show that in the free cartesian closed bicategory on a graph, there is at most one 2-cell between any parallel pair of 1-cells. The argument we employ is reminiscent of that used by Čubrić, Dybjer, and Scott to show normalisation for the simply-typed lambda calculus (Čubrić et al., 1998). The main results first appeared in a conference paper (Fiore and Saville, 2020) but for reasons of space many details are omitted there; here we provide the full development.
Coherence and normalisation-by-evaluation for bicategorical cartesian closed structure fiore_saville_2020
We present two proofs of coherence for cartesian closed bicategories. Precisely, we show that in the free cartesian closed bicategory on a set of objects there is at most one structural 2-cell between any parallel pair of 1-cells. We thereby reduce the difficulty of constructing structure in arbitrary cartesian closed bicategories to the level of 1-dimensional category theory. Our first proof follows a traditional approach using the Yoneda lemma. For the second proof, we adapt Fiore’s categorical analysis of normalisation-by-evaluation for the simply-typed lambda calculus. Modulo the construction of suitable bicategorical structures, the argument is not significantly more complex than its 1-categorical counterpart. It also opens the way for further proofs of coherence using (adaptations of) tools from categorical semantics.
An Isbell duality theorem for type refinement systems mellies-2017-an
Any refinement system (= functor) has a fully faithful representation in the refinement system of presheaves, by interpreting types as relative slice categories, and refinement types as presheaves over those categories. Motivated by an analogy between side effects in programming and context effects in linear logic, we study logical aspects of this ‘positive’ (covariant) representation, as well as of an associated ‘negative’ (contravariant) representation. We establish several preservation properties for these representations, including a generalization of Day’s embedding theorem for monoidal closed categories. Then, we establish that the positive and negative representations satisfy an Isbell-style duality. As corollaries, we derive two different formulas for the positive representation of a pushforward (inspired by the classical negative translations of proof theory), which express it either as the dual of a pullback of a dual or as the double dual of a pushforward. Besides explaining how these constructions on refinement systems generalize familiar category-theoretic ones (by viewing categories as special refinement systems), our main running examples involve representations of Hoare logic and linear sequent calculus.
Normalization by evaluation for typed lambda calculus with coproducts altenkirch_etal_nd
Solves the decision problem for the simply typed lambda calculus with a strong binary sum, or, equivalently, the word problem for free Cartesian closed categories with binary co-products. Our method is based on the semantic technique known as “normalization by evaluation”, and involves inverting the interpretation of the syntax in a suitable sheaf model and, from this, extracting an appropriate unique normal form. There is no rewriting theory involved and the proof is completely constructive, allowing program extraction from the proof.
Cites 36 works (3 here)
With notes (3)
A general coherence result power_1989
Introduction to Higher-Order Categorical Logic lambek_scott_1986
Categories for the Working Mathematician maclane_1971
External (33)
- Categorical Logic (A. Pitts, Handbook of Logic in Computer Science) (2000)
- Embedding of a free cartesian-closed category into the category of sets (1998)
- Intuitionistic model constructions and normalization proofs (1997)
- Extracting a proof of coherence for monoidal categories from a proof of normalization for monoids (1996)
- Coherence for tricategories (1995)
- Categorical reconstruction of a reduction free normalization proof (1995)
- Isomorphisms of Types: from lambda-calculus to information retrieval and language design (R. Di Cosmo) (1995)
- Constructive Category Theory (G. Huet, A. Saïbi) (1995)
- The algebra of distributive and extensive categories (S. Lack, PhD thesis) (1995)
- Sketches and computation – I: basic definitions and static evaluation (1994)
- Braided Tensor Categories (1993)
- Galois: a theory development project (P. Aczel) (1993)
- From semantics to rules: A machine assisted analysis (C. Coquand, CSL '93) (1993)
- Categories for Types (R. Crole) (1993)
- Lambek's categorical proof theory and Läuchli's abstract realizability (1992)
- Lambda Calculi with Types (H. P. Barendregt, Handbook of Logic in Computer Science vol. 2) (1992)
- An inverse of the evaluation functional for typed lambda-calculus (1991)
- A computation model for executable higher-order algebraic specification languages (1991)
- Type Systems for Programming Languages (J. C. Mitchell, Handbook of TCS vol. B) (1990)
- Proofs and Types (Girard, Lafont, Taylor) (1989)
- Typed lambda models and Cartesian closed categories (1989)
- Logiques, catégories et machines (Y. Lafont, thèse) (1988)
- Proof Theory and Logical Complexity, Vol. 1 (J.-Y. Girard) (1987)
- Foundations of Constructive Mathematics (1985)
- Logical relations and the typed λ-calculus (1985)
- The Lambda Calculus: Its Syntax and Semantics (1984)
- Basic concepts of enriched category theory (1982)
- Résolution d'équations dans les langages d'ordre 1,2,...,ω (G. Huet, thèse d'État) (1976)
- An Intuitionistic Theory of Types: Predicative Part (1975)
- About Models for Intuitionistic Type Theories and the Notion of Definitional Equality (1975)
- Equality between functionals (H. Friedman) (1975)
- Metamathematical Investigation of Intuitionistic Arithmetic and Analysis (1973)
- Deductive systems and categories (1968)