Results 11  20
of
101
Total Functional Programming
 Journal of Universal Computer Science
, 2004
"... We now define the notion, already discussed, of an effectively calculable function of positive integers by identifying it with the notion of a recursive function of positive integers (or of a lambdadefinable function of positive integers). The phrase in parentheses refers to the apparatus which Chur ..."
Abstract

Cited by 29 (1 self)
 Add to MetaCart
We now define the notion, already discussed, of an effectively calculable function of positive integers by identifying it with the notion of a recursive function of positive integers (or of a lambdadefinable function of positive integers). The phrase in parentheses refers to the apparatus which Church had developed to investigate this and other problems in the foundations of mathematics: the calculus of lambda conversion. Both the Thesis and the lambda calculus have been of seminal influence on the development of Computing Science. The main subject of this article is the lambda calculus but I will begin with a brief sketch of the emergence of the Thesis. The epistemological status of Church’s Thesis is not immediately clear from the above quotation and remains a matter of debate, as is explored in other papers of this volume. My own view, which I will state but not elaborate here, is that the thesis is empirical because it relies for its significance on a claim about what can be calculated by mechanisms. This becomes clearer in
A Compositional Logic for Polymorphic HigherOrder Functions
 PPDP'04
, 2004
"... This paper introduces a compositional program logic for higherorder polymorphic functions and standard data types. The logic enables us to reason about observable properties of polymorphic programs starting from those of their constituents. Just as types attached to programs offer information on the ..."
Abstract

Cited by 26 (11 self)
 Add to MetaCart
This paper introduces a compositional program logic for higherorder polymorphic functions and standard data types. The logic enables us to reason about observable properties of polymorphic programs starting from those of their constituents. Just as types attached to programs offer information on their composability so as to guarantee basic safety of composite programs, formulae of the proposed logic attached to programs offer information on their composability so as to guarantee finegrained behavioural properties of polymorphic programs. The central feature of the logic is a systematic usage of names and operations on them, whose origin is in the logics for typed πcalculi. The paper introduces the program logic and its proof rules and illustrates their usage by nontrivial reasoning examples, taking a prototypical callbyvalue functional language with impredicative polymorphism and recursive types as a target language.
What Is an Algorithm?
, 2000
"... Machines and Recursive Definitions 2.1 Abstract Machines The bestknown model of mechanical computation is (still) the first, introduced by Turing [18], and after half a century of study, few doubt the truth of the fundamental ChurchTuring Thesis : A function f : N # N on the natural numbers (o ..."
Abstract

Cited by 23 (3 self)
 Add to MetaCart
Machines and Recursive Definitions 2.1 Abstract Machines The bestknown model of mechanical computation is (still) the first, introduced by Turing [18], and after half a century of study, few doubt the truth of the fundamental ChurchTuring Thesis : A function f : N # N on the natural numbers (or, more generally, on strings from a finite alphabet) is computable in principle exactly when it can be computed by a Turing Machine. The ChurchTuring Thesis grounds proofs of undecidability and it is essential for the most important applications of logic. On the other hand, it cannot be argued seriously that Turing machines model faithfully all algorithms on the natural numbers. If, for example, we code the input n in binary (rather than unary) notation, then the time needed for the computation of f(n) can sometimes be considerably shortened; and if we let the machine use two tapes rather than one, then (in some cases) we may gain a quadratic speedup of the computation, see [8]. This mea...
A Constraintbased Approach for Specification and Verification of Realtime Systems
 In 18th RTSS
, 1997
"... We develop a general constraint logic programming (CLP) based framework for specification and verification of realtime systems. Our framework is based on the notion of timed automata that have traditionally been used for specifying realtime systems. In our framework, a user models the ordering of ..."
Abstract

Cited by 21 (3 self)
 Add to MetaCart
We develop a general constraint logic programming (CLP) based framework for specification and verification of realtime systems. Our framework is based on the notion of timed automata that have traditionally been used for specifying realtime systems. In our framework, a user models the ordering of realtime events as the grammar of a language accepted by a timed automata, the realtime constraints on these events are then captured as denotations of the grammar productions specified by the user. The grammar can be specified as a Definite Clause Grammar (DCG), while the denotations can be specified in constraint logic. The resulting specification can hence be regarded as a constraint logic program (CLP), and is executable. Many interesting properties of the realtime system can be verified by posing appropriate queries to this CLP program. A major advantage of our approach is that it is constructive in nature, i.e., it can be used for computing the conditions under which a property will...
The RegularLanguage Semantics of SecondOrder Idealized ALGOL
, 2003
"... We explain how recent developments in game semantics can be applied to reasoning about equivalence of terms in a nontrivial fragment of Idealized Algol (IA) by expressing sets of complete plays as regular languages. Being derived directly from the fully abstract game semantics for IA, our model inh ..."
Abstract

Cited by 20 (8 self)
 Add to MetaCart
We explain how recent developments in game semantics can be applied to reasoning about equivalence of terms in a nontrivial fragment of Idealized Algol (IA) by expressing sets of complete plays as regular languages. Being derived directly from the fully abstract game semantics for IA, our model inherits its good theoretical properties; in fact, for secondorder IA taken as a standalone language the regular language model is fully abstract. The method is algorithmic and formal, which makes it suitable for automation. We show how reasoning is carried out using a metalanguage of extended regular expressions, a language for which equivalence is decidable.
Higher Order Logic
 In Handbook of Logic in Artificial Intelligence and Logic Programming
, 1994
"... Contents 1 Introduction : : : : : : : : : : : : : : : : : : : : : : : : : : : : 2 2 The expressive power of second order Logic : : : : : : : : : : : 3 2.1 The language of second order logic : : : : : : : : : : : : : 3 2.2 Expressing size : : : : : : : : : : : : : : : : : : : : : : : : 4 2.3 Definin ..."
Abstract

Cited by 19 (0 self)
 Add to MetaCart
Contents 1 Introduction : : : : : : : : : : : : : : : : : : : : : : : : : : : : 2 2 The expressive power of second order Logic : : : : : : : : : : : 3 2.1 The language of second order logic : : : : : : : : : : : : : 3 2.2 Expressing size : : : : : : : : : : : : : : : : : : : : : : : : 4 2.3 Defining data types : : : : : : : : : : : : : : : : : : : : : 6 2.4 Describing processes : : : : : : : : : : : : : : : : : : : : : 8 2.5 Expressing convergence using second order validity : : : : : : : : : : : : : : : : : : : : : : : : : 9 2.6 Truth definitions: the analytical hierarchy : : : : : : : : 10 2.7 Inductive definitions : : : : : : : : : : : : : : : : : : : : : 13 3 Canonical semantics of higher order logic : : : : : : : : : : : : 15 3.1 Tarskian semantics of second order logic : : : : : : : : : 15 3.2 Function and re
The Formal Relationship Between Direct and ContinuationPassing Style Optimizing Compilers: A Synthesis of Two Paradigms
, 1994
"... Compilers for higherorder programming languages like Scheme, ML, and Lisp can be broadly characterized as either "direct compilers" or "continuationpassing style (CPS) compilers", depending on their main intermediate representation. Our central result is a precise correspondence between the two co ..."
Abstract

Cited by 15 (0 self)
 Add to MetaCart
Compilers for higherorder programming languages like Scheme, ML, and Lisp can be broadly characterized as either "direct compilers" or "continuationpassing style (CPS) compilers", depending on their main intermediate representation. Our central result is a precise correspondence between the two compilation strategies. Starting from
Logical Full Abstraction and PCF
 Tbilisi Symposium on Language, Logic and Computation. SiLLI/CSLI
, 1996
"... ion and PCF John Longley Gordon Plotkin March 15, 1996 Abstract We introduce the concept of logical full abstraction, generalising the usual equational notion. We consider the language PCF and two extensions with "parallel" operations. The main result is that, for standard interpretations, lo ..."
Abstract

Cited by 13 (5 self)
 Add to MetaCart
ion and PCF John Longley Gordon Plotkin March 15, 1996 Abstract We introduce the concept of logical full abstraction, generalising the usual equational notion. We consider the language PCF and two extensions with "parallel" operations. The main result is that, for standard interpretations, logical full abstraction is equivalent to equational full abstraction together with universality; the proof involves constructing enumeration operators. We also consider restrictions on logical complexity and on the level of types. 1 Introduction The study of denotational semantics seeks to provide mathematical descriptions of programming languages by giving denotations of programs in terms of previously understood mathematical structures. For example, if P is a program that takes an input and produces an output, we might take its denotation to be a function from a set of inputvalues to a set of outputvalues. The most widelyknown approach to denotational semantics is that of traditiona...
On the Need for a Popular Formal Semantics
 ACM SIGPLAN Notices
, 1997
"... interpretation [2] is an obvious candidate for this job, because abstract interpretation is a story of property abstraction, where the property might be a sequence of graphical state pictures, or the extensional behaviour of the program, or a partial correctness proof in a programming logic. Indeed, ..."
Abstract

Cited by 13 (0 self)
 Add to MetaCart
interpretation [2] is an obvious candidate for this job, because abstract interpretation is a story of property abstraction, where the property might be a sequence of graphical state pictures, or the extensional behaviour of the program, or a partial correctness proof in a programming logic. Indeed, abstract intepretation should be recognized as being more than just a formalization of dataflow analysis: it is the framework upon which complementary semantics definitions, in the sense of Hoare and Lauer [5], are hung [1]. The formulation of popular semantics definitions for programming languages benefits researchers as well as general users: the process of designing calculational semantical mechanisms forces a language researcher to focus more upon the "why," that is, the pragmatics, of a language, as opposed to merely the "what." This helps designer, researcher, and user establish consensus about the language's purpose and its worth. This shift, from formal to popular semantics, is ne...
Dependable Systems Integration using Measurement Theory and Decision Analysis
, 1998
"... Modern computer systems are becoming increasingly complex ensembles of hardware and software. This complexity has many facets, such as the number and diversity of the constituent components, the range of technologies employed, and the complex interactions between the components. If these interaction ..."
Abstract

Cited by 12 (0 self)
 Add to MetaCart
Modern computer systems are becoming increasingly complex ensembles of hardware and software. This complexity has many facets, such as the number and diversity of the constituent components, the range of technologies employed, and the complex interactions between the components. If these interactions are unexpected, they may lead to system failures that could result in undesirable or even catastrophic consequences. This is especially of concern in the large, increasingly sophisticated, systems that are being used to control critical services in application areas such as medicine, transport, defence, and finance. Many properties of a system become visible only upon integration (when the components are assembled)  these are called `emergent' properties. They are particularly difficult to control and predict during the development process. The dependability of a system is one such property which we study in detail in this thesis. For systems to be dependable, their behaviour must be pr...