# A simpler encoding of indexed types

@article{Zhang2021ASE, title={A simpler encoding of indexed types}, author={Yinsen Zhang}, journal={Proceedings of the 6th ACM SIGPLAN International Workshop on Type-Driven Development}, year={2021} }

In functional programming languages, generalized algebraic data types (GADTs) are very useful as the unnecessary pattern matching over them can be ruled out by the failure of unification of type arguments. In dependent type systems, this is usually called indexed types and it’s particularly useful as the identity type is a special case of it. However, pattern matching over indexed types is very complicated as it requires term unification in general. We study a simplified version of indexed…

## Figures from this paper

## One Citation

Elegant elaboration with function invocation

- Computer ScienceArXiv
- 2021

We present an elegant design of the core language in a dependentlytyped lambda calculus with δ-reduction and an elaboration algorithm.

## References

SHOWING 1-10 OF 45 REFERENCES

The Aya Proof Assistant. https://github.com/aya-prover/ aya-dev

- 2021

Vectors are records, too

- TYPES
- 2018

Cubical agda: a dependently typed programming language with univalence and higher inductive types

- Computer ScienceProc. ACM Program. Lang.
- 2019

This paper describes an extension of the dependently typed functional programming language Agda with cubical primitives, making it into a full-blown proof assistant with native support for univalence and a general schema of higher inductive types.

Elaborating dependent (co)pattern matching

- Computer ScienceProc. ACM Program. Lang.
- 2018

This work presents an algorithm elaborating definitions by dependent copattern matching to a core language with inductive datatypes, coinductive record types, an identity type, and constants defined by well-typed case trees, and proves that elaboration preserves the first-match semantics of the user clauses.

Programming with ornaments

- Computer ScienceJournal of Functional Programming
- 2016

It is shown how current dependently typed programming technology can lead to a clean treatment of the binomial heap constraints when implementing heap operations, and some gaps between the current technology and an ideal dependently typing programming language are identified.

Higher inductive types in cubical computational type theory

- MathematicsProc. ACM Program. Lang.
- 2019

This work extends the cartesian cubical computational type theory introduced by Angiuli et al. with a schema for indexed cubical inductive types (CITs), an adaptation of higher induction types to the cubical setting, and proves a canonicity theorem with respect to these values.

Type-and-scope safe programs and their proofs

- Computer ScienceCPP
- 2017

This work abstracts the common type-and-scope safe structure from computations on λ-terms that deliver, e.g., renaming, substitution, evaluation, CPS-transformation, and printing with a name supply and can prove generic simulation and fusion lemmas relating operations built this way.

Cubical Type Theory: A Constructive Interpretation of the Univalence Axiom

- Computer ScienceTYPES
- 2015

A type theory in which it is possible to directly manipulate n-dimensional cubes based on an interpretation of dependenttype theory in a cubical set model that enables new ways to reason about identity types, for instance, function extensionality is directly provable in the system.