Results 11 - 20
of
20
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...
First Steps Into Metapredicativity in Explicit Mathematics
, 1999
"... The system EMU of explicit mathematics incorporates the uniform construction of universes. In this paper we give a proof-theoretic treatment of EMU and show that it corresponds to transfinite hierarchies of fixed points of positive arithmetic operators, where the length of these fixed point hierarc ..."
Abstract
-
Cited by 4 (1 self)
- Add to MetaCart
The system EMU of explicit mathematics incorporates the uniform construction of universes. In this paper we give a proof-theoretic treatment of EMU and show that it corresponds to transfinite hierarchies of fixed points of positive arithmetic operators, where the length of these fixed point hierarchies is bounded by # 0 . 1 Introduction Metapredicativity is a new general term in proof theory which describes the analysis and study of formal systems whose proof-theoretic strength is beyond the Feferman-Schutte ordinal # 0 but which are nevertheless amenable to purely predicative methods. Typical examples of formal systems which are apt for scaling the initial part of metapredicativity are the transfinitely iterated fixed point theories # ID # whose detailed proof-theoretic analysis is given by Jager, Kahle, Setzer and Strahm in [18]. In this paper we assume familiarity with [18]. For natural extensions of Friedman's ATR that can be measured against transfinitely iterated fixed point ...
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 set-theoretical 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 set-theoretical 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 late-binding. Further, our work provides a first example of an application of power types in explicit mathematics. Keywords: Object-oriented constructs, type structure, proof theory. 1 Introduction Overloading is an important concept in object-oriented 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 Non-Termination 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 Late-Binding
, 1999
"... Up to now there was no interpretation available for -calculi featuring overloading and late-binding, although these are two of the main principles of any object-oriented 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 late-binding, although these are two of the main principles of any object-oriented programming language. In this paper we provide a new semantics for a stratied version of Castagna's fg , a -calculus combining overloading with late-binding. The model-construction is carried out in EETJ + (Tot) + (F-I N ), a system of explicit mathematics. We will prove the soundness of our model with respect to subtyping, type-checking 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, late-binding, loss of information. 1 Introduction Polymorphism is one of the concepts to which the object-oriented 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 call-by-value 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 call-by-value 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 effects---creating 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...

