Results 11 
19 of
19
A First Order Logic of Effects
 Theoretical Computer Science
, 1996
"... In this paper we describe some of our progress towards an operational implementation of a modern programming logic. The logic is inspired by the variable type systems of Feferman, and is designed for reasoning about imperative functional programs. The logic goes well beyond traditional programming l ..."
Abstract

Cited by 4 (0 self)
 Add to MetaCart
In this paper we describe some of our progress towards an operational implementation of a modern programming logic. The logic is inspired by the variable type systems of Feferman, and is designed for reasoning about imperative functional programs. The logic goes well beyond traditional programming logics, such as Hoare's logic and Dynamic logic in its expressibility, yet is less problematic to encode into higher order logics. The main focus of the paper is too present an axiomatization of the base first order theory. 1 Introduction VTLoE [34, 23, 35, 37, 24] is a logic for reasoning about imperative functional programs, inspired by the variable type systems of Feferman. These systems are two sorted theories of operations and classes initially developed for the formalization of constructive mathematics [12, 13] and later applied to the study of purely functional languages [14, 15]. VTLoE builds upon recent advances in the semantics of languages with effects [16, 19, 28, 32, 33] and go...
Impredicative Overloading in Explicit Mathematics
, 2000
"... In this article we introduce the system OTN of explicit mathematics based on elementary separation, product, join and weak power types. We present a settheoretical model for OTN, and we develop in OTN a theory of impredicative overloading. Together this yields a solution to the problem of impredica ..."
Abstract

Cited by 2 (2 self)
 Add to MetaCart
In this article we introduce the system OTN of explicit mathematics based on elementary separation, product, join and weak power types. We present a settheoretical model for OTN, and we develop in OTN a theory of impredicative overloading. Together this yields a solution to the problem of impredicativity encountered in denotational semantics for overloading and latebinding. Further, our work provides a first example of an application of power types in explicit mathematics. Keywords: Objectoriented constructs, type structure, proof theory. 1 Introduction Overloading is an important concept in objectoriented programming. For example, it occurs when a method is redefined in a subclass or when a class provides several methods with the same name but with di#erent argument types. Theoretically speaking, overloading denotes the possibility that several functions f i with respective types S i # T i may be combined to a new overloaded function f of type {S i # T i } i#I . We then ...
Design Choices in Specification Languages and Verification Systems
, 1991
"... We describe some of the design choices that should be considered in the development and application of specification languages and verification systems. A principal issue is the need to reconcile the desire for expressiveness in the specification language with the ability to provide effective mechan ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
We describe some of the design choices that should be considered in the development and application of specification languages and verification systems. A principal issue is the need to reconcile the desire for expressiveness in the specification language with the ability to provide effective mechanical support. We argue that this reconciliation is assisted by a novel approach to specification language design that requires theorem proving to be used during typechecking.
On the Proof Theory of Applicative Theories
 PHD THESIS, INSTITUT FÜR INFORMATIK UND ANGEWANDTE MATHEMATIK, UNIVERSITÄT
, 1996
"... ..."
Formalizing NonTermination of Recursive Programs
 J. of Logic and Algebraic Programming
, 2001
"... In applicative theories the recursion theorem provides a term rec which solves recursive equations. However, it is not provable that a solution obtained by rec is minimal. In the present paper we introduce an applicative theory in which it is possible to dene a least xed point operator. Still, o ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
In applicative theories the recursion theorem provides a term rec which solves recursive equations. However, it is not provable that a solution obtained by rec is minimal. In the present paper we introduce an applicative theory in which it is possible to dene a least xed point operator. Still, our theory has a standard recursion theoretic interpretation. 1
A Semantics for ...: A Calculus With Overloading and LateBinding
, 1999
"... Up to now there was no interpretation available for calculi featuring overloading and latebinding, although these are two of the main principles of any objectoriented programming language. In this paper we provide a new semantics for a stratied version of Castagna's fg , a calculus combini ..."
Abstract
 Add to MetaCart
Up to now there was no interpretation available for calculi featuring overloading and latebinding, although these are two of the main principles of any objectoriented programming language. In this paper we provide a new semantics for a stratied version of Castagna's fg , a calculus combining overloading with latebinding. The modelconstruction is carried out in EETJ + (Tot) + (FI N ), a system of explicit mathematics. We will prove the soundness of our model with respect to subtyping, typechecking and reductions. Furthermore, we show that our semantics yields a solution to the problem of loss of information in the context of type dependent computations. Keywords: Explicit mathematics, typed calculus, overloading, latebinding, loss of information. 1 Introduction Polymorphism is one of the concepts to which the objectoriented paradigm owes its power. The distinction is made between parametric (or universal) and \ad hoc" polymorphism. Using parametric polymorp...
Explanation and Justification of Proposed Expenditures
"... Syntax. Proving properties of programming languages, for example type soundness, can involve enormous amounts of detailed formal reasoning. Theorem provers can be advantageous for this kind of task. Properties like these involve formalizing the abstract syntax of the programming language in the logi ..."
Abstract
 Add to MetaCart
Syntax. Proving properties of programming languages, for example type soundness, can involve enormous amounts of detailed formal reasoning. Theorem provers can be advantageous for this kind of task. Properties like these involve formalizing the abstract syntax of the programming language in the logic of the prover. Conventional formalizations of variablebinding have turned out to be unwieldy in practice, and so there has been a great deal of interest in a higher order representation of syntax [8], where functions in the logic are used to represent binding. It is currently an open problem to find a tractable way to do this that also allows structural induction over abstract syntax. We will investigate using a logic like IOC for this. We will exploit the idea of parametricity and will adapt ideas from, e.g. [4]. Reflection. Reflecting the logic of a theorem prover in itself has appealing applications to automated reasoning. Some of these are outlined in [1], where we describe a useful r...
Copyright C
"... Traditionally the view has been that direct expression of control and store mechanisms and clear mathematical semantics are incompatible requirements. This paper shows that adding objects with memory to the callbyvalue lambda calculus results in a language with a rich equational theory, satisfying ..."
Abstract
 Add to MetaCart
Traditionally the view has been that direct expression of control and store mechanisms and clear mathematical semantics are incompatible requirements. This paper shows that adding objects with memory to the callbyvalue lambda calculus results in a language with a rich equational theory, satisfying many of the usual laws. Combined with other recent work this provides evidence that expressive, mathematically clean programming languages are indeed possible. 1. Overview Real programs have effectscreating new structures, examining and modifying existing structures, altering flow of control, etc. Such facilities are important not only for optimization, but also for communication, clarity, and simplicity in programming. Thus it is important to be able to reason both informally and formally about programs with effects, and not to sweep effects either to the side or under the store parameter rug. Recent work of Talcott, Mason, Felleisen, and Moggi establishes a mathematical foundation for...