Catálogo de publicaciones - libros
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
2007
Información sobre derechos de publicación
© Springer-Verlag Berlin Heidelberg 2007
Tabla de contenidos
(In)consistency of Extensions of Higher Order Logic and Type Theory
Herman Geuvers
It is well-known, due to the work of Girard and Coquand, that adding polymorphic domains to higher order logic, HOL, or its type theoretic variant HOL, renders the logic inconsistent. This is known as Girard’s paradox, see [4]. But there is also another presentation of higher order logic, in its type theoretic variant called PRED, to which polymorphic domains can be added safely, Both HOL and PRED are well-known type systems and in this paper we study why HOL with polymorphic domains is inconsistent and why nd PRED with polymorphic domains remains consistent. We do this by describing a simple model for the latter and we show why this can not be a model of the first.
Pp. 140-159
Constructive Type Classes in Isabelle
Florian Haftmann; Makarius Wenzel
We reconsider the well-known concept of Haskell-style type classes within the logical framework of Isabelle. So far, axiomatic type classes in Isabelle merely account for the logical aspect as predicates over types, while the operational part is only a convention based on raw overloading. Our more elaborate approach to constructive type classes provides a seamless integration with Isabelle locales, which are able to manage both operations and logical properties uniformly. Thus we combine the convenience of type classes and the flexibility of locales. Furthermore, we construct dictionary terms derived from notions of the type system. This additional internal structure provides satisfactory foundations of type classes, and supports further applications, such as code generation and export of theories and theorems to environments without type classes.
Pp. 160-174
Zermelo’s Well-Ordering Theorem in Type Theory
Danko Ilik
Taking a ‘set’ to be a type together with an equivalence relation and adding an extensional choice axiom to the logical framework (a restricted version of constructive type theory) it is shown that any ‘set’ can be well-ordered. Zermelo’s first proof from 1904 is followed, with a simplification to avoid using comparability of well-orderings. The proof has been formalised in the system AgdaLight.
Pp. 175-187
A Finite First-Order Theory of Classes
Florent Kirchner
We expose a formalism that allows the expression of any theory with one or more axiom schemes using a finite number of axioms. These axioms have the property of being easily orientable into rewrite rules. This allows us to give finite first-order axiomatizations of arithmetic and real fields theory, and a presentation of arithmetic in deduction modulo that has a finite number of rewrite rules. Overall, this formalization relies on a weak calculus of explicit substitutions to provide a simple and finite framework.
Pp. 188-202
Coinductive Correctness of Homographic and Quadratic Algorithms for Exact Real Numbers
Milad Niqui
In this article we present a method for formally proving the correctness of the lazy algorithms for computing homographic and quadratic transformations — of which field operations are special cases— on a representation of real numbers by coinductive streams. The algorithms work on coinductive stream of Möbius maps and form the basis of Edalat–Potts exact real arithmetic. We build upon our earlier work of formalising the homographic and quadratic algorithms in constructive type theory via general corecursion. Based on the notion of equations for general corecursive definitions we prove by coinduction the correctness of the algorithms. We use the machinery of the proof assistant for coinductive types to present the formalisation. The material in this article is fully formalised in the proof assistant.
Pp. 203-220
Using Intersection Types for Cost-Analysis of Higher-Order Polymorphic Functional Programs
Hugo R. Simões; Kevin Hammond; Mário Florido; Pedro Vasconcelos
This paper presents a system of cost derivation for higher-order and polymorphic functional programs based on a notion of sized types and exploiting a type-and-effect system approach. The paper gives an operational semantics of cost for a simple strict functional language in terms of -calculus -reduction steps and introduces type rules describing cost effects. The type system is based on intersection types. The use of discrete polymorphism (intersection types) instead of the usual parametric polymorphism approach improves the analysis and solves, in many cases, the “size aliasing problem” that has been identified as a limitation on previous type-and-effect approaches. Finally we provide a proof of the soundness of our effect system with respect to the cost semantics.
Pp. 221-236
Subset Coercions in
Matthieu Sozeau
We propose a new language for writing programs with dependent types on top of the proof assistant. This language permits to establish a phase distinction between writing and proving algorithms in the environment. Concretely, this means allowing to write algorithms as easily as in a practical functional programming language whilst giving them as rich a specification as desired and proving that the code meets the specification using the whole proof apparatus. This is achieved by extending conversion to an equivalence which relates types and subsets based on them, a technique originating from the “” feature of PVS and following mathematical convention. The typing judgements can be translated to the (CIC) by means of an interpretation which inserts coercions at the appropriate places. These coercions can contain existential variables representing the propositional parts of the final term, corresponding to proof obligations (or PVS type-checking conditions). A prototype implementation of this process is integrated with the environment.
Pp. 237-252
A Certified Distributed Security Logic for Authorizing Code
Nathan Whitehead
In previous work we have proposed a distributed security logic for authorizing code. To gain assurance about the correctness of the implementation of our system, we now present a series of security logics of increasing expressive power leading up to our logic. We encode each logic in Coq, develop an algorithm for deciding queries, and prove properties about the algorithm in Coq. By using Coq’s automatic extraction mechanism, we are able to gain a high assurance about the resulting reference monitor implementations. Following this strategy yields reference monitors fully certified at the source code level for Datalog, Binder, Binder with a general extension mechanism, and a logic that combines Binder and the calculus of co-inductive constructions.
Pp. 253-268