Chris Jenkins

Chris Jenkins
University of Iowa | UI · Department of Computer Science

Bachelor of Science

About

14
Publications
799
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
9
Citations
Introduction
Dependent type theory, Curry-style type theory, inductive definitions, recursion schemes, impredicative encodings

Publications

Publications (14)
Preprint
Full-text available
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 o...
Article
Full-text available
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...
Preprint
Full-text available
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 prese...
Article
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 provi...
Chapter
Full-text available
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 p...
Preprint
Full-text available
In the calculus of dependent lambda eliminations (CDLE), it is possible to define inductive datatypes via lambda encodings that feature constant-time destructors and a course-of-values induction scheme. This paper begins to address the missing derivations for the dual, coinductive types. Our derivation utilizes new methods within CDLE, as there are...
Preprint
Full-text available
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 type theory. As applications, we use monotone recursive types to generically derive two recursive representations of data in t...
Preprint
Full-text available
In CDLE, a pure Curry-style type theory, it is possible to generically derive induction for {\lambda}-encoded data whose types are least fixed points of functors. From this comes fruitful research into the design-space for datatype systems: \cite{FDJS18_CoV-Ind} build upon this derivation to enhance datatypes with course-of-values (CoV) induction,...
Preprint
Full-text available
In the categorical setting, histomorphisms model a course-of-value recursion scheme that allows functions to be defined using arbitrary previously computed values. In this paper, we use the Calculus of Dependent Lambda Eliminations (CDLE) to derive a lambda-encoding of inductive datatypes that admits course-of-value induction. Similar to course-of-...
Conference Paper
Full-text available
We present spine-local type inference, a method of partially inferring omitted type annotations for System F based on local type inference. Local type inference relies on bidirectional rules to propagate type information into and out of adjacent nodes of the AST and restricts type-argument inference to a single node. Spine-local inference relaxes t...
Preprint
Full-text available
We present spine-local type inference, a partial type inference system for inferring omitted type annotations for System F terms based on local type inference. Local type inference relies on bidirectional inference rules to propagate type information into and out of adjacent nodes of the AST and restricts type-argument inference to occur only withi...
Article
Full-text available
We have developed a free online module for the self-study of Booth's multiplication algorithm. This module includes an algorithm visualization tool that displays both the pseudo-code and the contents of hardware registers during execution. This tool accepts user-generated inputs, randomly generates questions to foster active learning and comes with...

Network

Cited By

Projects

Project (1)
Project
An extension of the impredicative Curry-style calculus of constructions in which induction is derivable for lambda encoded data.