Results 21  30
of
37
Inheritance of Proofs
, 1996
"... The CurryHoward isomorphism, a fundamental property shared by many type theories, establishes a direct correspondence between programs and proofs. This suggests that the same structuring principles that ease programming be used to simplify proving as well. To exploit objectoriented structuring me ..."
Abstract

Cited by 4 (0 self)
 Add to MetaCart
The CurryHoward isomorphism, a fundamental property shared by many type theories, establishes a direct correspondence between programs and proofs. This suggests that the same structuring principles that ease programming be used to simplify proving as well. To exploit objectoriented structuring mechanisms for verification, we extend the objectmodel of Pierce and Turner, based on the higher order typed calculus F ! , with a proof component. By enriching the (functional) signature of objects with a specification, the methods and their correctness proofs are packed together in the objects. The uniform treatment of methods and proofs gives rise in a natural way to objectoriented proving principles  including inheritance of proofs, late binding of proofs, and encapsulation of proofs  as analogues to objectoriented programming principles. We have used Lego, a typetheoretic proof checker, to explore the feasibility of this approach. In particular, we have verified a small hier...
Polytypic Abstraction in Type Theory
 Informal Proceedings of Workshop on Generic Programming (WGP98). Marstrand
, 1998
"... ion in Type Theory H. Pfeifer and H. Rueß Universitat Ulm Fakultat fur Informatik D89069 Ulm, Germany fpfeifer,ruessg@informatik.uniulm.de Abstract. This paper is concerned with formalizations and verifications in type theory that are abstracted with respect to a large class of datatypes; i.e po ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
ion in Type Theory H. Pfeifer and H. Rueß Universitat Ulm Fakultat fur Informatik D89069 Ulm, Germany fpfeifer,ruessg@informatik.uniulm.de Abstract. This paper is concerned with formalizations and verifications in type theory that are abstracted with respect to a large class of datatypes; i.e polytypic formalizations. The main advantage of these developments are that they can not only be used to polytypically define functions but also to formally state polytypic theorems and to interactively develop polytypic proofs using existing proof editors. Polytypic program and proof construction in a typetheoretic setting is exemplified by the definition of a polytypic map function and by mechanized proofs of corresponding properties such as preservation of composition and fusion theorems. 1 Introduction Many functional programming languages provide a predefined map functional on the list datatype. Applying this functional to a function f and a source list l yields a target list obtained b...
A higherorder simulation relation for System F
 Proc. 3rd Intl. Conf. on Foundations of Software Science and Computation Structures. ETAPS 2000
, 2000
"... The notion of data type specification refinement is discussed in a setting of System F and the logic for parametric polymorphism of Plotkin and Abadi. At first order, one gets a notion of specification refinement up to observational equivalence in the logic simply by using Luo's formalism. This pap ..."
Abstract

Cited by 2 (2 self)
 Add to MetaCart
The notion of data type specification refinement is discussed in a setting of System F and the logic for parametric polymorphism of Plotkin and Abadi. At first order, one gets a notion of specification refinement up to observational equivalence in the logic simply by using Luo's formalism. This paper generalises this notion to abstract data types whose signatures contain higherorder and polymorphic functions. At higher order, the tight connection in the logic between the existence of a simulation relation and observational equivalence ostensibly breaks down. We show that an alternative notion of simulation relation is suitable. This also gives a simulation relation in the logic that composes at higher order, thus giving a syntactic logical counterpart to recent advances on the semantic level.
Parametricity as Isomorphism
 Theoretical Computer Science
, 1993
"... . We investigate a simple form of parametricity, based on adding "abstract" copies of preexisting types. Connections are made with the ReynoldsMa theory of parametricity by logical relations, with the theory of parametricity via dinaturality, and with the categorical notion of equivalence. Introdu ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
. We investigate a simple form of parametricity, based on adding "abstract" copies of preexisting types. Connections are made with the ReynoldsMa theory of parametricity by logical relations, with the theory of parametricity via dinaturality, and with the categorical notion of equivalence. Introduction In his fundamental paper on the notion of parametricity in connection with type theories [Rey83], John Reynolds links the notion of parametricity firmly to the notion of data abstraction. This, unlike Strachey's earlier characterization via algorithm reuse, is a needdriven analysis. We need things to be parametric because otherwise our data abstractions will no longer be abstract. In his subsequent paper with Ma [MR91], two further points are made. One is that the problems reside more at the level of parametrized types than at the level of the quantified polymorphic types, and the other is that the notion of parametricity is not absolute, but relative. The MaReynolds work produces ...
Categorical Properties of Logical Frameworks
, 1993
"... In this paper we give a new presentation of ELF which is wellsuited for semantic analysis. We introduce the notions of internal codability, internal definability, internal typed calculi and frame languages. These notions are central to our perspective of logical frameworks. We will argue that a ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
In this paper we give a new presentation of ELF which is wellsuited for semantic analysis. We introduce the notions of internal codability, internal definability, internal typed calculi and frame languages. These notions are central to our perspective of logical frameworks. We will argue that a logical framework is a typed calculus which formalizes the relationship between internal typed languages and frame languages. In the second half of the paper, we demonstrate the advantage of our logical framework by showing some categorical properties of it and of encodings in it. By doing so we hope to indicate a sensible model theory of encodings. Copyright c fl1993. All rights reserved. Reproduction of all or part of this work is permitted for educational or research purposes on condition that (1) this copyright notice is included, (2) proper attribution to the author or authors is made and (3) no commercial gain is involved. Technical Reports issued by the Department of Computer Sc...
Specification Refinement with System F, The HigherOrder Case
, 2000
"... . A typetheoretic counterpart to the notion of algebraic specification refinement is discussed for abstract data types with higherorder signatures. The typetheoretic setting consists of System F and the logic for parametric polymorphism of Plotkin and Abadi. For firstorder signatures, this setti ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
. A typetheoretic counterpart to the notion of algebraic specification refinement is discussed for abstract data types with higherorder signatures. The typetheoretic setting consists of System F and the logic for parametric polymorphism of Plotkin and Abadi. For firstorder signatures, this setting immediately gives a natural notion of specification refinement up to observational equivalence via the notion of simulation relation. Moreover, a proof strategy for proving observational refinements formalised by Bidoit, Hennicker and Wirsing can be soundly imported into the type theory. In lifting these results to the higherorder case, we find it necessary firstly to develop an alternative simulation relation and secondly to extend the parametric PERmodel interpretation, both in such a way as to observe data type abstraction barriers more closely. 1 Introduction One framework in algebraic specification that has particular appeal and applicability is that of stepwise specification refi...
Encodings In Polymorphism, revisited
, 1992
"... We consider encodings in polymorphism with finite product types. These encodings are given in terms of Ialgebras. They have the property that all canonical terms (ground terms) are normal terms. We transplant the proof of a wellknown result to our setting and show why weak recursion is admissible. ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
We consider encodings in polymorphism with finite product types. These encodings are given in terms of Ialgebras. They have the property that all canonical terms (ground terms) are normal terms. We transplant the proof of a wellknown result to our setting and show why weak recursion is admissible. We also show how to carry out the dual encodings using the existential quantifier. Copyright c fl1993. All rights reserved. Reproduction of all or part of this work is permitted for educational or research purposes on condition that (1) this copyright notice is included, (2) proper attribution to the author or authors is made and (3) no commercial gain is involved. Technical Reports issued by the Department of Computer Science, Manchester University, are available by anonymous ftp from m1.cs.man.ac.uk (130.88.13.4) in the directory /pub/TR. The files are stored as PostScript, in compressed form, with the report number as filename. Alternatively, reports are available by post from The Comput...
Imagining CLP(Λ,≡αβ)
, 1995
"... . We study under which conditions the domain of terms () and the equality theory of the calculus (j fffi ) form the basis of a usable constraint logic programming language (CLP). The conditions are that the equality theory must contain axiom j, and the formula language must depart from Horn clause ..."
Abstract
 Add to MetaCart
. We study under which conditions the domain of terms () and the equality theory of the calculus (j fffi ) form the basis of a usable constraint logic programming language (CLP). The conditions are that the equality theory must contain axiom j, and the formula language must depart from Horn clauses and accept universal quantifications and implications in goals. In short, CLP(, j fffi ) must be close to Prolog. 1 Introduction Logic programming is a programming paradigm in which programs are logical formulas, and executing them amounts to search for a proof. The most famous practical incarnation of logic programming is Prolog, which is based on Horn formulas [31]. The formalism of Horn programs is computationally complete [1, 49], but one has often tried to augment it to gain more flexibility and expressivity. One of these attempts is the paradigm of constraint logic programming [11, 27, 10, 50]. It amounts to replacing unification of firstorder terms, considered as a procedure for s...
Incremental Inference of Partial Types
"... We present a type inference procedure for partial types for a calculus equipped with datatypes. Our procedure handles a type languages containing greatest and lesser types (! and ? respectively), subtyping, and datatypes (yielding constants at the level of terms). The main feature of our algori ..."
Abstract
 Add to MetaCart
We present a type inference procedure for partial types for a calculus equipped with datatypes. Our procedure handles a type languages containing greatest and lesser types (! and ? respectively), subtyping, and datatypes (yielding constants at the level of terms). The main feature of our algorithm is incrementality; this allows us to progressively analyse successive term denitions, which is of interest in the setting of a system like the CuCh machine (cuurently being developped at the University of Rome). The methods we describe have led to an implemention; we illustrate its use on a few examples. 1 Introduction This paper focuses on the problem of type inference for partial types. Partial types have been introduced in [Tha94] (following [Gom90]), to describe some terms that are usually considered as illtyped in a classical setting. Examples of such terms are autoapplications (e.g. x: (x x)), or polymorphic lists (e.g. [true; f x: (f x)]). In partial types, the langua...