Results 1  10
of
14
Axiomatic constructor classes in Isabelle/HOLCF
 In In Proc. 18th International Conference on Theorem Proving in Higher Order Logics (TPHOLs ’05), Volume 3603 of Lecture Notes in Computer Science
, 2005
"... Abstract. We have definitionally extended Isabelle/HOLCF to support axiomatic Haskellstyle constructor classes. We have subsequently defined the functor and monad classes, together with their laws, and implemented state and resumption monad transformers as generic constructor class instances. This ..."
Abstract

Cited by 16 (5 self)
 Add to MetaCart
Abstract. We have definitionally extended Isabelle/HOLCF to support axiomatic Haskellstyle constructor classes. We have subsequently defined the functor and monad classes, together with their laws, and implemented state and resumption monad transformers as generic constructor class instances. This is a step towards our goal of giving modular denotational semantics for concurrent lazy functional programming languages, such as GHC Haskell. 1
Recursion on the partial continuous functionals
 Logic Colloquium ’05
, 2006
"... We describe a constructive theory of computable functionals, based on the partial continuous functionals as their intendend domain. Such a task had long ago been started by Dana Scott [28], under the wellknown abbreviation ..."
Abstract

Cited by 7 (5 self)
 Add to MetaCart
We describe a constructive theory of computable functionals, based on the partial continuous functionals as their intendend domain. Such a task had long ago been started by Dana Scott [28], under the wellknown abbreviation
A Lambda Model Characterizing Computational Behaviours of Terms
 PROCEEDINGS OF THE AND LIKAVEC INTERNATIONAL WORKSHOP REWRITING IN PROOF AND COMPUTATION
, 2001
"... We build a lambda model which characterizes completely (persistently) normalizing, (persistently) head normalizing, and (persistently) weak head normalizing terms. ..."
Abstract

Cited by 6 (4 self)
 Add to MetaCart
We build a lambda model which characterizes completely (persistently) normalizing, (persistently) head normalizing, and (persistently) weak head normalizing terms.
Two behavioural lambda models
 Types for Proofs and Programs
, 2003
"... Abstract. We build a lambda model which characterizes completely (persistently) normalizing, (persistently) head normalizing, and (persistently) weak head normalizing terms. This is proved by using the finitary logical description of the model obtained by defining a suitable intersection type assign ..."
Abstract

Cited by 5 (4 self)
 Add to MetaCart
Abstract. We build a lambda model which characterizes completely (persistently) normalizing, (persistently) head normalizing, and (persistently) weak head normalizing terms. This is proved by using the finitary logical description of the model obtained by defining a suitable intersection type assignment system.
Lambda and pi calculi, CAM and SECD machines
, 2001
"... We analyse machines that implement the callbyvalue reduction strategy of the λcalculus: two environment machines—CAM and SECD—and two encodings into the πcalculus—due to Milner and Vasconcelos. To establish the relation between the various machines, we setup a notion of reduction machine and two ..."
Abstract

Cited by 3 (1 self)
 Add to MetaCart
We analyse machines that implement the callbyvalue reduction strategy of the λcalculus: two environment machines—CAM and SECD—and two encodings into the πcalculus—due to Milner and Vasconcelos. To establish the relation between the various machines, we setup a notion of reduction machine and two notions of correspondences: operational—in which a reduction step in the source machine is mimicked by a sequence of steps in the target machine—and convergent—where only reduction to normal form is simulated. We show that there are operational correspondences from the λcalculus into CAM, and from CAM and from SECD into the πcalculus. Plotkin completes the picture by showing that there is a convergent correspondence from the λcalculus into SECD. 1
On probabilistic coherence spaces
, 2008
"... We introduce a probabilistic version of coherence spaces and show that these objects provide a model of linear logic. We build a model of the pure lambdacalculus in this setting and show how to interpret a probabilistic version of the functional language PCF. We give a probabilistic interpretation ..."
Abstract

Cited by 3 (0 self)
 Add to MetaCart
We introduce a probabilistic version of coherence spaces and show that these objects provide a model of linear logic. We build a model of the pure lambdacalculus in this setting and show how to interpret a probabilistic version of the functional language PCF. We give a probabilistic interpretation of the semantics of probabilistic PCF closed terms of ground type.
Formal verification of monad transformers
 In ICFP’12
, 2012
"... We present techniques for reasoning about constructor classes that (like the monad class) fix polymorphic operations and assert polymorphic axioms. We do not require a logic with firstclass type constructors, firstclass polymorphism, or type quantification; instead, we rely on a domaintheoretic m ..."
Abstract

Cited by 3 (1 self)
 Add to MetaCart
We present techniques for reasoning about constructor classes that (like the monad class) fix polymorphic operations and assert polymorphic axioms. We do not require a logic with firstclass type constructors, firstclass polymorphism, or type quantification; instead, we rely on a domaintheoretic model of the type system in a universal domain to provide these features. These ideas are implemented in the Tycon library for the Isabelle theorem prover, which builds on the HOLCF library of domain theory. The Tycon library provides various axiomatic type constructor classes, including functors and monads. It also provides automation for instantiating those classes, and for defining further subclasses. We use the Tycon library to formalize three Haskell monad transformers: the error transformer, the writer transformer, and the resumption transformer. The error and writer transformers do not universally preserve the monad laws; however, we establish datatype invariants for each, showing that they are valid monads when viewed as abstract datatypes.
HOLCF ’11: A Definitional Domain Theory for Verifying Functional Programs
, 2012
"... HOLCF is an interactive theorem proving system that uses the mathematics of domain theory to reason about programs written in functional programming languages. This thesis introduces HOLCF ’11, a thoroughly revised and extended version of HOLCF that advances the state of the art in program verificat ..."
Abstract

Cited by 3 (2 self)
 Add to MetaCart
HOLCF is an interactive theorem proving system that uses the mathematics of domain theory to reason about programs written in functional programming languages. This thesis introduces HOLCF ’11, a thoroughly revised and extended version of HOLCF that advances the state of the art in program verification: HOLCF ’11 can reason about many program definitions that are beyond the scope of other formal proof tools, while providing a high degree of proof automation. The soundness of the system is ensured by adhering to a definitional approach: New constants and types are defined in terms of previous concepts, without introducing new axioms. Major features of HOLCF ’11 include two highlevel definition packages: the Fixrec package for defining recursive functions, and the Domain package for defining recursive datatypes. Each of these uses the domaintheoretic concept of least fixed points to translate usersupplied recursive specifications into safe lowlevel definitions. Together, these tools make it easy for users to translate a wide variety of functional programs into the formalism of HOLCF. Theorems generated by the tools also make it easy for users to reason about their programs, with a very high level of confidence in the soundness of the results. As a case study, we present a fully mechanized verification of a model of concurrency based on powerdomains. The formalization depends on many features unique to HOLCF ’11, and is the first verification of such a model in a formal proof tool. ii ACKNOWLEDGMENTS I would like to thank my advisor, John Matthews, for having continued to devote so much time to working with me, even as a parttime professor; and for motivating me to keep studying domain theory (and enjoying it!) these past years. iii
Universality results for models in locally Boolean domains
 IN COMPUTER SCIENCE LOGIC
, 2006
"... In [6] J. Laird has shown that an infinitary sequential extension of PCF has a fully abstract model in his category of locally boolean domains (introduced in [8]). In this paper we introduce an extension SPCF ∞ of his language by recursive types and show that it is universal for its model in locall ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
In [6] J. Laird has shown that an infinitary sequential extension of PCF has a fully abstract model in his category of locally boolean domains (introduced in [8]). In this paper we introduce an extension SPCF ∞ of his language by recursive types and show that it is universal for its model in locally boolean domains. Finally we consider an infinitary target language CPS ∞ for (the) CPS translation (of [16]) and show that it is universal for a model in locally boolean domains which is constructed like Dana Scott’s D ∞ where D = 1
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