Results 1 
5 of
5
A Variable Typed Logic of Effects
 Information and Computation
, 1993
"... In this paper we introduce a variable typed logic of effects inspired by the variable type systems of Feferman for purely functional languages. VTLoE (Variable Typed Logic of Effects) is introduced in two stages. The first stage is the firstorder theory of individuals built on assertions of equalit ..."
Abstract

Cited by 48 (12 self)
 Add to MetaCart
In this paper we introduce a variable typed logic of effects inspired by the variable type systems of Feferman for purely functional languages. VTLoE (Variable Typed Logic of Effects) is introduced in two stages. The first stage is the firstorder theory of individuals built on assertions of equality (operational equivalence `a la Plotkin), and contextual assertions. The second stage extends the logic to include classes and class membership. The logic we present provides an expressive language for defining and studying properties of programs including program equivalences, in a uniform framework. The logic combines the features and benefits of equational calculi as well as program and specification logics. In addition to the usual firstorder formula constructions, we add contextual assertions. Contextual assertions generalize Hoare's triples in that they can be nested, used as assumptions, and their free variables may be quantified. They are similar in spirit to program modalities in ...
Reasoning about Object Systems in VTLoE
, 1994
"... VTLoE (Variable Type Logic of Effects) is a logic for reasoning about imperative functional programs inspired by the variable type systems of Feferman. The underlying programming language, mk , extends the callbyvalue lambda calculus with primitives for arithmetic, pairing, branching, and refere ..."
Abstract

Cited by 11 (3 self)
 Add to MetaCart
VTLoE (Variable Type Logic of Effects) is a logic for reasoning about imperative functional programs inspired by the variable type systems of Feferman. The underlying programming language, mk , extends the callbyvalue lambda calculus with primitives for arithmetic, pairing, branching, and reference cells (mutable data). In VTLoE one can reason about program equivalence and termination, input/output relations, program contexts, and inductively (and coinductively) define data structures. In this paper we present a refinement of VTLoE. We then introduce a notion of object specification and establish formal principles for reasoning about object systems within VTLoE. Objects are selfcontained entities with local state. The local state of an object can only be changed by action of that object in response to a message. In mk objects are represented as closures with mutable data bound to local variables. A semantic principle called simulation induction was introduced in our earlier wor...
Program Transformation via Contextual Assertions
 In Logic, Language and Computation. Festschrift in Honor of Satoru Takasu
, 1994
"... . In this paper we describe progress towards a theory of tranformational program development. The transformation rules are based on a theory of contextual equivalence for functional languages with imperative features. Such notions of equivalence are fundamental for the process of program specificati ..."
Abstract

Cited by 7 (4 self)
 Add to MetaCart
. In this paper we describe progress towards a theory of tranformational program development. The transformation rules are based on a theory of contextual equivalence for functional languages with imperative features. Such notions of equivalence are fundamental for the process of program specification, derivation, transformation, refinement and other forms of code generation and optimization. This paper is dedicated to Professor Satoru Takasu. 1 Introduction This paper describes progress towards a theory of program development by systematic refinement beginning with a clean simple program thought of as a specification. Transformations include reuse of storage, and rerepresentation of abstract data. The transformation rules are based on a theory of constrained equivalence for functional languages with imperative features (i.e. Lisp, Scheme or ML). Such notions of equivalence are fundamental for the process of program specification, derivation, transformation, refinement, and other for...
An Operational Logic of Effects
 In Proceedings of the Australasian Theory Symposium, CATS ’96
, 1996
"... In this paper we describe 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, s ..."
Abstract

Cited by 5 (2 self)
 Add to MetaCart
In this paper we describe 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 higherorder logics. The main focus of the paper is too present an axiomatization of the base firstorder theory, and an implementation of the logic into the generic proof assistant Isabelle. We also indicate the directions of our current research to blend these two advances into an operational whole. Keywords semantics, logic, derivation, verification, specification, theorem proving. 1 Introduction In this paper we continue the investigations into a Variable Typed Logic of Effects that began in [20, 11, 21, 23, 12]. In particular we present an axiomatization of the base firstorder theory...
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...