Results 11 - 20
of
20
Unfolding abstract datatypes
- In MPC ’08: Proceedings of the 9th international conference on Mathematics of Program Construction
, 2008
"... Abstract. We argue that abstract datatypes — with public interfaces hiding private implementations — represent a form of codata rather than ordinary data, and hence that proof methods for corecursive programs are the appropriate techniques to use for reasoning with them. In particular, we show that ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
Abstract. We argue that abstract datatypes — with public interfaces hiding private implementations — represent a form of codata rather than ordinary data, and hence that proof methods for corecursive programs are the appropriate techniques to use for reasoning with them. In particular, we show that the universal properties of unfold operators are perfectly suited for the task. We illustrate with the solution to a problem in the recent literature. 1
Coinductive proof principles for stochastic processes
- Proc. 21st Symp. Logic in Computer Science (LICS’06
, 2006
"... Vol. 3 (4:8) 2007, pp. 1–14 ..."
Implicit Programming and Computable Optimal Fixed Points
, 1997
"... If a program has a unique solution then programming semantics should return that solution. Optimal fixed points represent this unique solution; that is, if the only choice is between undefined and a specific defined value then we choose the defined value. However, optimal fixed points can be unco ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
If a program has a unique solution then programming semantics should return that solution. Optimal fixed points represent this unique solution; that is, if the only choice is between undefined and a specific defined value then we choose the defined value. However, optimal fixed points can be uncomputable. For this reason they have been relatively underutilized. Here we provide a method which computes the optimal fixed point when it is computable. To do this we use proofs of uniqueness in an extension of intuitionistic logic together with its associated Curry-Howard-De Bruijn isomorphism. Using this correspondence, we extract programs in a confluent strongly normalizable lambda calculus that computes the optimal fixed point of a recursively defined function. When this uniqueness proof exists, the optimal fixed point is computable. We give several examples of where this fixed point gives intuitive answers. This new semantics is especially natural for functions on co-recursivel...
Implicit Programming and the Logic of Constructible Duality
"... ABSTRACT We present an investigation of duality in the traditional logical manner. We extend Nelson's symmetrization of intuitionistic logic, constructible falsity, to a self-dual logic-- constructible duality. We develop a self-dual model by considering an interval of worlds in an intuitionistic Kr ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
ABSTRACT We present an investigation of duality in the traditional logical manner. We extend Nelson's symmetrization of intuitionistic logic, constructible falsity, to a self-dual logic-- constructible duality. We develop a self-dual model by considering an interval of worlds in an intuitionistic Kripke model. The duality arises through how we judge truth and falsity. Truth is judged forward in the Kripke model, as in intuitionistic logic, while falsity is judged backwards. We develop a self-dual algebra such that every point in the algebra is representable by some formula in the logic. This algebra arises as an instantiation of a Heyting algebra into several categorical constructions. In particular, we show that this algebra is an instantiation of the Chu construction applied to a Heyting algebra, the second Dialectica construction applied to a Heyting algebra, and as an algebra for the study of recursion and corecursion. Thus the algebra provides a common base for these constructions, and suggests itself as an important part of any constructive logical treatment of duality. Implicit programming is suggested as a new paradigm for computing with constructible duality as its formal system. We show that all the operators that have computable least fixed points are definable explicitly and all operators with computable optimal fixed points are definable implicitly within constructible duality. Implicit programming adds a novel definitional mechanism that allows functions to be defined implicitly. This new programming feature is especially useful for programming with co-recursively defined data-types such as circular lists. iii DEDICATION To my cousin Jordan Lackey (1963-1995) whose courage with AIDS was an inspiration. iv
A Partial Type Checking Algorithm for Type: Type
"... We analyze a partial type checking algorithm for the inconsistent domain-free pure type system Type:Type (λ∗). We show that the algorithm is sound and partially complete using a coinductive specification of algorithmic equality. This entails that the algorithm will only diverge due to the presence o ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
We analyze a partial type checking algorithm for the inconsistent domain-free pure type system Type:Type (λ∗). We show that the algorithm is sound and partially complete using a coinductive specification of algorithmic equality. This entails that the algorithm will only diverge due to the presence of diverging computations, in particular it will terminate for all typeable terms. Keywords:
Transforming out Timing Leaks
- In Proc. 27th ACM Symp. on Principles of Programming Languages (POPL
, 2000
"... One aspect of security in mobile code is privacy: private (or secret) data should not be leaked to unauthorised agents. Most of the work on secure information flow has until recently only been concerned with detecting direct and indirect flows. Secret information can however be leaked to the att ..."
Abstract
- Add to MetaCart
One aspect of security in mobile code is privacy: private (or secret) data should not be leaked to unauthorised agents. Most of the work on secure information flow has until recently only been concerned with detecting direct and indirect flows. Secret information can however be leaked to the attacker also through covert channels. It is very reasonable to assume that the attacker, even as an external observer, can monitor the timing (including termination) behaviour of the program. Thus to claim a program secure, the security analysis must take also these into account. In this work we present a surprisingly simple solution to the problem of detecting timing leakages to external observers. Our system consists of a type system in which well-typed programs do not leak secret information directly, indirectly or through timing, and a transformation for removing timing leakages. For any program that is well typed according to Volpano and Smith [VS97a], our transformation generates a program that is also free of timing leaks. 1
Relative Equational Specification and Semantics
, 1997
"... Abstract: Standard concepts of initial and final algebra semantics are generalised in a modular hierarchical manner. The resulting relative formalism allows a unified view on the relationship between initial and final algebra semantics and gives a dualised notion of consistency. Using this, a modula ..."
Abstract
- Add to MetaCart
Abstract: Standard concepts of initial and final algebra semantics are generalised in a modular hierarchical manner. The resulting relative formalism allows a unified view on the relationship between initial and final algebra semantics and gives a dualised notion of consistency. Using this, a modular hierarchical approach to proof by consistency is taken by which only top-level equations need be considered at any level. The formalism also allows non-homogeneous specification schemes and different proof methods at each level.
Stream Differential Equations: concrete formats for coinductive definitions
, 2011
"... In this article we give an accessible introduction to stream differential equations, ie., equations that take the shape of differential equations from analysis and that are used to define infinite streams. Furthermore we discuss a syntactic format for stream differential equations that ensures that ..."
Abstract
- Add to MetaCart
In this article we give an accessible introduction to stream differential equations, ie., equations that take the shape of differential equations from analysis and that are used to define infinite streams. Furthermore we discuss a syntactic format for stream differential equations that ensures that any system of equations that fits into the format has a unique solution. It turns out that the stream functions that can be defined using our format are precisely the causal stream functions. Finally, we are going to discuss non-standard stream calculus that uses basic (co-)operations different from the usual head and tail operations in order to define and to reason about streams and stream functions. 1
Coinductive Proofs over Streams as CHR Confluence Proofs ⋆
"... Abstract. Coinduction is an important theoretical tool for defining and reasoning about unbounded data structures (such as streams, infinite trees, rational numbers...), and infinite-behavior systems. Confluence is a fundamental property of Constraint Handling Rules (CHR) since, as in other rewritin ..."
Abstract
- Add to MetaCart
Abstract. Coinduction is an important theoretical tool for defining and reasoning about unbounded data structures (such as streams, infinite trees, rational numbers...), and infinite-behavior systems. Confluence is a fundamental property of Constraint Handling Rules (CHR) since, as in other rewriting formalisms, it guarantees that the computations are not dependent on rule application order, and also because it implies the logical consistency of the program’s declarative view. In this paper, we illustrate how the confluence of CHR can be used to prove universal coinductive properties. In particular we give several examples of bisimulation proofs over streams. 1

