VLDB 2026 Research / reviewers in the wild / expert
David Thibodeau 0001
dblp:124/5881
· DBLP profile ↗
4ranked-venue papers
1as first author
0since 2021 · last 2019
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 2 · 1 first-authorTheory of computation · 2
Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.
| Software engineering, system software, and programming languages
2 papers |
Programming languages and type systems · 100% |
Topics — the 6 heaviest of 6, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Programming languages and type systems › type theory
dependent types |
0.4 | 1 | 2019 | A Type Theory for Defining Logics and Proofs · LICS 2019 |
Programming languages and type systems › metaprogramming
higher-order abstract syntax |
0.4 | 1 | 2019 | A Type Theory for Defining Logics and Proofs · LICS 2019 |
Programming languages and type systems › type theory
logical frameworks |
0.4 | 1 | 2019 | A Type Theory for Defining Logics and Proofs · LICS 2019 |
Programming languages and type systems
type theory |
0.4 | 1 | 2019 | A Type Theory for Defining Logics and Proofs · LICS 2019 |
Programming languages and type systems › type systems › recursive types
coinductive types |
0.2 | 1 | 2013 | Copatterns: programming infinite structures by observations · POPL 2013 |
Programming languages and type systems
language design |
0.2 | 1 | 2013 | Copatterns: programming infinite structures by observations · POPL 2013 |
Methods — techniques the papers use, named apart from their topics
normalization proof · 0.4kripke-style model · 0.4pattern matching · 0.2copattern matching · 0.2
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2019 | A Type Theory for Defining Logics and ProofsabstractWe describe a Martin-Lof-style dependent type theory, called Cocon, that allows us to mix the intensional function space that is used to represent higher-order abstract syntax (HOAS) trees with the extensional function space that describes (recursive) computations. We mediate between HOAS representations and computations using contextual modal types. Our type theory also supports an infinite hierarchy of universes and hence supports type-level computation thereby providing metaprogramming and (small-scale) reflection. Our main contribution is the development of a Kripke-style model for Cocon that allows us to prove normalization. From the normalization proof, we derive subject reduction and consistency. Our work lays the foundation to incorporate the methodology of logical frameworks into systems such as Agda and bridges the longstanding gap between these two worlds. Brigitte Pientka, David Thibodeau 0001, Andreas Abel 0001, Francisco Ferreira 0001, Rébecca Zucchini |
LICS | 2 |
| 2019 | A case study in programming coinductive proofs: Howe's methodabstractBisimulation proofs play a central role in programming languages in establishing rich properties such as contextual equivalence. They are also challenging to mechanize, since they require a combination of inductive and coinductive reasoning on open terms. In this paper, we describe mechanizing the property that similarity in the call-by-name lambda calculus is a pre-congruence using Howe’s method in theBelugaformal reasoning system. The development relies on three key ingredients: (1) we give a higher order abstract syntax (HOAS) encoding of lambda terms together with their operational semantics as intrinsically typed terms, thereby avoiding not only the need to deal with binders, renaming and substitutions, but keeping all typing invariants implicit; (2) we take advantage ofBeluga’s support for representing open terms using built-in contexts and simultaneous substitutions: this allows us to directly state central definitions such as open simulation without resorting to the usual inductive closure operation and to encode very elegantly notoriously painful proofs such as the substitutivity of the Howe relation; (3) we exploit the possibility of reasoning by coinduction inBeluga’s reasoning logic. The end result is succinct and elegant, thanks to the high-level abstractions and primitivesBelugaprovides. We believe that this mechanization is a significant example that illustratesBeluga’s strength at mechanizing challenging (co)inductive proofs using HOAS encodings. Alberto Momigliano, Brigitte Pientka, David Thibodeau 0001 |
Math. Struct. Comput. Sci. | 3 |
| 2016 | Indexed codata typesabstractIndexed data types allow us to specify and verify many interesting invariants about finite data in a general purpose programming language. In this paper we investigate the dual idea: indexed codata types, which allow us to describe data-dependencies about infinite data structures. Unlike finite data which is defined by constructors, we define infinite data by observations. Dual to pattern matching on indexed data which may refine the type indices, we define copattern matching on indexed codata where type indices guard observations we can make. David Thibodeau 0001, Andrew Cave, Brigitte Pientka |
ICFP | 1 |
| 2013 | Copatterns: programming infinite structures by observationsabstractInductive datatypes provide mechanisms to define finite data such as finite lists and trees via constructors and allow programmers to analyze and manipulate finite data via pattern matching. In this paper, we develop a dual approach for working with infinite data structures such as streams. Infinite data inhabits coinductive datatypes which denote greatest fixpoints. Unlike finite data which is defined by constructors we define infinite data by observations. Dual to pattern matching, a tool for analyzing finite data, we develop the concept of copattern matching, which allows us to synthesize infinite data. This leads to a symmetric language design where pattern matching on finite and infinite data can be mixed. Andreas Abel 0001, Brigitte Pientka, David Thibodeau 0001, Anton Setzer |
POPL | 3 |