Aaron Stump

dblp:46/656 · DBLP profile ↗
← Back
32ranked-venue papers
12as first author
3since 2021 · last 2024
0000-0002-9720-0003ORCID · corroborated

Domains — the database's venue-derived domains; a paper can count in several

Theory of computation · 19 · 9 first-author · 2 since 2021Software engineering, systems software and programming languages · 14 · 4 first-author · 1 since 2021Artificial intelligence and machine learning · 7 · 2 first-authorDatabases, data management, data science and information retrieval · 1 · 1 first-author
YearPublicationVenuePosition
2024 Dual counterpart intuitionistic logic
abstract
Abstract We introduce dual counterpart intuitionistic logic (or DCInt): a constructive logic that is a conservative extension of intuitionistic logic, a sublogic of bi-intuitionistic logic, has the logical duality property of classical logic, and also retains the modal character of its interpretation of the connective dual to intuitionistic implication. We define its Kripke semantics along with the corresponding notion of a bisimulation, and then prove that it has both the disjunction property and (its dual) the constructible falsity property. Also, for any class $ {\mathcal{C}}$ of Kripke frames from our semantics, we identify a condition such that $ {\mathcal{C}}$ will have the disjunction property if it satisfies the condition. This provides a method for generating extensions of DCInt that retain the disjunction property.
Anthony Cantor, Aaron Stump
J. Log. Comput.2
2023 A Type-Based Approach to Divide-and-Conquer Recursion in Coq
abstract
This paper proposes a new approach to writing and verifying divide-and-conquer programs in Coq. Extending the rich line of previous work on algebraic approaches to recursion schemes, we present an algebraic approach to divide-and-conquer recursion: recursions are represented as a form of algebra, and from outer recursions, one may initiate inner recursions that can construct data upon which the outer recursions may legally recurse. Termination is enforced entirely by the typing discipline of our recursion schemes. Despite this, our approach requires little from the underlying type system, and can be implemented in System F ω plus a limited form of positive-recursive types. Our implementation of the method in Coq does not rely on structural recursion or on dependent types. The method is demonstrated on several examples, including mergesort, quicksort, Harper’s regular-expression matcher, and others. An indexed version is also derived, implementing a form of divide-and-conquer induction that can be used to reason about functions defined via our method.
Pedro Abreu, Benjamin Delaware, Alex Hubers, Christa Jenkins, J. Garrett Morris, Aaron Stump
Proc. ACM Program. Lang.6
2021 Monotone recursive types and recursive data representations in Cedille
abstract
Abstract Guided by Tarksi’s fixpoint theorem in order theory, we show how to derive monotone recursive types with constant-time roll and unroll operations within Cedille, an impredicative, constructive, and logically consistent pure typed lambda calculus. This derivation takes place within the preorder on Cedille types induced by type inclusions, a notion which is expressible within the theory itself. As applications, we use monotone recursive types to generically derive two recursive representations of data in lambda calculus, the Parigot and Scott encoding. For both encodings, we prove induction and examine the computational and extensional properties of their destructor, iterator, and primitive recursor in Cedille. For our Scott encoding in particular, we translate into Cedille a construction due to Lepigre and Raffalli (2019) that equips Scott naturals with primitive recursion, then extend this construction to derive a generic induction principle. This allows us to give efficient and provably unique (up to function extensionality) solutions for the iteration and primitive recursion schemes for Scott-encoded data.
Aaron Stump
Math. Struct. Comput. Sci.2
2020 Strong functional pearl: Harper's regular-expression matcher in Cedille
abstract
This paper describes an implementation of Harper's continuation-based regular-expression matcher as a strong functional program in Cedille; i.e., Cedille statically confirms termination of the program on all inputs. The approach uses neither dependent types nor termination proofs. Instead, a particular interface dubbed a recursion universe is provided by Cedille, and the language ensures that all programs written against this interface terminate. Standard polymorphic typing is all that is needed to check the code against the interface. This answers a challenge posed by Bove, Krauss, and Sozeau.
Aaron Stump, Stephan Spahn, Colin McDonald
Proc. ACM Program. Lang.1
2018 Generic derivation of induction for impredicative encodings in Cedille
abstract
This paper presents generic derivations of induction for impredicatively typed lambda-encoded datatypes, in the Cedille type theory. Cedille is a pure type theory extending the Curry-style Calculus of Constructions with implicit products, primitive heterogeneous equality, and dependent intersections. All data erase to pure lambda terms, and there is no built-in notion of datatype. The derivations are generic in the sense that we derive induction for any datatype which arises as the least fixed point of a signature functor. We consider Church-style and Mendler-style lambda-encodings. Moreover, the isomorphism of these encodings is proved. Also, we formalize Lambek's lemma as a consequence of expected laws of cancellation, reflection, and fusion.
Denis Firsov, Aaron Stump
CPP2
2018 Efficient Mendler-Style Lambda-Encodings in Cedille
Denis Firsov, Richard Blair, Aaron Stump
ITP3
2018 From realizability to induction via dependent intersection
Aaron Stump
Ann. Pure Appl. Log.1
2018 Generic zero-cost reuse for dependent types
abstract
Dependently typed languages are well known for having a problem with code reuse. Traditional non-indexed algebraic datatypes (e.g. lists) appear alongside a plethora of indexed variations (e.g. vectors). Functions are often rewritten for both non-indexed and indexed versions of essentially the same datatype, which is a source of code duplication. We work in a Curry-style dependent type theory, where the same untyped term may be classified as both the non-indexed and indexed versions of a datatype. Many solutions have been proposed for the problem of dependently typed reuse, but we exploit Curry-style type theory in our solution to not only reuse data and programs, but do so at zero-cost (without a runtime penalty). Our work is an exercise in dependently typed generic programming, and internalizes the process of zero-cost reuse as the identity function in a Curry-style theory.
Larry Diehl, Denis Firsov, Aaron Stump
Proc. ACM Program. Lang.3
2017 The calculus of dependent lambda eliminations
abstract
Abstract Modern constructive type theory is based on pure dependently typed lambda calculus, augmented with user-defined datatypes. This paper presents an alternative called the Calculus of Dependent Lambda Eliminations, based on pure lambda encodings with no auxiliary datatype system. New typing constructs are defined that enable induction, as well as large eliminations with lambda encodings. These constructs are constructor-constrained recursive types, and a lifting operation to lift simply typed terms to the type level. Using a lattice-theoretic denotational semantics for types, the language is proved logically consistent. The power of CDLE is demonstrated through several examples, which have been checked with a prototype implementation called Cedille.
Aaron Stump
J. Funct. Program.1
2016 Efficiency of lambda-encodings in total type theory
abstract
Abstract This paper proposes a new typed lambda-encoding for inductive types which, for Peano numerals, has the expected time complexities for basic operations like addition and multiplication, has a constant-time predecessor function, and requires only quadratic space to encode a numeral. This improves on the exponential space required by the Parigot encoding. Like the Parigot encoding, the new encoding is typable in System F-omega plus positive-recursive type definitions, a total type theory. The new encoding is compared with previous ones through a significant case study: mergesort using Braun trees. The practical runtime efficiency of the new encoding, and the Church and Parigot encodings, are compared by two translations, one to Racket and one to Haskell, on a small suite of benchmarks.
Aaron Stump, Peng Fu 0001
J. Funct. Program.1
2015 The 2013 Evaluation of SMT-COMP and SMT-LIB
David R. Cok, Aaron Stump, Tjark Weber
J. Autom. Reason.2
2013 SMT proof checking using a logical framework
Aaron Stump, Duckki Oe, Andrew Reynolds 0001, Liana Hadarean, Cesare Tinelli
Formal Methods Syst. Des.1
2013 6 Years of SMT-COMP
Clark W. Barrett, Morgan Deters, Leonardo de Moura 0001, Albert Oliveras, Aaron Stump
J. Autom. Reason.5
2012 Towards typing for small-step direct reflection
abstract
Direct reflection is a form of meta-programming in which program terms can intensionally analyze other program terms. Previous work defined a big-step semantics for a directly reflective language called Archon, with a conservative approach to variable scoping based on operations for opening a lambda-abstraction and swapping the order of nested lambda-abstractions. In this short paper, we give a small-step semantics for a revised version of Archon, based on operations for opening and closing lambda abstractions. We then discuss challenges for designing a static type system for this language, which is our ultimate goal.
Jacques Carette, Aaron Stump
PEPM2
2012 versat: A Verified Modern SAT Solver
Duckki Oe, Aaron Stump, Corey Oliver, Kevin Clancy
VMCAI2
2011 Type Preservation as a Confluence Problem
abstract
This paper begins with recent work by Kuan, MacQueen, and Findler, which shows how standard type systems, such as the simply typed lambda calculus, can be viewed as abstract reduction systems operating on terms. The central idea is to think of the process of typing a term as the computation of an abstract value for that term. The standard metatheoretic property of type preservation can then be seen as a confluence problem involving the concrete and abstract operational semantics, viewed as abstract reduction systems (ARSs). In this paper, we build on the work of Kuan et al. by showing show how modern ARS theory, in particular the theory of decreasing diagrams, can be used to establish type preservation via confluence. We illustrate this idea through several examples of solving such problems using decreasing diagrams. We also consider how automated tools for analysis of term-rewriting systems can be applied in testing type
Aaron Stump, Garrin Kimmell, Roba El Haj Omar
RTA1
2007 Design and results of the 2nd annual satisfiability modulo theories competition (SMT-COMP 2006)
Clark W. Barrett, Leonardo de Moura 0001, Aaron Stump
Formal Methods Syst. Des.3
2006 Roadmap for enhanced languages and methods to aid verification
abstract
This roadmap describes ways that researchers in four areas---specification languages, program generation, correctness by construction, and programming languages---might help further the goal of verified software. It also describes what advances the "verified software" grand challenge might anticipate or demand from work in these areas. That is, the roadmap is intended to help foster collaboration between the grand challenge and these research areas.A common goal for research in these areas is to establish language designs and tool architectures that would allow multiple annotations and tools to be used on a single program. In the long term, researchers could try to unify these annotations and integrate such tools.
Gary T. Leavens, Jean-Raymond Abrial, Don S. Batory, Michael J. Butler, Alessandro Coglio, Kathi Fisler, Eric C. R. Hehner, Cliff B. Jones, Dale Miller 0001, Simon L. Peyton Jones, Murali Sitaraman, Douglas R. Smith, Aaron Stump
GPCE13
2006 Slothrop: Knuth-Bendix Completion with a Modern Termination Checker
Ian Wehrman, Aaron Stump, Edwin M. Westbrook
RTA2
2006 Knuth-Bendix completion of theories of commuting group endomorphisms
Aaron Stump, Bernd Löchner
Inf. Process. Lett.1
2005 SMT-COMP: Satisfiability Modulo Theories Competition
Clark W. Barrett, Leonardo de Moura 0001, Aaron Stump
CAV3
2005 A language-based approach to functionally correct imperative programming
abstract
In this paper a language-based approach to functionally correct imperative programming is proposed. The approach is based on a programming language called RSP1, which combines dependent types, general recursion, and imperative features in a type-safe way, while preserving decidability of type checking. The methodology used is that of internal verification, where programs manipulate programmer-supplied proofs explicitly as data. The fundamental technical idea of RSP1 is to identify problematic operations as impure, and keep them out of dependent types. The resulting language is powerful enough to verify statically non-trivial properties of imperative and functional programs. The paper presents the ideas through the examples of statically verified merge sort, statically verified imperative binary search trees, and statically verified directed acyclic graphs.
Edwin M. Westbrook, Aaron Stump, Ian Wehrman
ICFP2
2005 The Algebra of Equality Proofs
Aaron Stump, Li-Yang Tan
RTA1
2005 Design and Results of the First Satisfiability Modulo Theories Competition (SMT-COMP 2005)
Clark W. Barrett, Leonardo de Moura 0001, Aaron Stump
J. Autom. Reason.3
2003 Subset Types and Partial Functions
Aaron Stump
CADE1
2003 Foundational proof checkers with small witnesses
abstract
Proof checkers for proof-carrying code (and similar systems) can suffer from two problems: huge proof witnesses and untrustworthy proof rules. No previous design has addressed both of these problems simultaneously. We show the theory, design, and implementation of a proof-checker that permits small proof witnesses and machine-checkable proofs of the soundness of the system.
Dinghao Wu, Andrew W. Appel, Aaron Stump
PPDP3
2003 A Trustworthy Proof Checker
Andrew W. Appel, Neophytos G. Michael, Aaron Stump, Roberto Virga
J. Autom. Reason.3
2002 Faster Proof Checking in the Edinburgh Logical Framework
Aaron Stump, David L. Dill
CADE1
2002 Checking Satisfiability of First-Order Formulas by Incremental Translation to SAT
Clark W. Barrett, David L. Dill, Aaron Stump
CAV3
2002 CVC: A Cooperating Validity Checker
Aaron Stump, Clark W. Barrett, David L. Dill
CAV1
2001 A Decision Procedure for an Extensional Theory of Arrays
abstract
A decision procedure for a theory of arrays is of interest for applications in formal verification, program analysis and automated theorem proving. This paper presents a decision procedure for an extensional theory of arrays and proves it correct.
Aaron Stump, Clark W. Barrett, David L. Dill, Jeremy R. Levitt
LICS1
2000 A Framework for Cooperating Decision Procedures
Clark W. Barrett, David L. Dill, Aaron Stump
CADE3