EDBT 2026 Demo / reviewers in the wild / expert
Andrew Cave
dblp:18/10810
· DBLP profile ↗
5ranked-venue papers
3as first author
0since 2021 · last 2018
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 3 · 2 first-authorTheory of computation · 2 · 1 first-authorArtificial intelligence and machine learning · 1
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 7, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Programming languages and type systems › programming paradigms
functional reactive programming |
0.2 | 1 | 2014 | Fair reactive programming · POPL 2014 |
Programming languages and type systems › specification language
linear temporal logic |
0.2 | 1 | 2014 | Fair reactive programming · POPL 2014 |
Programming languages and type systems › type theory
proofs-as-programs |
0.2 | 1 | 2014 | Fair reactive programming · POPL 2014 |
Programming languages and type systems › type theory
dependent types |
0.1 | 1 | 2012 | Programming with binders and indexed data-types · POPL 2012 |
Programming languages and type systems › type theory › dependent types
indexed types |
0.1 | 1 | 2012 | Programming with binders and indexed data-types · POPL 2012 |
Programming languages and type systems › type theory
logical frameworks |
0.0 | 1 | 2012 | Programming with binders and indexed data-types · POPL 2012 |
Methods — techniques the papers use, named apart from their topics
structural proof theory · 0.2
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2018 | Mechanizing proofs with logical relations - Kripke-styleabstractProofs with logical relations play a key role to establish rich properties such as normalization or contextual equivalence. They are also challenging to mechanize. In this paper, we describe two case studies using the proof environmentBeluga: First, we explain the mechanization of the weak normalization proof for the simply typed lambda-calculus; second, we outline how to mechanize the completeness proof of algorithmic equality for simply typed lambda-terms where we reason about logically equivalent terms. The development of these proofs inBelugarelies on three key ingredients: (1) we encode lambda-terms together with their typing rules, operational semantics, algorithmic and declarative equality using higher order abstract syntax (HOAS) thereby avoiding the need to manipulate and deal with binders, renaming and substitutions, (2) we take advantage ofBeluga's support for representing derivations that depend on assumptions and first-class contexts to directly state inductive properties such as logical relations and inductive proofs, (3) we exploitBeluga's rich equational theory for simultaneous substitutions; as a consequence, users do not need to establish and subsequently use substitution properties, and proofs are not cluttered with references to them. We believe these examples demonstrate thatBelugaprovides the right level of abstractions and primitives to mechanize challenging proofs using HOAS encodings. It also may serve as a valuable benchmark for other proof environments. Andrew Cave, Brigitte Pientka |
Math. Struct. Comput. Sci. | 1 |
| 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 | 2 |
| 2015 | Inductive Beluga: Programming Proofs
Brigitte Pientka, Andrew Cave |
CADE | 2 |
| 2014 | Fair reactive programmingabstractFunctional Reactive Programming (FRP) models reactive systems with events and signals, which have previously been observed to correspond to the "eventually" and "always" modalities of linear temporal logic (LTL). In this paper, we define a constructive variant of LTL with least fixed point and greatest fixed point operators in the spirit of the modal mu-calculus, and give it a proofs-as-programs interpretation as a foundational calculus for reactive programs. Previous work emphasized the propositions-as-types part of the correspondence between LTL and FRP; here we emphasize the proofs-as-programs part by employing structural proof theory. We show that the type system is expressive enough to enforce liveness properties such as the fairness of schedulers and the eventual delivery of results. We illustrate programming in this calculus using (co)iteration operators. We prove type preservation of our operational semantics, which guarantees that our programs are causal. We give also a proof of strong normalization which provides justification that our programs are productive and that they satisfy liveness properties derived from their types. Andrew Cave, Francisco Ferreira 0001, Prakash Panangaden, Brigitte Pientka |
POPL | 1 |
| 2012 | Programming with binders and indexed data-typesabstractWe show how to combine a general purpose type system for an existing language with support for programming with binders and contexts by refining the type system of ML with a restricted form of dependent types where index objects are drawn from contextual LF. This allows the user to specify formal systems within the logical framework LF and index ML types with contextual LF objects. Our language design keeps the index language generic only requiring decidability of equality of the index language providing a modular design. To illustrate the elegance and effectiveness of our language, we give programs for closure conversion and normalization by evaluation. Andrew Cave, Brigitte Pientka |
POPL | 1 |