Results 11  20
of
23
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 ...
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
On the Proof Theory of Applicative Theories
 PHD THESIS, INSTITUT FÜR INFORMATIK UND ANGEWANDTE MATHEMATIK, UNIVERSITÄT
, 1996
"... ..."
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.
Formal Specification and Verification for Critical Systems: Tools, Achievements, and Prospects
"... Abstract Formal specification and verification use mathematical techniques to help document, specify, design, analyze, or certify computer software and hardware. Mathematicallybased notation can provide specifications that are precise and unambiguous and that can be checked mechanically for certain ..."
Abstract
 Add to MetaCart
Abstract Formal specification and verification use mathematical techniques to help document, specify, design, analyze, or certify computer software and hardware. Mathematicallybased notation can provide specifications that are precise and unambiguous and that can be checked mechanically for certain types of error. Formal verification uses theorem proving techniques to establish consistency between one level of formal specification and another. This paper describes some of the issues in the design and use of formal specification languages and verification systems, outlines some examples of the application of formal methods to critical systems, and identifies the benefits that may be obtained from this technology.
Formal Specification and Verification for Critical Systems: Tools, Achievements, and Prospects
, 1991
"... Formal specification and verification use mathematical techniques to help document, specify, design, analyze, or certify computer software and hardware. Mathematicallybased notation can provide specifications that are precise and unambiguous and that can be checked mechanically for certain types ..."
Abstract
 Add to MetaCart
Formal specification and verification use mathematical techniques to help document, specify, design, analyze, or certify computer software and hardware. Mathematicallybased notation can provide specifications that are precise and unambiguous and that can be checked mechanically for certain types of error. Formal verification uses theorem proving techniques to establish consistency between one level of formal specification and another. This paper describes some of the issues in the design and use of formal specification languages and verification systems, outlines some examples of the application of formal methods to critical systems, and identifies the benefits that may be obtained from this technology. 1 Introduction Formal specification and verification are examples of what are often called formal methods in computer science. And formal methods are simply those that use mathematical techniques to help document, specify, design, analyze, or certify computer software and ha...
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...