Catálogo de publicaciones - libros

Compartir en
redes sociales


Theorem Proving in Higher Order Logics: 18th International Conference, TPHOLs 2005, Oxford, UK, August 22-25, 2005, Proceedings

Joe Hurd ; Tom Melham (eds.)

En conferencia: 18º International Conference on Theorem Proving in Higher Order Logics (TPHOLs) . Oxford, UK . August 22, 2005 - August 25, 2005

Resumen/Descripción – provisto por la editorial

No disponible.

Palabras clave – provistas por la editorial

Theory of Computation; Computer System Implementation; Mathematical Logic and Formal Languages; Logics and Meanings of Programs; Software Engineering; Artificial Intelligence (incl. Robotics)

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

Información

Tipo de recurso:

libros

ISBN impreso

978-3-540-28372-0

ISBN electrónico

978-3-540-31820-0

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 2005

Tabla de contenidos

On the Correctness of Operating System Kernels

Mauro Gargano; Mark Hillebrand; Dirk Leinenbach; Wolfgang Paul

The Verisoft project aims at the pervasive formal verification of entire computer systems. In particular, the seamless verification of the is attempted. This system consists of hardware (processor and devices) on top of which runs a microkernel, an operating system, and applications. In this paper we define the computation model CVM (communicating virtual machines) in which concurrent user processes interact with a generic microkernel written in C. We outline the correctness proof for concrete kernels, which implement this model. This result represents a crucial step towards the verification of a kernel, e.g. that in the academic system. We report on the current status of the formal verification.

- Invited Papers | Pp. 1-16

Alpha-Structural Recursion and Induction

Andrew M. Pitts

There is growing evidence for the usefulness of name when dealing with syntax involving names and name-binding. In particular they facilitate an attractively simple formalisation of common, but often technically incorrect uses of structural recursion and induction for abstract syntax trees modulo -equivalence. At the heart of this formalisation is the notion of mathematical objects. This paper explains the idea in as concrete a way as possible and gives a new derivation within higher-order logic of principles of recursion and induction for -equivalence classes from the ordinary versions of these principles for abstract syntax trees.

- Invited Papers | Pp. 17-34

Shallow Lazy Proofs

Hasan Amjad

We show that delaying fully-expansive proof reconstruction for non-interactive decision procedures can result in a more efficient work-flow. In contrast with earlier work, our approach to postponed proof does not require making deep changes to the theorem prover.

- Regular Papers | Pp. 35-49

Mechanized Metatheory for the Masses: The PM Challenge

Brian E. Aydemir; Aaron Bohannon; Matthew Fairbairn; J. Nathan Foster; Benjamin C. Pierce; Peter Sewell; Dimitrios Vytiniotis; Geoffrey Washburn; Stephanie Weirich; Steve Zdancewic

How close are we to a world where every paper on programming languages is accompanied by an electronic appendix with machine-checked proofs?

We propose an initial set of benchmarks for measuring progress in this area. Based on the metatheory of System F a typed lambda-calculus with second-order polymorphism, subtyping, and records, these benchmarks embody many aspects of programming languages that are challenging to formalize: variable binding at both the term and type levels, syntactic forms with variable numbers of components (including binders), and proofs demanding complex induction principles. We hope that these benchmarks will help clarify the current state of the art, provide a basis for comparing competing technologies, and motivate further research.

- Regular Papers | Pp. 50-65

A Structured Set of Higher-Order Problems

Christoph E. Benzmüller; Chad E. Brown

We present a set of problems that may support the development of calculi and theorem provers for classical higher-order logic. We propose to employ these test problems as quick and easy criteria preceding the formal soundness and completeness analysis of proof systems under development. Our set of problems is structured according to different technical issues and along different notions of semantics (including Henkin semantics) for higher-order logic. Many examples are either theorems or non-theorems depending on the choice of semantics. The examples can thus indicate the deductive strength of a proof system.

- Regular Papers | Pp. 66-81

Formal Modeling of a Slicing Algorithm for Java Event Spaces in PVS

Néstor Cataño

This paper presents the formalization of an algorithm for slicing Java event spaces in PVS. In short, Java event spaces describe how multi-threaded Java programs operate in memory. We show that Java event spaces can be sliced following an algorithm introduced in previous work and still preserve properties in a subset of CTL. The formalization and proof presented in this paper can be extended to other state-space reduction techniques as long as some conditions are fulfilled.

- Regular Papers | Pp. 82-97

Proving Equalities in a Commutative Ring Done Right in Coq

Benjamin Grégoire; Assia Mahboubi

We present a new implementation of a reflexive tactic which solves equalities in a ring structure inside the Coq system. The efficiency is improved to a point that we can now prove equalities that were previously beyond reach. A special care has been taken to implement efficient algorithms while keeping the complexity of the correctness proofs low. This leads to a single tool, with a single implementation, which can be addressed for a ring or for a semi-ring, abstract or not, using the Leibniz equality or a setoid equality. This example shows that such reflective methods can be effectively used in symbolic computation.

- Regular Papers | Pp. 98-113

A HOL Theory of Euclidean Space

John Harrison

We describe a formalization of the elementary algebra, topology and analysis of finite-dimensional Euclidean space in the HOL Light theorem prover. (Euclidean space is with the usual notion of distance.) A notable feature is that the HOL type system is used to encode the dimension in a simple and useful way, even though HOL does not permit dependent types. In the resulting theory the HOL type system, far from getting in the way, naturally imposes the correct dimensional constraints, e.g. checking compatibility in matrix multiplication. Among the interesting later developments of the theory are a partial decision procedure for the theory of vector spaces (based on a more general algorithm due to Solovay) and a formal proof of various classic theorems of topology and analysis for arbitrary -dimensional Euclidean space, e.g. Brouwer’s fixpoint theorem and the differentiability of inverse functions.

- Regular Papers | Pp. 114-129

A Design Structure for Higher Order Quotients

Peter V. Homeier

The quotient operation is a standard feature of set theory, where a set is partitioned into subsets by an equivalence relation. We reinterpret this idea for higher order logic, where types are divided by an equivalence relation to create new types, called quotient types. We present a design to mechanically construct quotient types as new types in the logic, and to support the automatic lifting of constants and theorems about the original types to corresponding constants and theorems about the quotient types. This design exceeds the functionality of Harrison’s package, creating quotients of multiple mutually recursive types simultaneously, and supporting the equivalence of aggregate types, such as lists and pairs. Most importantly, this design supports the creation of higher order quotients, which enable the automatic lifting of theorems with quantification over functions of any higher order.

- Regular Papers | Pp. 130-146

Axiomatic Constructor Classes in Isabelle/HOLCF

Brian Huffman; John Matthews; Peter White

We have definitionally extended Isabelle/HOLCF to support axiomatic Haskell-style constructor classes. We have subsequently defined the functor and monad classes, together with their laws, and implemented state and resumption monad transformers as generic constructor class instances. This is a step towards our goal of giving modular denotational semantics for concurrent lazy functional programming languages, such as GHC Haskell.

- Regular Papers | Pp. 147-162