Results 1 - 10
of
18
Combinatory Reduction Systems: introduction and survey
- Theoretical Computer Science
, 1993
"... Combinatory Reduction Systems, or CRSs for short, were designed to combine the usual first-order format of term rewriting with the presence of bound variables as in pure -calculus and various typed -calculi. Bound variables are also present in many other rewrite systems, such as systems with simpli ..."
Abstract
-
Cited by 75 (9 self)
- Add to MetaCart
Combinatory Reduction Systems, or CRSs for short, were designed to combine the usual first-order format of term rewriting with the presence of bound variables as in pure -calculus and various typed -calculi. Bound variables are also present in many other rewrite systems, such as systems with simplification rules for proof normalization. The original idea of CRSs is due to Aczel, who introduced a restricted class of CRSs and, under the assumption of orthogonality, proved confluence. Orthogonality means that the rules are non-ambiguous (no overlap leading to a critical pair) and left-linear (no global comparison of terms necessary). We introduce the class of orthogonal CRSs, illustrated with many examples, discuss its expressive power, and give an outline of a short proof of confluence. This proof is a direct generalization of Aczel's original proof, which is close to the well-known confluence proof for -calculus by Tait and Martin-Lof. There is a well-known connection between the para...
A Curry-Howard foundation for functional computation with control
- In Proceedings of ACM SIGPLAN-SIGACT Symposium on Principle of Programming Languages
, 1997
"... We introduce the type theory ¯ v , a call-by-value variant of Parigot's ¯-calculus, as a Curry-Howard representation theory of classical propositional proofs. The associated rewrite system is Church-Rosser and strongly normalizing, and definitional equality of the type theory is consistent, compatib ..."
Abstract
-
Cited by 67 (3 self)
- Add to MetaCart
We introduce the type theory ¯ v , a call-by-value variant of Parigot's ¯-calculus, as a Curry-Howard representation theory of classical propositional proofs. The associated rewrite system is Church-Rosser and strongly normalizing, and definitional equality of the type theory is consistent, compatible with cut, congruent and decidable. The attendant call-by-value programming language ¯pcf v is obtained from ¯ v by augmenting it by basic arithmetic, conditionals and fixpoints. We study the behavioural properties of ¯pcf v and show that, though simple, it is a very general language for functional computation with control: it can express all the main control constructs such as exceptions and first-class continuations. Proof-theoretically the dual ¯ v -constructs of naming and ¯-abstraction witness the introduction and elimination rules of absurdity respectively. Computationally they give succinct expression to a kind of generic (forward) "jump" operator, which may be regarded as a unif...
Constructive Analysis of Cyclic Circuits
, 1996
"... Traditionally, circuits with combinational loops are found only in asynchronous designs. However, combinational loops can also be useful for synchronous circuit design. Combinational loops can arise from high-level language behavioral compiling, and can be used to reduce circuit size. We provide a s ..."
Abstract
-
Cited by 57 (2 self)
- Add to MetaCart
Traditionally, circuits with combinational loops are found only in asynchronous designs. However, combinational loops can also be useful for synchronous circuit design. Combinational loops can arise from high-level language behavioral compiling, and can be used to reduce circuit size. We provide a symbolic algorithm that detects if a sequential circuit with combinational loops exhibits standard synchronous behavior, and if so, produces an equivalent circuit without combinational loops. We present applications to hardware and software synthesis from the Esterel synchronous programming language.
Correspondence between Operational and Denotational Semantics
- Handbook of Logic in Computer Science
, 1995
"... This course introduces the operational and denotational semantics of PCF and examines the relationship between the two. Topics: Syntax and operational semantics of PCF, Activity Lemma, undefinability of parallel or; Context Lemma (first principles proof) and proof by logical relations Denotational ..."
Abstract
-
Cited by 21 (0 self)
- Add to MetaCart
This course introduces the operational and denotational semantics of PCF and examines the relationship between the two. Topics: Syntax and operational semantics of PCF, Activity Lemma, undefinability of parallel or; Context Lemma (first principles proof) and proof by logical relations Denotational semantics of PCF induced by an interpretation; (standard) Scott model, adequacy, weak adequacy and its proof (by a computability predicate) Domain Theory up to SFP and Scott domains; non full abstraction of the standard model, definability of compact elements and full abstraction for PCFP (PCF + parallel or), properties of order-extensional (continuous) models of PCF, Milner's model and Mulmuley's construction (excluding proofs) Additional topics (time permitting): results on pure simply-typed lambda calculus, Friedman 's Completeness Theorem, minimal model, logical relations and definability, undecidability of lambda definability (excluding proof), dI-domains and stable functions Homepa...
Call-By-Push-Value: A Subsuming Paradigm
- in Proc. TLCA ’99
, 1999
"... . Call-by-push-value is a new paradigm that subsumes the call-by-name and call-by-value paradigms, in the following sense: both operational and denotational semantics for those paradigms can be seen as arising, via translations that we will provide, from similar semantics for call-by-push-value. To ..."
Abstract
-
Cited by 14 (0 self)
- Add to MetaCart
. Call-by-push-value is a new paradigm that subsumes the call-by-name and call-by-value paradigms, in the following sense: both operational and denotational semantics for those paradigms can be seen as arising, via translations that we will provide, from similar semantics for call-by-push-value. To explain call-by-push-value, we first discuss general operational ideas, especially the distinction between values and computations, using the principle that "a value is, a computation does". Using an example program, we see that the lambda-calculus primitives can be understood as push/pop commands for an operand-stack. We provide operational and denotational semantics for a range of computational effects and show their agreement. We hence obtain semantics for call-by-name and call-by-value, of which some are familiar, some are new and some were known but previously appeared mysterious. 1 Introduction 1.1 Contribution In his invited lecture at POPL '98 [32], Reynolds, surveying over 30 year...
An Implementation of Constructive Synchronous Programs in POLIS
- IN POLIS. FORMAL METHODS IN SYSTEM DESIGN
, 1998
"... Design tools for embedded reactive systems commonly use a model of computation that employs both synchronous and asynchronous communication styles. We form a junction between these two with an implementation of synchronous languages and circuits (Esterel) on asynchronous networks (POLIS). We impl ..."
Abstract
-
Cited by 11 (0 self)
- Add to MetaCart
Design tools for embedded reactive systems commonly use a model of computation that employs both synchronous and asynchronous communication styles. We form a junction between these two with an implementation of synchronous languages and circuits (Esterel) on asynchronous networks (POLIS). We implement fact propagation, the key concept of synchronous constructive semantics, on an asynchronous non-deterministic network: POLIS nodes (CFSMs) save state locally to deduce facts, and the network globally propagates facts between them. The result is a correct implementation of the synchronous input/output behavior of the program. Our model is compositional, and thus permits implementations at various levels of granularity from one CFSM per circuit gate to one CFSM per circuit. This allows one to explore various tradeoffs between synchronous and asynchronous implementations.
An investigation into Functions as Processes
- In Proc. Ninth International Conference on the Mathematical Foundations of Programming Semantics (MFPS'93
, 1993
"... . In [Mil90] Milner examines the encoding of the -calculus into the ß-calculus [MPW92]. The former is the universally accepted basis for computations with functions, the latter aims at being its counterpart for computations with processes. The primary goal of this paper is to continue the study of M ..."
Abstract
-
Cited by 8 (1 self)
- Add to MetaCart
. In [Mil90] Milner examines the encoding of the -calculus into the ß-calculus [MPW92]. The former is the universally accepted basis for computations with functions, the latter aims at being its counterpart for computations with processes. The primary goal of this paper is to continue the study of Milner's encodings. We focus mainly on the lazy -calculus [Abr87]. We show that its encoding gives rise to a -model, in which a weak form of extensionality holds. However the model is not fully abstract: To obtain full abstraction, we examine both the restrictive approach, in which the semantic domain of processes is cut down, and the expansive approach, in which -calculus is enriched with constants to obtain a direct characterisation of the equivalence on -terms induced, via the encoding, by the behavioural equivalence adopted on the processes. Our results are derived exploiting an intermediate representation of Milner's encodings into the Higher-Order ß-calculus, an !-order extension of ...
An approach to deciding observational equivalence of Algol-like languages
- Annals of Pure and Applied Logic
"... We prove that observational equivalence of third-order nitary (i.e. recursion-free) Idealized Algol (IA) is decidable using Game Semantics. By modelling state explicitly in our games, we show that the denotation of a term M of this fragment of IA is a compactly innocent strategy-with-state i.e. the ..."
Abstract
-
Cited by 4 (1 self)
- Add to MetaCart
We prove that observational equivalence of third-order nitary (i.e. recursion-free) Idealized Algol (IA) is decidable using Game Semantics. By modelling state explicitly in our games, we show that the denotation of a term M of this fragment of IA is a compactly innocent strategy-with-state i.e. the strategy is generated by a nite view function f M . Given any such f M , we construct a real-time deterministic pushdown automaton (DPDA) that recognizes the complete plays of the knowingstrategy denotation of M . Since such plays characterize observational equivalence, and there is an algorithm for deciding whether any two DPDAs recognize the same language, we obtain a procedure for deciding observational equivalence of thirdorder nitary IA. Restricted to second-order terms, the DPDA representation cuts down to a deterministic nite automaton; thus our approach gives a new proof of Ghica and McCusker's regular-expression characterization for this fragment. Our algorithmic representation of program meanings, which is compositional, provides a foundation for model-checking a wide range of behavioural properties of IA and other cognate programming languages. Another result concerns second-order IA with full recursion: we show that observational equivalence for this fragment is undecidable. Key words: Algorithmic Game Semantics, Algol-like Languages, Automata Theory, Software Model Checking.
Dialogue Games and Innocent Strategies: An Approach to (Intensional) Full Abstraction for PCF
, 1993
"... ion for PCF Preliminary Announcement Martin Hyland and Luke Ong 26th July 1993 This note is (intended to be) released in conjunction with a preliminary announcement of Abramsky, Jagadeesan and Malacaria entitled Games and Full Abstraction of PCF. Like Abramsky et al. (but independently), we have ..."
Abstract
-
Cited by 3 (0 self)
- Add to MetaCart
ion for PCF Preliminary Announcement Martin Hyland and Luke Ong 26th July 1993 This note is (intended to be) released in conjunction with a preliminary announcement of Abramsky, Jagadeesan and Malacaria entitled Games and Full Abstraction of PCF. Like Abramsky et al. (but independently), we have found an intensionally fully abstract model for pcf [Plo77]. Our model is a Cartesian closed category of Scott domains all of whose compact elements are definable in pcf. Using Stoughton's Theorem [Sto88], the model can be extensionally collapsed by means of a continuous homomorphism to the least fixpoint, order-extensional, fully abstract model which is shown to be unique by Milner [Mil77]. It is unclear at this stage how our model relates to that of Abramsky et al. Our model of computation is based on a kind of game in which each play consists of a dialogue of questions and answers between two players. This approach is very concrete and in nature goes back to Kleene [Kle78] and Gandy in o...

