Results 11 - 20
of
85
A Compositional Logic for Polymorphic Higher-Order 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 23 (10 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 fine-grained 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 non-trivial reasoning examples, taking a prototypical call-by-value functional language with impredicative polymorphism and recursive types as a target language.
The Regular-Language Semantics of Second-Order Idealized ALGOL
, 2003
"... We explain how recent developments in game semantics can be applied to reasoning about equivalence of terms in a non-trivial 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 19 (8 self)
- Add to MetaCart
We explain how recent developments in game semantics can be applied to reasoning about equivalence of terms in a non-trivial 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 second-order IA taken as a stand-alone 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 meta-language of extended regular expressions, a language for which equivalence is decidable.
What Is an Algorithm?
, 2000
"... Machines and Recursive Definitions 2.1 Abstract Machines The best-known 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 Church-Turing Thesis : A function f : N # N on the natural numbers (o ..."
Abstract
-
Cited by 19 (3 self)
- Add to MetaCart
Machines and Recursive Definitions 2.1 Abstract Machines The best-known 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 Church-Turing 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 Church-Turing 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 Constraint-based Approach for Specification and Verification of Real-time Systems
- In 18th RTSS
, 1997
"... We develop a general constraint logic programming (CLP) based framework for specification and verification of real-time systems. Our framework is based on the notion of timed automata that have traditionally been used for specifying real-time systems. In our framework, a user models the ordering of ..."
Abstract
-
Cited by 19 (3 self)
- Add to MetaCart
We develop a general constraint logic programming (CLP) based framework for specification and verification of real-time systems. Our framework is based on the notion of timed automata that have traditionally been used for specifying real-time systems. In our framework, a user models the ordering of real-time events as the grammar of a language accepted by a timed automata, the real-time 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 real-time 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...
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 16 (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 Continuation-Passing Style Optimizing Compilers: A Synthesis of Two Paradigms
, 1994
"... Compilers for higher-order programming languages like Scheme, ML, and Lisp can be broadly characterized as either "direct compilers" or "continuation-passing style (CPS) compilers", depending on their main intermediate representation. Our central result is a precise correspondence between the two co ..."
Abstract
-
Cited by 13 (0 self)
- Add to MetaCart
Compilers for higher-order programming languages like Scheme, ML, and Lisp can be broadly characterized as either "direct compilers" or "continuation-passing 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 input-values to a set of output-values. The most widely-known approach to denotational semantics is that of traditiona...
Programming Metalogics with a Fixpoint Type
, 1992
"... A programming metalogic is a formal system into which programming languages can be translated and given meaning. The translation should both reflect the structure of the language and make it easy to prove properties of programs. This thesis develops certain metalogics using techniques of category th ..."
Abstract
-
Cited by 12 (6 self)
- Add to MetaCart
A programming metalogic is a formal system into which programming languages can be translated and given meaning. The translation should both reflect the structure of the language and make it easy to prove properties of programs. This thesis develops certain metalogics using techniques of category theory and treats recursion in a new way. The notion of a category with fixpoint object is defined. Corresponding to this categorical structure there are type theoretic equational rules which will be present in all of the metalogics considered. These rules define the fixpoint type which will allow the interpretation of recursive declarations. With these core notions FIX categories are defined. These are the categorical equivalent of an equational logic which can be viewed as a very basic programming metalogic. Recursion is treated both syntactically and categorically. The expressive power of the equational logic is increased by embedding it in an intuitionistic predicate calculus, giving rise to the FIX logic. This contains propositions about the evaluation of computations to values and an induction principle which is derived from the definition of a fixpoint object as an initial algebra. The categorical structure which accompanies the FIX logic is defined, called a FIX hyperdoctrine, and certain existence and disjunction properties of FIX are stated. A particular FIX hyperdoctrine is constructed and used in the proof of the same properties. PCF-style languages are translated into the FIX logic and computational adequacy reaulta are proved. Two languages are studied: Both are similar to PCF except one has call by value recursive function declararations and the other higher order conditionals. ...
Program Comprehension
, 1995
"... Descriptions Computer programs are incredibly detailed. In essence they control the values of million of bits of memory inside of a computer. One of the jobs of the reverse engineer is to decide, from all this detail, which are the important concepts. This process is called abstraction; the reverse ..."
Abstract
-
Cited by 11 (0 self)
- Add to MetaCart
Descriptions Computer programs are incredibly detailed. In essence they control the values of million of bits of memory inside of a computer. One of the jobs of the reverse engineer is to decide, from all this detail, which are the important concepts. This process is called abstraction; the reverse engineer must create an abstract representation of the program from the mass of concrete details. The abstraction process is not linear. That is, a given section of a program may be a part of several abstractions. The abstractions are said to be interleaved [7], and, because of this, the designer's plan is delocalized in the section [8]. Typically there is no documentation in the source code of the interleaving. C. Coherent Models and Incoherent Artifacts When a program is originally constructed, there is a coherent structuring of details. The process that creates the structuring is called design. A large variety of design methods and representation techniques have been developed to aid th...
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 11 (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...

