Results 11  20
of
36
A Hoare Logic for CallbyValue Functional Programs
"... Abstract. We present a Hoare logic for a callbyvalue programming language equipped with recursive, higherorder functions, algebraic data types, and a polymorphic type system in the style of Hindley and Milner. It is the theoretical basis for a tool that extracts proof obligations out of programs ..."
Abstract

Cited by 14 (1 self)
 Add to MetaCart
Abstract. We present a Hoare logic for a callbyvalue programming language equipped with recursive, higherorder functions, algebraic data types, and a polymorphic type system in the style of Hindley and Milner. It is the theoretical basis for a tool that extracts proof obligations out of programs annotated with logical assertions. These proof obligations, expressed in a typed, higherorder logic, are discharged using offtheshelf automated or interactive theorem provers. Although the technical apparatus that we exploit is by now standard, its application to callbyvalue functional programming languages appears to be new, and (we claim) deserves attention. As a sample application, we check the partial correctness of a balanced binary search tree implementation. 1
Sequential algorithms and strongly stable functions
 in the Linear Summer School, Azores
, 2003
"... ..."
Full abstraction for nominal general references
 In LICS ’07: Proceedings of the 22nd Annual IEEE Symposium on Logic in Computer Science (Wroclaw, 2007), IEEE Computer
"... Vol. 5 (3:8) 2009, pp. 1–69 www.lmcsonline.org ..."
Lazy Computation with Exact Real Numbers
 Proceedings of the third ACM SIGPLAN International Conference on Functional Programming (ICFP98), volume 34, 1 of ACM SIGPLAN Notices
, 1997
"... We extend the framework for exact real arithmetic using linear fractional transformations from the nonnegative numbers to the extended real line. We then present an extension of PCF with a real type which introduces an eventually breadthfirst strategy for lazy evaluation of exact real numbers. In ..."
Abstract

Cited by 8 (3 self)
 Add to MetaCart
We extend the framework for exact real arithmetic using linear fractional transformations from the nonnegative numbers to the extended real line. We then present an extension of PCF with a real type which introduces an eventually breadthfirst strategy for lazy evaluation of exact real numbers. In this language, we present the constant redundant if, rif, for defining functions by cases which, in contrast to parallel if (pif), overcomes the problem of undecidability of comparison of real numbers in finite time. We use the upper space of the onepoint compactification of the real line to develop a denotational semantics for the lazy evaluation of real programs. Finally two adequacy results are proved, one for programs containing rif and one for those not containing it. Our adequacy results in particular provide the proof of correctness of algorithms for computation of singlevalued elementary functions. 1 Introduction It is well known that the accumulation of roundoff errors in floati...
On sequential functionals of type 3
 Math. Structures Comput. Sci
, 2006
"... We show that the extensional ordering of the sequential functionals of pure type 3, e.g. as defined via game semantics [2, 4], is not cpoenriched. This shows that this model does not equal Milner’s [9] fully abstract model for P CF. 1 ..."
Abstract

Cited by 6 (0 self)
 Add to MetaCart
We show that the extensional ordering of the sequential functionals of pure type 3, e.g. as defined via game semantics [2, 4], is not cpoenriched. This shows that this model does not equal Milner’s [9] fully abstract model for P CF. 1
A Filter Model for Concurrent λCalculus
 SIAM J. Comput
, 1998
"... Type free lazy calculus is enriched with angelic parallelism and demonic nondeterminism. Callbyname and callbyvalue abstractions are considered and the operational semantics is stated in terms of a must convergence predicate. We introduce a type assignment system with intersection and union typ ..."
Abstract

Cited by 4 (1 self)
 Add to MetaCart
Type free lazy calculus is enriched with angelic parallelism and demonic nondeterminism. Callbyname and callbyvalue abstractions are considered and the operational semantics is stated in terms of a must convergence predicate. We introduce a type assignment system with intersection and union types and we prove that the induced logical semantics is fully abstract.
Proof Assistants: history, ideas and future
"... In this paper we will discuss the fundamental ideas behind proof assistants: What are they and what is a proof anyway? We give a short history of the main ideas, emphasizing the way they ensure the correctness of the mathematics formalized. We will also briefly discuss the places where proof assista ..."
Abstract

Cited by 3 (0 self)
 Add to MetaCart
In this paper we will discuss the fundamental ideas behind proof assistants: What are they and what is a proof anyway? We give a short history of the main ideas, emphasizing the way they ensure the correctness of the mathematics formalized. We will also briefly discuss the places where proof assistants are used and how we envision their extended use in the future. While being an introduction into the world of proof assistants and the main issues behind them, this paper is also a position paper that pushes the further use of proof assistants. We believe that these systems will become the future of mathematics, where definitions, statements, computations and proofs are all available in a computerized form. An important application is and will be in computer supported modelling and verification of systems. But their is still along road ahead and we will indicate what we believe is needed for the further proliferation of proof assistants.
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
Computing with functionals  computability theory or computer science
 Bulletin of Symbolic Logic
, 2006
"... We review some of the history of the computability theory of functionals of higher types, and we will demonstrate how contributions from logic and theoretical computer science have shaped this still active subject. ..."
Abstract

Cited by 2 (1 self)
 Add to MetaCart
We review some of the history of the computability theory of functionals of higher types, and we will demonstrate how contributions from logic and theoretical computer science have shaped this still active subject.