Catálogo de publicaciones - libros

Compartir en
redes sociales


Types for Proofs and Programs: International Workshop, TYPES 2006, Nottingham, UK, April 18-21, 2006, Revised Selected Papers

Thorsten Altenkirch ; Conor McBride (eds.)

En conferencia: International Workshop on Types for Proofs and Programs (TYPES) . Nottingham, UK . April 18, 2006 - April 21, 2006

Resumen/Descripción – provisto por la editorial

No disponible.

Palabras clave – provistas por la editorial

No disponibles.

Disponibilidad
Institución detectada Año de publicación Navegá Descargá Solicitá
No detectada 2007 SpringerLink

Información

Tipo de recurso:

libros

ISBN impreso

978-3-540-74463-4

ISBN electrónico

978-3-540-74464-1

Editor responsable

Springer Nature

País de edición

Reino Unido

Fecha de publicación

Información sobre derechos de publicación

© Springer-Verlag Berlin Heidelberg 2007

Tabla de contenidos

Types for Proofs and Programs

Thorsten Altenkirch; Conor McBride (eds.)

Pp. No disponible

Weyl’s Predicative Classical Mathematics as a Logic-Enriched Type Theory

Robin Adams; Zhaohui Luo

In , Weyl showed how a large body of classical mathematics could be developed on a purely predicative foundation. We present a logic-enriched type theory that corresponds to Weyl’s foundational system. A large part of the mathematics in Weyl’s book — including Weyl’s definition of the cardinality of a set and several results from real analysis — has been formalised, using the proof assistant Plastic that implements a logical framework. This case study shows how type theory can be used to represent a non-constructive foundation for mathematics.

Pp. 1-17

Crafting a Proof Assistant

Andrea Asperti; Claudio Sacerdoti Coen; Enrico Tassi; Stefano Zacchiroli

Proof assistants are complex applications whose development has never been properly systematized or documented. This work is a contribution in this direction, based on our experience with the development of Matita: a new interactive theorem prover based—as Coq—on the Calculus of Inductive Constructions (CIC). In particular, we analyze its architecture focusing on the dependencies of its components, how they implement the main functionalities, and their degree of reusability.

The work is a first attempt to provide a ground for a more direct comparison between different systems and to highlight the common functionalities, not only in view of reusability but also to encourage a more systematic comparison of different softwares and architectural solutions.

Pp. 18-32

On Constructive Cut Admissibility in Deduction Modulo

Richard Bonichon; Olivier Hermant

Deduction Modulo is a theoretical framework that allows the introduction of computational steps in deductive systems. This approach is well suited to automated theorem proving. We describe a proof-search method based upon tableaux for Gentzen’s intuitionistic LJ extended with rewrite rules on propositions and terms . We prove its completeness with respect to Kripke structures. We then give a soundness proof with respect to cut-free LJ modulo. This yields a constructive proof of semantic cut elimination, which we use to characterize the relation between tableaux methods and cut elimination in the intuitionistic case.

Pp. 33-47

Fast Reflexive Arithmetic Tactics the Linear Case and Beyond

Frédéric Besson

When goals fall in decidable logic fragments, users of proof-assistants expect automation. However, despite the availability of decision procedures, automation does not come for free. The reason is that decision procedures do not generate proof terms. In this paper, we show how to design efficient and lightweight reflexive tactics for a hierarchy of quantifier-free fragments of integer arithmetics. The tactics can cope with a wide class of linear and non-linear goals. For each logic fragment, off-the-shelf algorithms generate of infeasibility that are then validated by straightforward proved correct inside the proof-assistant. This approach has been prototyped using the Coq proof-assistant. Preliminary experiments are promising as the tactics run fast and produce small proof terms.

Pp. 48-62

Combining de Bruijn Indices and Higher-Order Abstract Syntax in Coq

Venanzio Capretta; Amy P. Felty

The use of is an important approach for the representation of binding constructs in encodings of languages and logics in a logical framework. Formal meta-reasoning about such object languages is a particular challenge. We present a mechanism for such reasoning, formalized in Coq, inspired by the Hybrid tool in Isabelle. At the base level, we define a de Bruijn representation of terms with basic operations and a reasoning framework. At a higher level, we can represent languages and reason about them using higher-order syntax. We take advantage of Coq’s constructive logic by formulating many definitions as Coq programs. We illustrate the method on two examples: the untyped lambda calculus and quantified propositional logic. For each language, we can define recursion and induction principles that work directly on the higher-order syntax.

Pp. 63-77

Deciding Equality in the Constructor Theory

Pierre Corbineau

We give a decision procedure for the satisfiability of finite sets of ground equations and disequations in the : the terms used may contain both uninterpreted and constructor function symbols. Constructor function symbols are by definition injective and terms built with distinct constructors are themselves distinct. This corresponds to properties of (co-)inductive type constructors in inductive type theory. We do this in a framework where function symbols can be partially applied and equations between functions are allowed. We describe our algorithm as an extension of congruence-closure and give correctness, completeness and termination arguments. We then proceed to discuss its limits and extension possibilities by describing its implementation in the Coq proof assistant.

Pp. 78-92

A Formalisation of a Dependently Typed Language as an Inductive-Recursive Family

Nils Anders Danielsson

It is demonstrated how a dependently typed lambda calculus (a logical framework) can be formalised inside a language with inductive-recursive families. The formalisation does not use raw terms; the well-typed terms are defined directly. It is hence impossible to create ill-typed terms.

As an example of programming with strong invariants, and to show that the formalisation is usable, normalisation is proved. Moreover, this proof seems to be the first formal account of normalisation by evaluation for a dependently typed language.

Pp. 93-109

Truth Values Algebras and Proof Normalization

Gilles Dowek

We extend the notion of Heyting algebra to a notion of and prove that a theory is consistent if and only if it has a -valued model for some non trivial truth values algebra . A theory that has a -valued model for all truth values algebras is said to be . We prove that super-consistency is a model-theoretic sufficient condition for strong normalization.

Pp. 110-124

Curry-Style Types for Nominal Terms

Maribel Fernández; Murdoch J. Gabbay

We define a rank 1 polymorphic type system for nominal terms, where typing environments type atoms, variables and function symbols. The interaction between type assumptions for atoms and substitution for variables is subtle: substitution does not avoid capture and so can move an atom into multiple different typing contexts. We give typing rules such that principal types exist and are decidable for a fixed typing environment. -equivalent nominal terms have the same types; a non-trivial result because nominal terms include explicit constructs for renaming atoms. We investigate rule formats to guarantee subject reduction. Our system is in a convenient Curry-style, so the user has no need to explicitly type abstracted atoms.

Pp. 125-139