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 firstorder 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 simpl ..."
Abstract

Cited by 84 (9 self)
 Add to MetaCart
Combinatory Reduction Systems, or CRSs for short, were designed to combine the usual firstorder 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 nonambiguous (no overlap leading to a critical pair) and leftlinear (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 wellknown confluence proof for λcalculus by Tait and MartinLof. There is a wellknown connection between the para...
A CurryHoward foundation for functional computation with control
 In Proceedings of ACM SIGPLANSIGACT Symposium on Principle of Programming Languages
, 1997
"... We introduce the type theory ¯ v , a callbyvalue variant of Parigot's ¯calculus, as a CurryHoward representation theory of classical propositional proofs. The associated rewrite system is ChurchRosser and strongly normalizing, and definitional equality of the type theory is consistent, compatib ..."
Abstract

Cited by 76 (3 self)
 Add to MetaCart
We introduce the type theory ¯ v , a callbyvalue variant of Parigot's ¯calculus, as a CurryHoward representation theory of classical propositional proofs. The associated rewrite system is ChurchRosser and strongly normalizing, and definitional equality of the type theory is consistent, compatible with cut, congruent and decidable. The attendant callbyvalue 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 firstclass continuations. Prooftheoretically 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 highlevel language behavioral compiling, and can be used to reduce circuit size. We provide a s ..."
Abstract

Cited by 63 (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 highlevel 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 23 (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 orderextensional (continuous) models of PCF, Milner's model and Mulmuley's construction (excluding proofs) Additional topics (time permitting): results on pure simplytyped lambda calculus, Friedman 's Completeness Theorem, minimal model, logical relations and definability, undecidability of lambda definability (excluding proof), dIdomains and stable functions Homepa...
CallByPushValue: A Subsuming Paradigm
 in Proc. TLCA ’99
, 1999
"... . Callbypushvalue is a new paradigm that subsumes the callbyname and callbyvalue 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 callbypushvalue. To ..."
Abstract

Cited by 15 (0 self)
 Add to MetaCart
. Callbypushvalue is a new paradigm that subsumes the callbyname and callbyvalue 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 callbypushvalue. To explain callbypushvalue, 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 lambdacalculus primitives can be understood as push/pop commands for an operandstack. We provide operational and denotational semantics for a range of computational effects and show their agreement. We hence obtain semantics for callbyname and callbyvalue, 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 nondeterministic 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 11 (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 HigherOrder ßcalculus, an !order extension of ...
An approach to deciding observational equivalence of Algollike languages
 Annals of Pure and Applied Logic
"... We prove that observational equivalence of thirdorder nitary (i.e. recursionfree) 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 strategywithstate i.e. the ..."
Abstract

Cited by 4 (1 self)
 Add to MetaCart
We prove that observational equivalence of thirdorder nitary (i.e. recursionfree) 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 strategywithstate i.e. the strategy is generated by a nite view function f M . Given any such f M , we construct a realtime 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 secondorder terms, the DPDA representation cuts down to a deterministic nite automaton; thus our approach gives a new proof of Ghica and McCusker's regularexpression characterization for this fragment. Our algorithmic representation of program meanings, which is compositional, provides a foundation for modelchecking a wide range of behavioural properties of IA and other cognate programming languages. Another result concerns secondorder IA with full recursion: we show that observational equivalence for this fragment is undecidable. Key words: Algorithmic Game Semantics, Algollike 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, orderextensional, 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...