Equality, Quasi-Implicit Products, and Large Eliminations
@inproceedings{Sjberg2011EqualityQP, title={Equality, Quasi-Implicit Products, and Large Eliminations}, author={Vilhelm Sj{\"o}berg and Aaron Stump}, booktitle={ITRS}, year={2011} }
This paper presents a type theory with a form of equality reflection: provable equalities can be used to coerce the type of a term. Coercions and other annotations, including implicit arguments, are dropped during reduction of terms. We develop the metatheory for an undecidable version of the system with unannotated terms. We then devise a decidable system with annotated terms, justified in terms of the unannotated system. Finally, we show how the approach can be extended to account for large…
6 Citations
Irrelevance, Heterogeneous Equality, and Call-by-value Dependent Type Systems
- Computer ScienceMSFP
- 2012
We present a full-spectrum dependently typed core language which includes both nontermination and computational irrelevance (a.k.a. erasure), a combination which has not been studied before. The two…
A Framework for Internalizing Relations into Type Theory
- Computer Science
- 2011
This paper introduces the concept of internalization, which can be used to incorporate certain relations into FΠ, a variant of system F, while maintaining termination of the new system, through the process of incorporation internalization.
A dependently typed language with nontermination
- Computer Science
- 2015
It is proved type saftey for a large subset of the Zombie core language, including features such as computational irrelevance, CBV-reduction, and propositional equality with a heterogeneous, completely erased elimination form.
Strong functional pearl: Harper’s regular-expression matcher in Cedille
- Computer ScienceProc. ACM Program. Lang.
- 2020
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…
Automatic Deduction for Theories of Algebraic Data Types
- Computer Science, Mathematics
- 2011
This thesis presents formal logical systems, concerned with reasoning about algebraic data types, and describes the built-in deductive capabilities of Term Builder, the deductive system based on higher order type theory, which subsumes second order and higher order logics.
Lambda encodings in type theory
- Computer Science
- 2014
This dissertation proposes to consider adding an abstraction construct to the intuitionistic type to support lambdaencoded data, while still be able to derive the corresponding induction principle.
12 References
The Implicit Calculus of Constructions
- Computer Science, MathematicsTLCA
- 2001
In this paper, we introduce a new type system, the Implicit Calculus of Constructions, which is a Curry-style variant of the Calculus of Constructions that we extend by adding an intersection type…
Observational equality, now!
- Computer SciencePLPV
- 2007
The new proposal simplifies Altenkirch's construction of a setoid-model for a system with canonicity and extensionality on top of an intensional type theory with proof-irrelevant propositions by adopting McBride's heterogeneous approach to equality.
The Implicit Calculus of Constructions as a Programming Language with Dependent Types
- Computer ScienceFoSSaCS
- 2008
This paper shows how Miquel's Implicit Calculus of Constructions can be used as a programming language featuring dependent types and introduces a more verbose variant, called ICC* which fixes the issue of an undecidable type-checking.
Verified programming in Guru
- Computer SciencePLPV '09
- 2009
This paper gives an introduction to verified programming in Guru, a type theory allowing possibly diverging programs while retaining decidability of type checking and a consistent logic.
A new type assignment for λ-terms
- MathematicsArch. Math. Log.
- 1978
A new type assignment for λ-terms is proposed whose motivation is to introduce a system with simple inferential rules to study termination (i.e. the property of having a normal form) of λ -terms.
A framework for defining logics
- Computer ScienceJACM
- 1993
The Edinburgh Logical Framework provides a means to define (or present) logics through a general treatment of syntax, rules, and proofs by means of a typed λ-calculus with dependent types, whereby each judgment is identified with the type of its proofs.
Dependently typed functional programs and their proofs
- Computer Science
- 2000
This thesis shows that the adoption of this uniqueness as axiomatic is sufficient to make pattern matching admissible, and develops technology for programming with dependent inductive families of datatypes and proving those programs correct.
Erasure and Polymorphism in Pure Type Systems
- Computer ScienceFoSSaCS
- 2008
The execution model of EPTS generalizes the familiar notions of type erasure and parametric polymorphism, and it is believed functional programmers will find it quite natural to program in such a setting.
Proving termination with multiset orderings
- Computer ScienceCACM
- 1979
The multiset ordering enables the use of relatively simple and intuitive termination functions in otherwise difficult termination proofs, and is used to prove the termination of production systems, programs defined in terms of sets of rewriting rules.