Results 1  10
of
29
Parametric Polymorphism and Operational Equivalence
 MATHEMATICAL STRUCTURES IN COMPUTER SCIENCE
, 2000
"... Studies of the mathematical properties of impredicative polymorphic types have for the most part focused on the polymorphic lambda calculus of Girard–Reynolds, which is a calculus of total polymorphic functions. This paper considers polymorphic types from a functional programming perspective, where ..."
Abstract

Cited by 74 (2 self)
 Add to MetaCart
Studies of the mathematical properties of impredicative polymorphic types have for the most part focused on the polymorphic lambda calculus of Girard–Reynolds, which is a calculus of total polymorphic functions. This paper considers polymorphic types from a functional programming perspective, where the partialness arising from the presence of fixpoint recursion complicates the nature of potentially infinite (‘lazy’) data types. An approach to Reynolds' notion of relational parametricity is developed that works directly on the syntax of a programming language, using a novel closure operator to relate operational behaviour to parametricity properties of types. Working with an extension of Plotkin's PCF with ∀types, lazy lists and existential types, we show by example how the resulting logical relation can be used to prove properties of polymorphic types up to operational equivalence.
Classical Logic and Computation
, 2000
"... This thesis contains a study of the proof theory of classical logic and addresses the problem of giving a computational interpretation to classical proofs. This interpretation aims to capture features of computation that go beyond what can be expressed in intuitionisticlogic. We introduce several ..."
Abstract

Cited by 59 (7 self)
 Add to MetaCart
This thesis contains a study of the proof theory of classical logic and addresses the problem of giving a computational interpretation to classical proofs. This interpretation aims to capture features of computation that go beyond what can be expressed in intuitionisticlogic. We introduce several strongly normalising cutelimination procedures for classicallogic. Our procedures are less restrictive than previous strongly normalising procedures, while at the same time retaining the strong normalisation property, which various standardcutelimination procedures lack. In order to apply proof techniques from term rewriting, including symmetric reducibility candidates and recursive path ordering, we develop termannotations for sequent proofs of classical logic. We then present a sequenceconclusion natural deduction calculus for classical logicand study the correspondence between cutelimination and normalisation. In contrast to earlier work, which analysed this correspondence in various fragments of intuitionisticlogic, we establish the correspondence in classical logic. Finally, we study applications of cutelimination. In particular, we analyse severalclassical proofs with respect to their behaviour under cutelimination. Because our cutelimination procedures impose fewer constraints than previous procedures, we are ableto show how a fragment of classical logic can be seen as a typing system for the simplytyped lambda calculus extended with an erratic choice operator. As a pleasing consequence, we can give a simple computational interpretation to Lafont's example.
Runtime Principals in Informationflow Type Systems
 In IEEE Symposium on Security and Privacy
, 2004
"... for enforcing strong endtoend confidentiality and integrity policies. Such policies, however, are usually specified in term of static informationdata is labeled high or low security at compile time. In practice, the confidentiality of data may depend on information available only while the sys ..."
Abstract

Cited by 54 (10 self)
 Add to MetaCart
for enforcing strong endtoend confidentiality and integrity policies. Such policies, however, are usually specified in term of static informationdata is labeled high or low security at compile time. In practice, the confidentiality of data may depend on information available only while the system is running This paper studies language support for runtime principals, a mechanism for specifying informationflow security policies that depend on which principals interact with the system. We establish the basic property of noninterference for programs written in such language, and use runtime principals for specifying runtime authority in downgrading mechanisms such as declassification.
Relational interpretations of recursive types in an operational setting
 Information and Computation
, 1997
"... Submitted for publication to Information and Computation. A summary of this paper appeared in TACS '97. ..."
Abstract

Cited by 34 (3 self)
 Add to MetaCart
Submitted for publication to Information and Computation. A summary of this paper appeared in TACS '97.
Existential Types: Logical Relations and Operational Equivalence
 In Proceedings of the 25th International Colloquium on Automata, Languages and Programming
, 1998
"... . Existential types have proved useful for classifying various kinds of information hiding in programming languages, such as occurs in abstract datatypes and objects. In this paper we address the question of when two elements of an existential type are semantically equivalent. Of course, it depends ..."
Abstract

Cited by 31 (2 self)
 Add to MetaCart
. Existential types have proved useful for classifying various kinds of information hiding in programming languages, such as occurs in abstract datatypes and objects. In this paper we address the question of when two elements of an existential type are semantically equivalent. Of course, it depends what one means by `semantic equivalence'. Here we take a syntactic approachso semantic equivalence will mean some kind of operational equivalence. The paper begins by surveying some of the literature on this topic involving `logical relations'. Matters become quite complicated if the programming language mixes existential types with function types and features involving nontermination (such as recursive definitions). We give an example (suggested by Ian Stark) to show that in this case the existence of suitable relations is sufficient, but not necessary for proving operational equivalences at existential types. Properties of this and other examples are proved using a new form of operatio...
SemanticsDriven Language Design: Statically TypeSafe Virtual Types in ObjectOriented Languages
 IN ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE
, 1999
"... The virtual class [15] construct was first introduced in the language Beta to provide added expressiveness when used with inheritance. Unfortunately, the virtual class construct in Beta is not statically typesafe. In this paper we show how a generalization of the semantics of objectoriented langua ..."
Abstract

Cited by 26 (3 self)
 Add to MetaCart
The virtual class [15] construct was first introduced in the language Beta to provide added expressiveness when used with inheritance. Unfortunately, the virtual class construct in Beta is not statically typesafe. In this paper we show how a generalization of the semantics of objectoriented languages with a MyType construct leads to a variant of virtual classes which needs no runtime checks. This results in an objectoriented language in which both parametric types and virtual classes (or types) are wellintegrated, and which is statically typesafe.
A Formal Semantics for OCL 1.4
 In Gogolla and Kobryn [9
"... Abstract. The OCL 1.4 specification introduces letdeclarations for adding auxiliary class features in static structures of the UML. We provide a type inference system and a bigstep operational semantics for the OCL 1.4 that treat UML static structures and UML object models abstractly and accommoda ..."
Abstract

Cited by 9 (1 self)
 Add to MetaCart
Abstract. The OCL 1.4 specification introduces letdeclarations for adding auxiliary class features in static structures of the UML. We provide a type inference system and a bigstep operational semantics for the OCL 1.4 that treat UML static structures and UML object models abstractly and accommodate for additional declarations; the operational semantics satisfies a subject reduction property with respect to the type inference system. We also discuss an alternative, nonoperational interpretation of letdeclarations as constraints. 1
Refinement Types for Specification
 IFIP Working Conference on Programming Concepts and Methods (PROCOMET ’98), Shelter Island
, 1998
"... We develop a theory of program specification using the notion of refinement type. This provides a notion of structured specification, useful for verification and program development. We axiomatise the satisfaction of specifications by programs as a generalised typing relation and give rules for refi ..."
Abstract

Cited by 9 (2 self)
 Add to MetaCart
We develop a theory of program specification using the notion of refinement type. This provides a notion of structured specification, useful for verification and program development. We axiomatise the satisfaction of specifications by programs as a generalised typing relation and give rules for refining specifications. A per semantics based on Henkin models is given, for which the system is proven to be sound and complete. Keywords Specification, refinement, verification, type theory, Henkin models 1
An Encompassing Framework for Paraconsistent Logic Programs
 J. Applied Logic
, 2003
"... We propose a framework which extends Antitonic Logic Programs [13] to an arbitrary complete bilattice of truthvalues, where belief and doubt are explicitly represented. Inspired by Ginsberg and Fitting 's bilattice approaches, this framework allows a precise de nition of important operators fo ..."
Abstract

Cited by 9 (5 self)
 Add to MetaCart
We propose a framework which extends Antitonic Logic Programs [13] to an arbitrary complete bilattice of truthvalues, where belief and doubt are explicitly represented. Inspired by Ginsberg and Fitting 's bilattice approaches, this framework allows a precise de nition of important operators found in logic programming, such as explicit and default negation. In particular, it leads to a natural semantical integration of explicit and default negation through the Coherence Principle [38], according to which explicit negation entails default negation. We then de ne Coherent Answer Sets, and the Paraconsistent Wellfounded Model semantics, generalising many paraconsistent semantics for logic programs. In particular, Paraconsistent WellFounded Semantics with eXplicit negation (WFSXp ) [3, 11]. The framework is an extension of Antitonic Logic Programs for most cases, and is general enough to capture Probabilistic Deductive Databases, Possibilistic Logic Programming, Hybrid Probabilistic Logic Programs, and Fuzzy Logic Programming. Thus, we have a powerful mathematical formalism for dealing simultaneously with default, paraconsistency, and uncertainty reasoning. Results are provided about how our semantical framework deals with inconsistent information and with its propagation by the rules of the program.
On the unusual effectiveness of Logic in computer science
 Bulletin of Symbolic Logic
"... Effectiveness of Mathematics in the Natural Sciences [Wig60]. This paper can be construed as an examination and affirmation of Galileo’s tenet that “The book of nature is written in the language of mathematics”. To this effect, Wigner presented a large number of examples that demonstrate the effecti ..."
Abstract

Cited by 7 (0 self)
 Add to MetaCart
Effectiveness of Mathematics in the Natural Sciences [Wig60]. This paper can be construed as an examination and affirmation of Galileo’s tenet that “The book of nature is written in the language of mathematics”. To this effect, Wigner presented a large number of examples that demonstrate the effectiveness of