EDBT 2026 Demo / reviewers in the wild / expert
Patricia Johann
dblp:29/826
· DBLP profile ↗
33ranked-venue papers
16as first author
6since 2021 · last 2025
0000-0002-8075-3904ORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Theory of computation · 23 · 12 first-author · 5 since 2021Software engineering, systems software and programming languages · 16 · 7 first-author · 3 since 2021Artificial intelligence and machine learning · 3 · 1 first-author
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2025 | Deep Induction for Inductive Families
Patricia Johann, Edward Morehouse |
WoLLIC | 1 |
| 2024 | GADTs are not (Even partial) functorsabstractAbstract Generalized Algebraic Data Types (GADTs) are a syntactic generalization of the usual algebraic data types (ADTs), such as lists, trees, etc. ADTs’ standard initial algebra semantics (IAS) in the category $\mathit{Set}$ of sets justify critical syntactic constructs – such as recursion, pattern matching, and fold – for programming with them. In this paper, we show that semantics for GADTs that specialize to the IAS for ADTs are necessarily unsatisfactory. First, we show that the functorial nature of such semantics for GADTs in $\mathit{Set}$ introduces ghost elements, i.e., elements not writable in syntax. Next, we show how such ghost elements break parametricity. We observe that the situation for GADTs contrasts dramatically with that for ADTs, whose IAS coincides with the parametric model constructed via their Church encodings in System F. Our analysis reveals that the fundamental obstacle to giving a functorial IAS for GADTs is the inherently partial nature of their map functions. We show that this obstacle cannot be overcome by replacing $\mathit{Set}$ with other categories that account for this partiality. Pierre Cagne, Enrico Ghiorzi, Patricia Johann |
Math. Struct. Comput. Sci. | 3 |
| 2022 | Characterizing Functions Mappable over GADTs
Patricia Johann, Pierre Cagne |
APLAS | 1 |
| 2022 | (Deep) induction rules for GADTsabstractDeep data types are those that are constructed from other data types, including, possibly, themselves. In this case, they are said to be truly nested. Deep induction is an extension of structural induction that traverses all of the structure in a deep data type, propagating predicates on its primitive data throughout the entire structure. Deep induction can be used to prove properties of nested types, including truly nested types, that cannot be proved via structural induction. In this paper we show how to extend deep induction to GADTs that are not truly nested GADTs. This opens the way to incorporating automatic generation of (deep) induction rules for them into proof assistants. We also show that the techniques developed in this paper do not suffice for extending deep induction to truly nested GADTs, so more sophisticated techniques are needed to derive deep induction rules for them. Patricia Johann, Enrico Ghiorzi |
CPP | 1 |
| 2021 | Parametricity for Primitive Nested TypesabstractAbstract This paper considers parametricity and its resulting free theorems for nested data types. Rather than representing nested types via their Church encodings in a higher-kinded or dependently typed extension of System F, we adopt a functional programming perspective and design a Hindley-Milner-style calculus with primitives for constructing nested types directly as fixpoints. Our calculus can express all nested types appearing in the literature, including truly nested types. At the term level, it supports primitive pattern matching, map functions, and fold combinators for nested types. Our main contribution is the construction of a parametric model for our calculus. This is both delicate and challenging: to ensure the existence of semantic fixpoints interpreting nested types, and thus to establish a suitable Identity Extension Lemma for our calculus, our type system must explicitly track functoriality of types, and cocontinuity conditions on the functors interpreting them must be appropriately threaded throughout the model construction. We prove that our model satisfies an appropriate Abstraction Theorem and verifies all standard consequences of parametricity for primitive nested types. Patricia Johann, Enrico Ghiorzi, Daniel Jeffries |
FoSSaCS | 1 |
| 2021 | Parametricity for Nested Types and GADTsabstractThis paper considers parametricity and its consequent free theorems for nested data types. Rather than representing nested types via their Church encodings in a higher-kinded or dependently typed extension of System F, we adopt a functional programming perspective and design a Hindley-Milner-style calculus with primitives for constructing nested types directly as fixpoints. Our calculus can express all nested types appearing in the literature, including truly nested types. At the level of terms, it supports primitive pattern matching, map functions, and fold combinators for nested types. Our main contribution is the construction of a parametric model for our calculus. This is both delicate and challenging. In particular, to ensure the existence of semantic fixpoints interpreting nested types, and thus to establish a suitable Identity Extension Lemma for our calculus, our type system must explicitly track functoriality of types, and cocontinuity conditions on the functors interpreting them must be appropriately threaded throughout the model construction. We also prove that our model satisfies an appropriate Abstraction Theorem, as well as that it verifies all standard consequences of parametricity in the presence of primitive nested types. We give several concrete examples illustrating how our model can be used to derive useful free theorems, including a short cut fusion transformation, for programs over nested types. Finally, we consider generalizing our results to GADTs, and argue that no extension of our parametric model for nested types can give a functorial interpretation of GADTs in terms of left Kan extensions and still be parametric. Patricia Johann, Enrico Ghiorzi |
Log. Methods Comput. Sci. | 1 |
| 2020 | Deep Induction: Induction Rules for (Truly) Nested TypesabstractAbstract This paper introducesdeep induction, and shows that it is the notion of induction most appropriate to nested types and other data types defined over, or mutually recursively with, (other) such types. Standard induction rules induct over only the top-level structure of data, leaving any data internal to the top-level structure untouched. By contrast, deep induction rules induct overallof the structured data present. We give a grammar generating a robust class of nested types (and thus ADTs), and develop a fundamental theory of deep induction for them using their recently defined semantics as fixed points of accessible functors on locally presentable categories. We then use our theory to derive deep induction rules for some common ADTs and nested types, and show how these rules specialize to give the standard structural induction rules for these types. We also show how deep induction specializes to solve the long-standing problem of deriving principled and practically useful structural induction rules for bushes and othertrulynested types. Overall, deep induction opens the way to making induction principles appropriate to richly structured data types available in programming languages and proof assistants. Agda implementations of our development and examples, including two extended case studies, are available. Patricia Johann, Andrew Polonsky |
FoSSaCS | 1 |
| 2020 | PrefaceabstractThis volume contains the Proceedings of the Thirty Sixth Conference on the Mathematical Semantics of Programming Languages (MFPS XXXVI).Due to the covid-19 pandemic, the conference, originally slated for Paris, France, 2-6 June 2020, was instead conducted virtually on the same dates.MFPS conferences are devoted to those areas of mathematics, logic, and computer science that are related to models of computation in general, and to semantics of programming languages in particular.They provide a forum for researchers in mathematics and computer science to meet and exchange ideas with one another, as well as with researchers working in neighboring areas.MFPS XXXVI was co-located online with the 17th International Conference on Quantum Programming Physics and Logic (QPL). Patricia Johann |
MFPS | 1 |
| 2019 | Higher-Kinded Data Types: Syntax and SemanticsabstractWe present a grammar for a robust class of data types that includes algebraic data types (ADTs), (truly) nested types, generalized algebraic data types (GADTs), and their higher-kinded analogues. All of the data types our grammar defines, as well as their associated type constructors, are shown to have fully functorial initial algebra semantics in locally presentable categories. Since local presentability is a modest hypothesis, needed for such semantics for even the simplest ADTs, our semantic framework is actually quite conservative. Our results thus provide evidence that if a category supports fully functorial initial algebra semantics for standard ADTs, then it does so for advanced higher-kinded data types as well. To give our semantics we introduce a new type former called Lan. that captures on the syntactic level the categorical notion of a left Kan extension. We show how left Kan extensions capture propagation of a data type's syntactic generators across the entire universe of types, via a certain completion procedure, so that the type constructor associated with a data type becomes a bonafide functor with a canonical action on morphisms. A by-product of our semantics is a precise measure of the semantic complexity of data types, given by the least cardinal λ for which the functor underlying a data type is λ-accessible. The proof of our main result allows this cardinal to be read off from a data type definition without much effort. It also gives a sufficient condition for a data type to have semantic complexity ω, thus characterizing those data types whose data elements are effectively enumerable. Patricia Johann, Andrew Polonsky |
LICS | 1 |
| 2018 | A General Framework for Relational ParametricityabstractReynolds' original theory of relational parametricity was intended to capture the observation that polymorphically typed System F programs preserve all relations between inputs. But as Reynolds himself later showed, his theory can only be formulated in a metatheory with an impredicative universe, such as the Calculus of Inductive Constructions. A number of more abstract treatments of relational parametricity have since appeared; however, as we show, none of these seem to express Reynolds' original theory in a satisfactory way. Kristina Sojakova, Patricia Johann |
LICS | 2 |
| 2016 | A Productivity Checker for Logic Programming
Ekaterina Komendantskaya, Patricia Johann, Martin Schmidt 0002 |
LOPSTR | 2 |
| 2015 | Interleaving data and effectsabstractAbstract The study of programming with and reasoning about inductive datatypes such as lists and trees has benefited from the simple categorical principle of initial algebras. In initial algebra semantics, each inductive datatype is represented by an initial f -algebra for an appropriate functor f . The initial algebra principle then supports the straightforward derivation of definitional principles and proof principles for these datatypes. This technique has been expanded to a whole methodology of structured functional programming, often called origami programming. In this article we show how to extend initial algebra semantics from pure inductive datatypes to inductive datatypes interleaved with computational effects. Inductive datatypes interleaved with effects arise naturally in many computational settings. For example, incrementally reading characters from a file generates a list of characters interleaved with input/output actions, and lazily constructed infinite values can be represented by pure data interleaved with the possibility of non-terminating computation. Straightforward application of initial algebra techniques to effectful datatypes leads either to unsound conclusions if we ignore the possibility of effects, or to unnecessarily complicated reasoning because the pure and effectful concerns must be considered simultaneously. We show how pure and effectful concerns can be separated using the abstraction of initial f -and- m -algebras, where the functor f describes the pure part of a datatype and the monad m describes the interleaved effects. Because initial f -and- m -algebras are the analogue for the effectful setting of initial f -algebras, they support the extension of the standard definitional and proof principles to the effectful setting. Initial f -and- m -algebras are originally due to Filinski and Støvring, who studied them in the category Cpo. They were subsequently generalised to arbitrary categories by Atkey, Ghani, Jacobs, and Johann in a FoSSaCS 2012 paper. In this article we aim to introduce the general concept of initial f -and- m -algebras to a general functional programming audience. Robert Atkey, Patricia Johann |
J. Funct. Program. | 2 |
| 2014 | A relationally parametric model of dependent type theoryabstractReynolds' theory of relational parametricity captures the invariance of polymorphically typed programs under change of data representation. Reynolds' original work exploited the typing discipline of the polymorphically typed lambda-calculus System F, but there is now considerable interest in extending relational parametricity to type systems that are richer and more expressive than that of System F. Robert Atkey, Neil Ghani, Patricia Johann |
POPL | 3 |
| 2013 | Abstraction and invariance for algebraically indexed typesabstractReynolds' relational parametricity provides a powerful way to reason about programs in terms of invariance under changes of data representation. A dazzling array of applications of Reynolds' theory exists, exploiting invariance to yield "free theorems", non-inhabitation results, and encodings of algebraic datatypes. Outside computer science, invariance is a common theme running through many areas of mathematics and physics. For example, the area of a triangle is unaltered by rotation or flipping. If we scale a triangle, then we scale its area, maintaining an invariant relationship between the two. The transformations under which properties are invariant are often organised into groups, with the algebraic structure reflecting the composability and invertibility of transformations. Robert Atkey, Patricia Johann, Andrew Kennedy |
POPL | 2 |
| 2012 | Fibrational Induction Meets Effects
Robert Atkey, Neil Ghani, Bart Jacobs 0001, Patricia Johann |
FoSSaCS | 4 |
| 2011 | Indexed Induction and Coinduction, Fibrationally
Clément Fumex, Neil Ghani, Patricia Johann |
CALCO | 3 |
| 2011 | When Is a Type Refinement an Inductive Type?
Robert Atkey, Patricia Johann, Neil Ghani |
FoSSaCS | 2 |
| 2010 | A Generic Operational Metatheory for Algebraic EffectsabstractWe provide a syntactic analysis of contextual preorder and equivalence for a polymorphic programming language with effects. Our approach applies uniformly across a range of {algebraic effects}, and incorporates, as instances: errors, input/output, global state, nondeterminism, probabilistic choice, and combinations thereof. Our approach is to extend Plotkin and Power's structural operational semantics for algebraic effects (FoSSaCS 2001) with a primitive "basic preorder" on ground type computation trees. The basic preorder is used to derive notions of contextual preorder and equivalence on program terms. Under mild assumptions on this relation, we prove fundamental properties of contextual preorder (hence equivalence) including extensionality properties and a characterisation via applicative contexts, and we provide machinery for reasoning about polymorphism using relational parametricity. Patricia Johann, Alex K. Simpson, Janis Voigtländer |
LICS | 1 |
| 2009 | A family of syntactic logical relations for the semantics of Haskell-like languages
Patricia Johann, Janis Voigtländer |
Inf. Comput. | 1 |
| 2008 | Foundations for structured programming with GADTsabstractGADTs are at the cutting edge of functional programming and becomemore widely used every day. Nevertheless, the semantic foundations underlying GADTs are not well understood. In this paper we solve this problem by showing that the standard theory of data types as carriers of initial algebras of functors can be extended from algebraic and nested data types to GADTs. We then use this observation to derivean initial algebra semantics for GADTs, thus ensuring that all of the accumulated knowledge about initial algebras can be brought to bear on them. Next, we use our initial algebra semantics for GADTs to derive expressive and principled tools --- analogous to the well-known and widely-used ones for algebraic and nested data types---for reasoning about, programming with, and improving the performance of programs involving, GADTs; we christen such a collection of tools for a GADT an initial algebra package. Along the way, we give a constructive demonstration that every GADT can be reduced to one which uses only the equality GADT and existential quantification. Although other such reductions exist in the literature, ours is entirely local, is independent of any particular syntactic presentation of GADTs, and can be implemented in the host language, rather than existing solely as a metatheoretical artifact. The main technical ideas underlying our approach are (i) to modify the notion of a higher-order functor so that GADTs can be seen as carriers of initial algebras of higher-order functors, and (ii) to use left Kan extensions to trade arbitrary GADTs for simpler-but-equivalent ones for which initial algebra semantics can bederived. Patricia Johann, Neil Ghani |
POPL | 1 |
| 2007 | Monadic augment and generalised short cut fusionabstractAbstract Monads are commonplace programming devices that are used to uniformly structure computations; in particular, they are often used to mimic the effects of impure features such as state, error handling, and I/O. This paper further develops the monadic programming paradigm by investigating the extent to which monadic computations can be optimised by using generalisations of short cut fusion to eliminate monadic structures whose sole purpose is to “glue together” monadic program components. Ghani, Uustalu, and Vene have recently shown that every inductive type has an associated build combinator and an associated short cut fusion law. They have also used the notion of a parameterised monad to describe those monads that give rise to inductive types, and have shown that the standard augment combinators and cata / augment fusion rules for algebraic data types can be generalised to fixed points of all parameterised monads. We revisit these augment combinators and generalised short cut fusion rules for such types but consider them from a functional programming perspective, rather than a categorical one. In addition to making the category-theoretic ideas of Ghani, Uustalu, and Vene more easily accessible to a wider audience of functional programmers, we demonstrate their practical applicability by developing nontrivial application programs and performing modest benchmarking on them. We also show how the cata / augment rules can serve as the basis for deriving additional generic fusion laws, thus opening the way for an algebra of fusion . Finally, we offer deep theoretical insights, arguing that the augment combinators are monadic in nature, and thus that the cata / build and cata / augment rules are arguably the best generally applicable fusion rules obtainable. Neil Ghani, Patricia Johann |
J. Funct. Program. | 2 |
| 2007 | Selective strictness and parametricity in structural operational semantics, inequationally
Janis Voigtländer, Patricia Johann |
Theor. Comput. Sci. | 2 |
| 2006 | The Impact of seq on Free Theorems-Based Program Transformations
Patricia Johann, Janis Voigtländer |
Fundam. Informaticae | 1 |
| 2005 | Monadic augment and generalised short cut fusionabstractMonads are commonplace programming devices that are used to uniformly structure computations with effects such as state, exceptions, and I/O. This paper further develops the monadic programming paradigm by investigating the extent to which monadic computations can be optimised by using generalisations of short cut fusion to eliminate monadic structures whose sole purpose is to "glue together" monadic program components.We make several contributions. First, we show that every inductive type has an associated build combinator and an associated short cut fusion rule. Second, we introduce the notion of an inductive monad to describe those monads that give rise to inductive types, and we give examples of such monads which are widely used in functional programming. Third, we generalise the standard augment combinators and cata/augment fusion rules for algebraic data types to types induced by inductive monads. This allows us to give the first cata/augment rules for some common data types, such as rose trees. Fourth, we demonstrate the practical applicability of our generalisations by providing Haskell implementations for all concepts and examples in the paper. Finally, we offer deep theoretical insights by showing that the augment combinators are monadic in nature, and thus that our cata/build and cata/augment rules are arguably the best generally applicable fusion rules obtainable. Neil Ghani, Patricia Johann, Tarmo Uustalu, Varmo Vene |
ICFP | 2 |
| 2005 | On proving the correctness of program transformations based on free theorems for higher-order polymorphic calculiabstractA number of program transformations currently of interest can be derived from Wadler's ‘free theorems’ for calculi approximating modern functional languages. Although delicate but fundamental issues arise in proving the correctness of free theorems-based program transformations, these issues have usually been left unaddressed in the correctness proofs appearing in the literature. As a result, most such proofs are incomplete, and most free theorems-based transformations are applied to programs in calculi for which they are not actually known to be correct.The purpose of this paper is three-fold. First, we raise and clarify some of the issues that must be addressed when constructing correctness proofs for free theorems-based program transformations. Second, we offer a principled approach to developing such proofs. Third, we use Pitts' recent work on parametricity and observational equivalence to show how our approach can be used to give the first proof that transformations based on the Acid Rain theorems preserve observational equivalence of programs in a polymorphic lambda calculus supporting FPC-style fixpoints and algebraic data types. Correctness of the foldr-build rule, the destroy-unfoldr rule, and the hylofusion program transformation for this calculus follows immediately. The same approach is expected to yield complete correctness proofs for free theorems-based transformations in calculi that even more closely resemble languages with which programmers are concerned in practice. Patricia Johann |
Math. Struct. Comput. Sci. | 1 |
| 2004 | Free theorems in the presence of seqabstractParametric polymorphism constrains the behavior of pure functional programs in a way that allows the derivation of interesting theorems about them solely from their types, i.e., virtually for free. Unfortunately, the standard parametricity theorem fails for nonstrict languages supporting a polymorphic strict evaluation primitive like Haskell's seq. Contrary to the folklore surrounding seq and parametricity, we show that not even quantifying only over strict and bottom-reflecting relations in the $\forall$-clause of the underlying logical relation --- and thus restricting the choice of functions with which such relations are instantiated to obtain free theorems to strict and total ones --- is sufficient to recover from this failure. By addressing the subtle issues that arise when propagating up the type hierarchy restrictions imposed on a logical relation in order to accommodate the strictness primitive, we provide a parametricity theorem for the subset of Haskell corresponding to a Girard-Reynolds-style calculus with fixpoints, algebraic datatypes, and seq. A crucial ingredient of our approach is the use of an asymmetric logical relation, which leads to "inequational" versions of free theorems enriched by preconditions guaranteeing their validity in the described setting. Besides the potential to obtain corresponding preconditions for standard equational free theorems by combining some new inequational ones, the latter also have value in their own right, as is exemplified with a careful analysis of seq's impact on familiar program transformations. Patricia Johann, Janis Voigtländer |
POPL | 1 |
| 2003 | Staged Notational Definitions
Walid Taha, Patricia Johann |
GPCE | 2 |
| 2003 | Short cut fusion is correctabstractFusion is the process of removing intermediate data structures from modularly constructed functional programs. Short cut fusion is a particular fusion technique which uses a single, local transformation rule to fuse compositions of list-processing functions. Short cut fusion has traditionally been treated purely syntactically, and justifications for it have appealed either to intuition or to “free theorems” – even though the latter have not been known to hold in languages supporting higher-order polymorphic functions and fixpoint recursion. In this paper we use Pitts' recent demonstration that contextual equivalence in such languages is parametric to provide the first formal proof of the correctness of short cut fusion for them. In particular, we show that programs which have undergone short cut fusion are contextually equivalent to their unfused counterparts. Patricia Johann |
J. Funct. Program. | 1 |
| 1995 | A Combinatory Logic Approach to Higher-Order E-Unification
Daniel J. Dougherty, Patricia Johann |
Theor. Comput. Sci. | 2 |
| 1994 | Unification in an Extensional Lambda Calculus with Ordered Function Sorts and Constant Overloading
Patricia Johann, Michael Kohlhase |
CADE | 1 |
| 1992 | A Combinatory Logic Approach to Higher-order E-unification (Extended Abstract)
Daniel J. Dougherty, Patricia Johann |
CADE | 2 |
| 1992 | An Improved General E-Unification Method
Daniel J. Dougherty, Patricia Johann |
J. Symb. Comput. | 2 |
| 1990 | An Improved General E-Unification Method
Daniel J. Dougherty, Patricia Johann |
CADE | 2 |