#### Filter Results:

#### Publication Year

1993

2016

#### Publication Type

#### Co-author

#### Key Phrase

#### Publication Venue

Learn More

We survey a substantial body of knowledge about lambda calculus and Pure Type Systems, formally developed in a constructive type theory using the LEGO proof system. On lambda calculus, we work up to an abstract, simpliied, proof of standardization for beta reduction, that does not mention redex positions or residuals. Then we outline the meta theory of Pure… (More)

Language designers have in recent years proposed a wealth of richer type systems for programming which seek to extend the range of statically enforced guarantees on data and code. Most such proposals have been evolutionary extensions of ML or Haskell, offering programmers a balanced compromise between expressive strength and existing well-understood… (More)

This paper is about our hobby. For us, machine-checked mathematics is a passion, and constructive type theory (in the broadest sense) is the way to this objective. Efficient and correct type-checking programs are necessary, so a formal theory of type systems leading to verified type synthesis algorithms is a natural goal. For over a year the second author… (More)

In this paper, we show how to manipulate syntax with binding using a mixed representation of names for free variables (with respect to the task in hand) and de Bruijn indices [5] for bound variables. By doing so, we retain the advantages of both representations: naming supports easy, arithmetic-free manipulation of terms; de Bruijn indices eliminate the… (More)

This paper gives a reduction-preserving translation from Co-quand's dependent pattern matching [4] into a traditional type theory [11] with universes, inductive types and relations and the axiom K [22]. This translation serves as a proof of termination for structurally recur-sive pattern matching programs, provides an implementable compilation technique in… (More)

We present four constructions for standard equipment which can be generated for every inductive datatype: case analysis, structural recursion, no confusion, acyclicity. Our constructions follow a two-level approach—they require less work than the standard techniques which inspired them [11, 8]. Moreover, given a suitably heterogeneous notion of equality,… (More)