Aaron Stump’s research while affiliated with University of Iowa and other places

What is this page?


This page lists works of an author who doesn't have a ResearchGate profile or hasn't added the works to their profile yet. It is automatically generated from public (personal) data to further our legitimate goal of comprehensive and accurate scientific recordkeeping. If you are this author and want this page removed, please let us know.

Publications (139)


Dual counterpart intuitionistic logic
  • Article

September 2023

·

15 Reads

Journal of Logic and Computation

Anthony Cantor

·

Aaron Stump

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 C {\mathcal{C}} of Kripke frames from our semantics, we identify a condition such that C {\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.


Impredicative Encodings of Inductive-Inductive Data in Cedille

August 2023

·

3 Reads

Lecture Notes in Computer Science

Cedille is a dependently typed programming language known for expressive and efficient impredicative encodings. In this work, we show that encodings of induction-induction are also possible by employing a standard technique from other encodings in Cedille, where a type representing the shape of data is intersected with a predicate that further constrains. Thus, just as with indexed inductive data, Cedille can encode a notion that is often axiomatically postulated or directly implemented in other dependent type theories without sacrificing efficiency.KeywordsImpredicative EncodingInduction-InductionCedille


A Type-Based Approach to Divide-and-Conquer Recursion in Coq

January 2023

·

25 Reads

·

1 Citation

Proceedings of the ACM on Programming Languages

Pedro Abreu

·

Benjamin Delaware

·

·

[...]

·

Aaron Stump

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.


Simulating Large Eliminations in Cedille
  • Preprint
  • File available

December 2021

·

30 Reads

Large eliminations provide an expressive mechanism for arity- and type-generic programming. However, as large eliminations are closely tied to a type theory's primitive notion of inductive type, this expressivity is not expected within polymorphic lambda calculi in which datatypes are encoded using impredicative quantification. We report progress on simulating large eliminations for datatype encodings in one such type theory, the calculus of dependent lambda eliminations (CDLE). Specifically, we show that the expected computation rules for large eliminations, expressed using a derived type of extensional equality of types, can be proven within CDLE. We present several case studies, demonstrating the adequacy of this simulation for a variety of generic programming tasks, and a generic formulation of the simulation allowing its use for any datatype. All results have been mechanically checked by Cedille, an implementation of CDLE.

Download

Figure 1. Kind formation and kinding of types in CDLE.
Figure 2. Noncongruence rules for classifier convertibility.
Figure 3. Standard term constructs.
Figure 7. Equality type.
Figure 8. Internalized typing, axiomatically.
Monotone recursive types and recursive data representations in Cedille

December 2021

·

57 Reads

·

2 Citations

Mathematical Structures in Computer Science

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.


Relational Type Theory (All Proofs)

January 2021

·

130 Reads

This paper introduces Relational Type Theory (RelTT), a new approach to type theory with extensionality principles, based on a relational semantics for types. The type constructs of the theory are those of System F plus relational composition, converse, and promotion of application of a term to a relation. A concise realizability semantics is presented for these types. The paper shows how a number of constructions of traditional interest in type theory are possible in RelTT, including eta-laws for basic types, inductive types with their induction principles, and positive-recursive types. A crucial role is played by a lemma called Identity Inclusion, which refines the Identity Extension property familiar from the semantics of parametric polymorphism. The paper concludes with a type system for RelTT, paving the way for implementation.



Strong functional pearl: Harper’s regular-expression matcher in Cedille

August 2020

·

33 Reads

·

2 Citations

Proceedings of the ACM on Programming Languages

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.


Quotients by Idempotent Functions in Cedille

May 2020

·

35 Reads

·

2 Citations

Lecture Notes in Computer Science

We present a simple characterization of definable quotient types as being induced by idempotent functions, and an encoding of this in Cedille (a dependently typed programming language) in which both equational constraints and the packaging that associates these with elements of the carrier type are irrelevant, facilitating equational reasoning in proofs. We provide several concrete examples of definable quotients using this encoding and give combinators for function lifting (with one variant having zero run-time cost).



Citations (64)


... For example, Delaware et al. [2013] employ Church encodings [Böhm and Berarducci 1985;Pfenning and Paulin-Mohring 1989] of fixed-points, which are recursion free and do not rely on inductive definitions in the underlying type theory. Abreu et al. [2023] describe an approach termed retractive-positive types in which Mu is defined inductively not over F (Mu F) but instead, á la Mendler, over polymorphically quantified type R. The options become slimmer in predicative type theories, although Schwaab and Siek [2013] observe that fixed-points may be safely defined so long as the input is restricted to polynomial functors. ...

Reference:

Extensible Recursive Functions, Algebraically
A Type-Based Approach to Divide-and-Conquer Recursion in Coq
  • Citing Article
  • January 2023

Proceedings of the ACM on Programming Languages

... The ϕ axiom of equality allows us to define a type constructor Cast which internalizes the notion that the set of all elements of some type S is contained within the set of all elements of type T (note that Curry-style typing makes this relation nontrivial). We describe its axiomatic summary presented in Figure 2; for the full derivation, see Jenkins and Stump [16] (also Diehl et al. [11]). The introduction form intrCast takes two erased term arguments, a function t 1 : S → T , and a proof that t 1 behaves extensionally as the identity function on its domain. ...

Monotone recursive types and recursive data representations in Cedille

Mathematical Structures in Computer Science

... Lifting was subsequently removed from the theory, replaced with the simpler δ axiom for proof discrimination. Marmaduke et al. [21] described a method of encoding datatype signatures that enables constructor subtyping (à la Barthe and Frade [3]) with zero-cost type coercions. A key technique for this result was the use of intersection types and equational constraints to simulate (again with type coercions) the computation of types by case analysis on termsthat is, non-recursive large eliminations. ...

Zero-Cost Constructor Subtyping
  • Citing Conference Paper
  • September 2020

... The ϕ axiom of equality allows us to define a type constructor Cast which internalizes the notion that the set of all elements of some type S is contained within the set of all elements of type T (note that Curry-style typing makes this relation nontrivial). We describe its axiomatic summary presented in Figure 2; for the full derivation, see Jenkins and Stump [16] (also Diehl et al. [11]). The introduction form intrCast takes two erased term arguments, a function t 1 : S → T , and a proof that t 1 behaves extensionally as the identity function on its domain. ...

Generic Zero-Cost Reuse for Dependent Types

Proceedings of the ACM on Programming Languages

... Large eliminations are closely tied to a type theory's primitive notion of inductive type, and thus this expressivity is not expected within polymorphic pure typed lambda calculi in which datatypes are impredicatively encoded. The calculus of dependent lambda eliminations (CDLE) [26,27] is one such theory that seeks to overcome historical difficulties of impredicative encodings, such as the lack of induction principles for datatypes [13]. ...

Generic derivation of induction for impredicative encodings in Cedille
  • Citing Conference Paper
  • January 2018

... In Matthes's work, monotone recursive types are an addition to an underlying type theory, and the resulting system must be analyzed anew for such properties as subject reduction, confluence, and normalization. In the present paper, we take a different approach by deriving monotone recursive types within an existing type theory, the Calculus of Dependent Lambda Eliminations (CDLE) (Stump, 2017;Stump and Jenkins, 2021). Given any type scheme F satisfying a form of monotonicity, we show how to define a type Rec ⋅ F together with constant-time rolling and unrolling functions that witness the isomorphism between Rec ⋅ F and F ⋅ (Rec ⋅ F). ...

From realizability to induction via dependent intersection
  • Citing Article
  • March 2018

Annals of Pure and Applied Logic

... We now generalize the approach outlined in Section 3 and derive simulated large eliminations generically (here meaning parametrically) for datatypes. For this, we first review Menderstyle iteration and the generic framework of Firsov et al. [12] for inductive Mendler-style lambda encodings of datatypes in Cedille. Then, for an arbitrary positive datatype signature we define a notion of a Mendler-style algebra at the level of types, overcoming a technical difficulty arising from Cedille's truncated sort hierarchy, and show a sufficient condition for type-level algebras to yield a simulated large elimination. ...

Efficient Mendler-Style Lambda-Encodings in Cedille
  • Citing Article
  • March 2018

... Inspired by the internalized subtyping judgement of Miquel, Barras and Bernardo [2008] show how to derive zero-cost forgetful data reuse conversions for Church-encoded datatypes. This work was extended by Diehl and Stump [2018] to the enriching direction. In Section 3.2, we derive zerocost data reuse in terms of a linear time conversion and its extensional identity proof, using ϕ. ...

Zero-Cost Coercions for Program and Proof Reuse