• Corpus ID: 116906320

Programming in Martin-Löf's Type Theory

  title={Programming in Martin-L{\"o}f's Type Theory},
  author={Bengt Nordstr{\"o}m and Kent Petersson and Jan M. Smith},
data type, 179 abstraction, 14 Abstraction rule, 143 absurdity, 43 append, 68 application, 13 Application rule, 143 apply, 48, 148 arity of an expression, 18 Assumption rule, 123, 142 AUTOMATH, 8 axiom of choice, 115 Bishop, 6 Bool, 44 Bool rules, 44–45 Boolean, 44–45 Calculus of Constructions, 8 canonical expression, 26 cartesian product of a family of sets, 47–55, 148 case{i1,...,in}, 41 case, 151 Church, 17 combination, 15 combined expression, 17 conjunction, 74 cons, 67, 152 Constable, 6… 

Figures from this paper

A short and flexible proof of Strong Normalization for the Calculus of Constructions

This chapter discusses the design and analysis of Dynamic Leader Election Protocols in Broadcast Networks, and a taxomomy of finite automata construction algorithms in process algebra.

Propositional Equality, Identity Types, and Computational Paths

In proof theory the notion of canonical proof is rather basic, and it is usually taken for granted that a canonical proof of a sentence must be unique up to certain minor syntactical details (such

Propositional equality, identity types, and direct computational paths

The intention here is to show that, by considering as sequences of rewrites and substitution, it comes a rather natural fact that two (or more) distinct proofs may be yet canonical and are none to be preferred over one another.

Semantic Consistency Proofs for Systems of Illative Combinatory Logic

Illative systems of combinatory logic or lambda-calculus consist of type-free combinatory logic or lambda-calculus extended with additional constants intended to represent logical notions. In fact,

Structural recursion with locally scoped names

  • A. Pitts
  • Computer Science
    J. Funct. Program.
  • 2011
A new recursion principle for inductively defined data modulo α-equivalence of bound names that makes use of Odersky-style local names when recursing over bound names is introduced.

Some Normalization Properties of Martin-Löf's Type Theory, and Applications

It is shown that for Martin-Lof's type theory, and a large class of extensions of it, a sufficient kind of normalization property does in fact hold in certain well-behaved subtheories.

Defunctionalizing Focusing Proofs

A view of pattern-based focusing proofs as façons de parler is explored, describing how to compile them down to first-order derivations through defunctionalization, Reynolds’ program transformation, arriving at a proof representation with surprisingly little bureaucracy.

Set theory for verification. II: Induction and recursion

A theory of recursive definitions has been mechanized in Isabelle's Zermelo-Fraenkel (ZF) set theory to support the formalization of particular recursive definitions for use in verification, semantics proofs, and other computational reasoning.

Labelled Natural Deduction

The functional interpretation of logical connectives is concerned with a certain harmony between, on the one hand, a indexfunctional! calculus functional calculus on the expressions built up from the



The Constructive Engine

  • G. Huet
  • Computer Science
    A Perspective in Theoretical Computer Science
  • 1989
An implementation in CAML of a proof-checker for the Calculus of Constructions proceeds by operating an abstract machine, called the constructive engine, which is close in spirit to the inference system described in section 10.2 of [13].

Programming in Constructive Set Theory: Some examples

The similarity (or rather: identity) between a mathematical proof of a given proposition and a program for a given task suggests that programming should be similar to the mathematicians activity of finding proofs.

A Higher-Order Implementation of Rewriting

The independence of Peano's fourth axiom from Martin-Löf's type theory without universes

  • Jan M. Smith
  • Philosophy, Mathematics
    Journal of Symbolic Logic
  • 1988
This work uses the method of Hilbert and Ackermann on Martin-Lof's type theory without universes to show that ¬Eq( A, a, b ) cannot be derived without universes for any type A and any objects a and b of type A .

On a Nonconstructive Type Theory and Program Derivation

Not considering philosophical arguments, the main motive for using constructive reasoning when constructing programs is that constructive proofs have computational content and it is then quite possible to use classical logic.

Induction Principles Formalized in the Calculus of Constructions

  • G. Huet
  • Computer Science
    TAPSOFT, Vol.1
  • 1987
How to define inductive concepts in the calculus is shown, which is a foundation for the design of programming environments where programs are developed consistently with formal specifications.

Combinatory logic

the equations derivable from the axioms of the theory. When this two-step algebraization has been carried out it is possible to reduce problems of validity in a first-order language to questions

A Machine-Oriented Logic Based on the Resolution Principle

The paper concludes with a discussion of several principles which are applicable to the design of efficient proof-procedures employing resolution as the basle logical process.

Computational uses of the manipulation of formal proofs

This thesis concerns computational uses of the additional information contained in proofs, and efficient methods for the representation and transformation of proofs.

Constructing Recursion Operators in Intuitionistic Type Theory