Concurrency Semantics in Continuation-Passing Style The Companion Technical Report

Size: px
Start display at page:

Download "Concurrency Semantics in Continuation-Passing Style The Companion Technical Report"

Transcription

1 Concurrency Semantics in Continuation-Passing Style The Companion Technical Report Eneia Nicolae Todoran Technical University of Cluj-Napoca Department of Computer Science Baritiu Str. 28, , Cluj-Napoca, Romania. Nikolaos S. Papaspyrou National Technical University of Athens School of Electrical and Computer Engineering Software Engineering Laboratory Polytechnioupoli, Zografou, Greece. Abstract By using the mathematical framework of metric semantics we develop a denotational semantics designed in continuation-passing style for an abstract concurrent language providing a general mechanism of interaction between multisets of distributed actions. The basic laws of concurrent systems are satisfied in this semantics. Next, by customizing the behavior of continuations we obtain denotational semantics for a couple of concurrent languages incorporating mechanisms for multiparty and binary interactions. We offer denotational semantics for two imperative concurrent languages based on Hoare s CSP and a process algebra for DNA computing introduced by Cardelli. Keywords: continuation-passing style, denotational semantics, metric spaces, concurrency semantics 1 Introduction Continuations are a very powerful control-flow mechanism. As abstract representations of control flow, they were introduced in the 1960s and soon came into prominence in the field of denotational semantics for modelling the semantics of programming languages [23, 38, 34]. In a few words, a continuation represents control flow by capturing the notion of the rest of the program, after the current point during the program s execution. Some functional languages, such as Scheme [22] and SML/NJ [37], provide direct support for capturing and invoking continuations, which are treated as first-class values. In such languages, continuations can be used to implement a variety of advanced control flow constructs. They roughly correspond to jumps to different places; programmers can use them as a low-level mechanism to implement disciplined (or undisciplined) goto, resumable exceptions, or even coroutines. Continuation-passing style (CPS) is the style of programming in which control is passed explicitly in the form of continuations, in contrast to direct style, which is the usual style of programming. In direct style, a function is called with a number of arguments, it evaluates its result, and returns it to the caller. In CPS, on the other hand, functions never return to the caller. They receive as an additional argument a continuation (or more than one, if necessary), which they invoke with the value of their result, as soon as that is computed. Programs in direct style can be automatically translated to CPS [13]. Indeed CPS Printed: August 2016, Revised April

2 is commonly employed in the development of optimizing compilers for languages with higher-order functions [3]. In recent years, CPS has found a significant practical use for synchronous or asynchronous web programming [31, 32, 12, 21]. Continuations do not only generalize the notion of a callback function that is standard in web programming. They can be used to circumvent the statelessness of the HTTP protocol which, in the traditional model of web programming, typically leads to poorly structured code. Several continuation-aware web servers and web frameworks have been developed [47, 44, 48, 35] and have known varying degrees of popularity. In the semantics of programming languages, continuations can be used to model a variety of advanced control concepts, including nonlocal exits, exceptions, coroutines [18] and even multitasking [46, 14]. Various forms of delimited continuations [15, 16, 36, 33, 13, 19, 25] provide even finer control than traditional continuations; they represent a part of the rest of what remains to be computed and they allow (or impose) a more structured way to the use of continuations. However, it is generally believed that traditional continuations do not work well in the presence of concurrency [19]. In the words of Mosses, from his more recent survey of programming language description languages [27]: Although continuation-passing style is sometimes regarded as a standard style to use for denotational semantics, it is inadequate for describing languages that involve non-determinism or concurrent processes. We argue that the fault lies not with the use of CPS, either as a programming style or as a tool for modeling denotational semantics, but with the standard, traditional notion of continuation, which is inadequate to describe certain aspects of concurrency. To alleviate this problem, in our previous publications we have introduced the continuation semantics for concurrency (CSC) technique and we have used it for defining the semantics of several concurrent languages [40, 9]. CSC provides a general tool for modelling control in concurrent systems and it can be used to design both operational and denotational semantic models. When used for the latter, the distinctive characteristic of the CSC technique is that continuations are modelled as appropriate structures of computations (denotations). The structure of continuations is representative of the control flow concepts of the languages under study. Computations are also called processes in [40]. Intuitively, CSC is a semantic formalization of a process scheduler. Processes are grouped in what is called a continuation, and the term process denotes the (partially evaluated) meaning of a statement. The concurrency control concepts themselves are modelled as operations manipulating continuations. The domain of CSC can be defined based on a set Id of (process) identifiers. The set of identifiers Id is endowed with a partial order, which induces the structure of continuations specific of the language under investigation. For example, in [42, 41] continuations are multisets of computations that are executed in parallel. In [40, 9, 10] continuations are trees of computations with active computations at the leaves. In this paper, we propose a different solution by focusing on a much simpler structure for continuations, more reminiscent of traditional continuations. We investigate the denotational semantics of concurrent systems in classic continuation-passing style (CPS) based on the interplay between computations (denotations), interaction multisets, synchronous and asynchronous continuations. Our notion of a synchronous continuation roughly coincides with the traditional one: a function that awaits a value and represents the rest of the program by yielding its final result. However, the awaited value encompasses an asynchronous continuation, which may contain a suspended computation, in a way similar to that used by resumption-based approaches to concurrency [11]. We argue that this enhanced notion of continuation provides the necessary structure that is missing from the traditional approach. When a computation is evaluated with respect to a synchronous continuation, the computation is decomposed into an interaction multiset and an asynchronous continuation, which are transmitted as parameters to the synchronous continuation. We offer denotational semantics designed in CPS for various binary and multiparty interaction mechanisms. We hope to collect sufficient evidence that CPS can be used as a general tool for designing denotational semantics for concurrent languages. 2

3 Note that CSC (continuation semantics for concurrency [40, 9]) and CPS (continuation-passing style) are different techniques, relying on different (classes of) domains and different evaluation strategies for continuations. CSC captures the flow of control by explicit manipulations of process identifiers and requires silent steps to handle synchronous interactions [40, 42, 10], that are not needed in the CPSbased approach that we introduce in this paper. Also, using classic CPS, in this work we establish laws of synchronous interactions that have not been investigated for CSC. Unlike other semantic models of concurrency [30, 5], in the CPS approach that we introduce in this paper the final yield of the semantic functions is a simple collection of observations assembled in a linear time domain. No branching structure is needed. All communication and concurrency control concepts are modelled as operations manipulating continuations. The terms linear time and branching time are often used in temporal logic and semantics [5]. Intuitively, an element of a linear time domain is a collection of (execution) traces. An element of a branching time domain is a tree like structure. Following de Bakker and de Vink [5] in this paper we use the mathematical methodology of metric semantics. The main mathematical tool in this approach to semantics is Banach s theorem which states that contracting functions on complete metric spaces have unique fixed points. The metric domains that we use to express computation are complete metric spaces. We use the general method for solving reflexive domain equations (in a category of complete metric spaces) developed by America and Rutten [2] as our domain of computations is defined as the solution of an equation where the domain variable occurs in the left hand side of a function space construction. The rest of this paper is organized as follows. In sections 3 and 4 we introduce an abstract concurrent language L providing a general mechanism of of interaction between multisets of distributed actions. In section 4 we define a denotational semantics for L. The denotational semantics is designed in continuation-passing style (CPS). We show that the semantic operators designed in CPS satisfy the basic laws of concurrent systems, such as the commutativity and the associativity of parallel composition. Next, by customizing the behavior of continuations, in sections 5 and 6 we obtain denotational models for a couple of imperative concurrent languages and a nature inspired formalism. In section 5 we investigate two imperative concurrent languages L MSYN and L SYN based on Hoare s CSP, providing multiparty and binary interaction mechanisms, respectively. In section 6 we investigate the semantics of a language L DNA based on a process algebra for DNA computing introduced by Cardelli. A smaller version of this technical report will appear in Fundamenta Informaticae. Haskell Implementation We have developed complete and accurate implementations of the denotational semantics given in this paper, using the functional language Haskell [29]. The L MSYN, L SYN and L DNA example programs presented in this paper as well as other programs are provided, and can be executed by using the semantic interpreters available from [49]. Note that only two interpreters are available at [49]. L SYN programs can be executed using the interpreter for L MSYN, because L SYN is a strict subset of L MSYN. In designing the denotational semantics presented in this paper we started from domain equations of the form D = F R, where F = (D R); such domain equations are standard in classic continuation-passing style (CPS) [45, 39, 26]. A computation (denotation) of type D is a function that takes a continuation of type F and applies the continuation to the computation, yielding a final result of type R. R is some domain of final program answers. This domain can be implemented in Haskell by: type D = F -> R, type F = K -> R and data K = K D. Specific of the approach that we introduce in this paper is the decomposition of a computation of type D into an interaction multiset of type W and an asynchronous continuation of type K, which are transmitted as parameters to a synchronous continuation of type F. An asynchronous continuation may be either a computation (K D) or the empty asynchronous continuation K0. In Haskell we implement this domain of CPS as follows [49]: type D = F -> R type F = (W, K) -> R data K = K0 K D 3

4 The definitions given above represent a Haskell implementation of the mathematical domains (of denotations, synchronous continuations and asynchronous continuations, respectively) given in section 4, where the various domains are defined formally. 2 Mathematical Preliminaries The notation (x )X introduces the set X with typical element x ranging over X. By P(X) we denote the power set of X, i.e., the set of all subsets of X. The notation P π (X) denotes the subset of the power set of X whose elements have property π. For example, P finite (X) is the set of all finite subsets of X. Let f X Y be a function. The function [ f x y ] : X Y, is defined (for x, x X, y Y ) by: [ f x y ](x ) = if x =x then y else f(x ). Instead of [ [ f x 1 y 1 ] x n y n ] we write [ f x 1 y 1 x n y n ]. Higher-order functions have a prominent role in the semantic models given in this paper. We assume the reader is familiar with the λ calculus notation. 2.1 Multisets A multiset is a generalization of a set, intuitively, a collection in which an element may occur more than once. One can represent the concept of a multiset of elements of type X by using functions from X N. A finite multiset of X can be represented by a function m A N +, where A P finite (X) and N + = N \ {0} (the set of positive natural numbers). Let (x )X be a countable set. We define: [X] not. = A P finite (X) {m m A N + } As X is countable, P finite (X) is also countable. [X] is the set of all finite multisets of elements of type X. An element m [X] is a function m : A N +, for some finite subset A X, such that x A : m(x) > 0. m(x) is called the multiplicity (number of occurrences) of x in m. We represent a multiset m [X] by enumerating its elements between brackets [ and ]. For example, [x 1, x 2, x 1, x 1, x 2, x 3, x 3 ] is the multiset with 3 occurrences of x 1, 2 occurrences of x 2, and 2 occurrences of x 3, i.e., the function m : {x 1, x 2, x 3 } N +, m(x 1 ) = 3, m(x 2 ) = 2 and m(x 3 ) = 2. Notice that the elements of a multiset are not ordered. For example [x 1, x 1, x 2 ] = [x 1, x 2, x 1 ] = [x 2, x 1, x 1 ]. [] is the empty multiset, i.e., the function with empty graph. One can define various operations on multisets m 1, m 2 [X]. Below, dom(m) is the domain of function m. We use the multiset sum operation m 1 m 2 ( : [X] [X] [X]), defined by dom(m 1 m 2 ) = dom(m 1 ) dom(m 2 ), and (m 1 m 2 )(x) = m 1 (x) + m 2 (x) if x dom(m 1 ) dom(m 2 ) m 1 (x) if x dom(m 1 ) \ dom(m 2 ) m 2 (x) if x dom(m 2 ) \ dom(m 1 ) The multiset sum operation is associative and commutative. We write m 1 = m 2 to express that the multisets m 1 and m 2 are equal. m 1 = m 2 iff dom(m 1 ) = dom(m 2 ) and x dom(m 1 ) : m 1 (x) = m 2 (x). We also write x m to express that x dom(m). More about the mathematics of multisets can be found in [1]. 2.2 Metric spaces The study presented in this paper takes place in the mathematical framework of 1-bounded complete metric spaces. We work with the following notions which we assume known: metric and ultrametric space, isometry (distance preserving bijection between metric spaces, denoted by = ), complete metric space, and compact set. The reader may consult the monograph [5] for further details. If (X, d X ), (Y, d Y ) are metric spaces, we recall that a function f : X Y is a contraction if c R, 0 c < 1, x 1, x 2 X : d Y (f(x 1 ), f(x 2 )) c d X (x 1, x 2 ). In metric semantics it is customary to 4

5 attach a contracting factor of c = 1 2 to each computation step. When c = 1 the function f is called nonexpansive. We denote the set of all nonexpansive functions from X to Y by X 1 Y. Let f : X X be a function. If f(x) = x we call x a fixed point of f. When this fixed point is unique we write x = fix(f). Theorem 2.1 (Banach) Let (X, d X ) be a nonempty complete metric space. Each contraction f : X X has a unique fixed point. If (x, y )X is any nonempty set, one can define the discrete metric on X (d : X X [0, 1]) as follows: d(x, y) = 0 if x = y, and d(x, y) = 1 otherwise. (X, d) is a complete ultrametric space. Other composed metric spaces can be built up using the composite metrics given in definition 2.2. Definition 2.2 Let (X, d X ), (Y, d Y ) be (ultra) metric spaces. On (x )X, (f )X Y (the function space), (x, y) X Y (the Cartesian product), u, v X + Y (the disjoint union, defined by: X + Y = ({1} X) ({2} Y )), and U, V P(X) (the power set of X) one can define the following metrics: (a) d 1 2 X : X X [0, 1], d 1 2 X(x 1, x 2 ) = 1 2 d X(x 1, x 2 ) (b) d X Y : (X Y ) (X Y ) [0, 1], (c) d X Y : (X Y ) (X Y ) [0, 1] d X Y ((x 1, y 1 ), (x 2, y 2 )) = max{d X (x 1, x 2 ), d Y (y 1, y 2 )} d X Y (f 1, f 2 ) = sup x X d Y (f 1 (x), f 2 (x)) (d) d X+Y : (X + Y ) (X + Y ) [0, 1] d X+Y (u, v) = if (u, v X) then d X (u, v) else if (u, v Y ) then d Y (u, v) else 1 (e) d H : P(X) P(X) [0, 1], d H (U, V ) = max{sup u U d(u, V ), sup v V d(v, U)}, where d(u, W ) = inf w W d X (u, w). By convention sup = 0, inf = 1 (d H is the Hausdorff metric). We use the abbreviation P nco (X) to denote the power set of non-empty compact subsets of X. Also, we often suppress the metric part in domain definitions, and write, e.g., 1 2 X instead of (X, d 1 2 X). Remark 2.3 Let (X, d X ), (Y, d Y ), d 1 2 X, d X Y, d X Y, d X+Y and d H be as in definition 2.2. In case d X, d Y are ultrametrics, so are d 1 2 X, d X Y, d X Y, d X+Y and d H. Moreover, if (X, d X ), (Y, d Y ) are complete then 1 2 X, X Y, X 1 Y, X Y,X + Y, and P nco (X) (with the metrics defined above) are also complete metric spaces [5]. 3 Syntax and Semantics of Interaction We consider an abstract language L whose semantics is defined based on a general notion of interaction between multisets of distributed actions. We assume given a set (a )A of elementary statements or atomic statements, and a set (y )Y of recursion variables. ;, + and are operators for sequential, nondeterministic and parallel composition, respectively. is also called a merge operator. is the left merge operator and is the synchronization merge operator. is the left synchronization merge operator, that is specific of the continuation semantics presented in this paper. Definition 3.1 (Syntax of L) (a) (Statements) s( Stat) ::= a y s;s s + s s s s s s s s s (b) (Guarded statements) g( GStat) ::= a g;s g + g g g g g g s g g (c) (Declarations) (D )Decl = Y GStat (d) (Programs) (π )L = Decl Stat 5

6 Remark 3.2 Following [5], we employ an approach to recursion based on declarations and guarded statements. In a guarded statement each recursive call is preceded by at least one elementary statement, which guarantees the fact that the semantic operators are contracting functions in the present metric setting. For the sake of brevity (and without loss of generality) in what follows we assume a fixed declaration D Decl. All considerations in any given argument refer to this fixed D. Having a fixed declaration D, instead of an L program π = (D, s) we simply mention the statement s. For inductive proofs we introduce a complexity measure c s that decreases upon recursive calls. It is easy to check that c s is well defined due to our restriction to guarded recursion. Definition 3.3 (Complexity measure) The function c s : L N is given by: c s (a) = 1 c s (y) = 1 + c s (D(y)) c s (s 1 op s 2 ) = 1 + c s (s 1 ) op {;, } c s (s 1 op s 2 ) = 1+ max{c s (s 1 ), c s (s 2 )} op {+,,, } Operators ;, +,,, are taken from classic process algebra theories [4]. Operator is included in the semantic model of L for technical reasons, that will be explained later. L is an abstract language. To illustrate the use of CPS as a language design tool, we also consider a couple of concrete languages, obtained from L by customizing the behavior of elementary actions and the set of operators. For the concrete languages presented in this paper it is convenient to describe the behavior associated to the elementary statements with the aid of a set Act of actions, and we assume given a mapping i : A Act. Intuitively, an action is an intermediate representation of an elementary statement. The set of actions may be needed for technical reasons, in order to obtain a clear separation between syntax and semantics. Let (w )W = [Act] be the set of all finite multisets of actions, that we name interaction multisets. Let also (θ )Θ be a set of interaction abstractions. There is a special value Θ, representing a failed interaction (or no interaction at all). The semantics of L is defined based on a mapping interact : W Θ, which describes a general notion of interaction between multisets of distributed actions. Customizing the interaction mapping we obtain various interaction mechanisms, including binary and multiparty CSPlike synchronous communication [20, 42, 10] and the multiparty interaction mechanism employed in the DNA inspired language presented in [8]. These models are presented in section 5 and section 6, respectively. Remark 3.4 In general, an interaction may also depend upon the current state of the system, in which case the mapping interact should take an additional parameter representing the current state. We do not describe formally such a language in this paper, but we consider an example from the literature. The asynchronous communication mechanism presented in [7] involves no synchronous interaction between two or more distributed actions, but there is a suspension mechanism and the elementary actions are interpreted as state transformations. 4 Semantics for Concurrency in Continuation-Passing Style We introduce a denotational semantics designed in continuation-passing style (CPS) for the language L. In this section we assume given a metric domain (r )R whose elements are used as final yields of our denotational semantics. We also assume that R is endowed with a binary operator : R R 1 R, which is nonexpansive, commutative, associative and idempotent. is an abstract semantic operator for nondeterministic choice in L. Note that, there is no need to impose a branching structure upon R. It can be a simple linear time domain, whose elements are collections of (sequences of) observables. In subsequent sections we will present several possible instantiations of R and the semantic operator. 6

7 The denotational semantics of L is defined as a mapping [ ] : L D, where D is defined by the following domain equation (isometry between complete metric spaces, to be precise): (φ )D = F 1 R (ϕ )F = (W K) 1 R (κ )K = {κ 0 } D D is the domain of denotations or computations. F is the domain of synchronous continuations. K is the domain of asynchronous continuations. A denotation φ is a function which receives as parameter a synchronous continuation ϕ and returns a value of the final domain R. A synchronous continuation receives as parameter a pair (w, κ), consisting of an interaction multiset w and an asynchronous continuation κ and yields a value of the final domain. An asynchronous continuation is either the empty continuation κ 0, or a denotation stored in the space 1 2 D. In the above equations the set W is endowed with the discrete metric which is an ultrametric. The composed metric spaces are built up using the composite metrics given in definition 2.2. According to the general theory developed in [2], these domain equations have a solution which is unique (up to isometry). Note that continuations are elements of a complete space which is the solution of a domain equation where the domain variable occurs in the left hand side of a function space construction. The solutions for D, F and K are obtained as complete ultrametric spaces. Definition 4.1 Let (ω )Op = D D 1 D. For any ω Op, we denote by ω the operator ω : K K 1 K defined, for any φ, φ 1, φ 2 D by: ω(κ 0, κ 0 ) = κ 0, ω(κ 0, φ) = ω(φ, κ 0 ) = φ, and ω(φ 1, φ 2 ) = ω(φ 1, φ 2 ). We define Ω ;, Ω, Ω : Op Op as follows, and we take ; = fix(ω ; ), = fix(ω ), = Ω ; ( ), = Ω ( ), and = Ω ( ). Ω ; (ω)(φ 1, φ 2 ) = λϕ. φ 1 (λ(w 1, κ 1 ). ϕ(w 1, ω(κ 1, φ 2 ))) Ω (ω)(φ 1, φ 2 ) = λϕ. φ 1 (λ(w 1, κ 1 ). φ 2 (λ(w 2, κ 2 ). ϕ(w 1 w 2, ω(κ 1, κ 2 )))) Ω (ω)(φ 1, φ 2 ) = λϕ. Ω (ω)(φ 1, φ 2 )(ϕ) Ω (ω)(φ 2, φ 1 )(ϕ) Ω (ω)(φ 1, φ 2 ) = λϕ. Ω ; (ω)(φ 1, φ 2 )(ϕ) Ω ; (ω)(φ 2, φ 1 )(ϕ) Ω (ω)(φ 1, φ 2 )(ϕ) In combination with Banach s theorem 2.1, Lemma 4.2 shows that the semantic operators ;,,, and are well defined. Lemma 4.2 The higher-order mappings Ω ; and Ω are 1 2- contractive (in ω). Proof Omitted. The properties stated by this Lemma are an easy consequence of the fact that in the right hand side of each equation defining Ω ;, Ω, Ω and Ω, the computations ω(κ 1, φ 2 ) and ω(κ 1, κ 2 ) are stored in the space 1 2 D. Some explanations are necessary. The semantic operators ;, and behave as follows: φ 1 ;φ 2 = λϕ. φ 1 (λ(w 1, κ 1 ). ϕ(w 1, κ 1 ; φ 2 )) φ 1 φ 2 = λϕ. φ 1 (λ(w 1, κ 1 ). ϕ(w 1, κ 1 φ2 )) φ 1 φ 2 = λϕ. φ 1 (λ(w 1, κ 1 ). φ 2 (λ(w 2, κ 2 ). ϕ(w 1 w 2, κ 1 κ2 ))) A sequential composition φ 1 ;φ 2 is evaluated with respect to a synchronous continuation ϕ. The computation φ 1 yields a pair (w 1, κ 1 ) representing its decomposition into an interaction multiset w 1 and an asynchronous continuation κ 1. Control is then transmitted to the synchronous continuation ϕ, which receives as parameters the interaction multiset w 1 and an asynchronous continuation consisting of a 7

8 sequential composition between κ 1 and the computation φ 2. The latter does not contribute to the interaction; its execution is started only after the completion of the asynchronous continuation κ 1, representing the rest of the computation φ 1. The left merge composition φ 1 φ 2 is evaluated in a similar manner, but in this case the asynchronous continuation κ 1 is executed in parallel with the computation φ 2. The left synchronization operation φ 1 φ 2 evaluates both computations φ 1 and φ 2 ; they both contribute to the interaction and their asynchronous continuations are executed in parallel. The operator for parallel composition can be expressed (based on and ) as a nondeterministic choice between alternative computations. It can express all possible interleavings of two or more concurrent processes and synchronize an arbitrary number of concurrent processes, taking into consideration all possible interactions. Remark 4.3 φ 1 φ 2 = λϕ. (φ 1 φ 2 )(ϕ) (φ 2 φ 1 )(ϕ) φ 1 φ 2 = λϕ. (φ 1 φ 2 )(ϕ) (φ 2 φ 1 )(ϕ) (φ 1 φ 2 )(ϕ) (a) Operators ;,,,, : D D 1 D, and ;, : K K 1 K are nonexpansive in both arguments. They behave as follows: κ 0 ; κ 0 = κ 0 κ0 = κ 0, κ 0 ; φ = φ ; κ 0 = κ 0 φ = φ κ0 = φ, φ 1 ; φ 2 = φ 1 ;φ 2, and φ 1 φ2 = φ 1 φ 2, for any φ, φ 1, φ 2 D. (b) Operator is specific of the continuation semantics that we present in this paper. It was introduced in order to obtain symmetric definitions for operators and. By using this symmetry and the fact that the nondeterministic choice operator is commutative, it follows that operators and are also commutative: φ 1 φ 2 = φ 2 φ 1, and φ 1 φ 2 = φ 2 φ 1, for any φ 1, φ 2 D. The commutativity of extends easily to the whole class of asynchronous continuations: κ 1 κ2 = κ 2 κ1, for any κ 1, κ 2 K. In definition 4.4 we assume given a set Act of actions, and a mapping i : A Act, which behaves as explained in section 3. We recall that W = [Act]. Definition 4.4 (Denotational semantics of L) Let (S )Sem = L D. We define Φ : Sem Sem as follows. We also take [ ] = fix(φ) to be the denotational semantics of L ([ ] : L D). Φ(S)(a)(ϕ) = ϕ([i(a)], κ 0 ) Φ(S)(y)(ϕ) = Φ(S)(D(y))(ϕ) Φ(S)(s 1 + s 2 )(ϕ) = Φ(S)(s 1 )(ϕ) Φ(S)(s 2 )(ϕ) Φ(S)(s 1 ;s 2 )(ϕ) = (Φ(S)(s 1 );S(s 2 ))(ϕ) Φ(S)(s 1 s 2 )(ϕ) = (Φ(S)(s 1 ) S(s 2 ))(ϕ) (Φ(S)(s 2 ) S(s 1 ))(ϕ) (Φ(S)(s 1 ) Φ(S)(s 2 ))(ϕ) Φ(S)(s 1 s 2 )(ϕ) = (Φ(S)(s 1 ) Φ(S)(s 2 ))(ϕ) Φ(S)(s 1 s 2 )(ϕ) = (Φ(S)(s 1 ) S(s 2 ))(ϕ) Φ(S)(s 1 s 2 )(ϕ) = (Φ(S)(s 1 ) Φ(S)(s 2 ))(ϕ) The denotational semantics [ ] is defined as the (unique) fixed point of Φ. It may not be obvious why on the right-hand sides of the equations given in definition 4.4(b), in some places we use Φ(S) while in other places we use S. The definition of Φ(S) is organized by induction on c s (s) (see definition 3.3). Intuitively, Φ is a contraction (hence it has a unique fixed point) because in the definition of Φ, each computation S(s) occurs as a parameter of an operator ; or, which stores S(s) in the space K = {κ 0 } D. Definition 4.4 is justified by Lemma 4.5, which is easily established. 8

9 Lemma 4.5 The mapping Φ is well defined and contractive (in S). Proof It suffices to show that d(φ(s 1 )(s)(ϕ), Φ(S 2 )(s)(ϕ)) d(s 1, S 2 ) for any s Stat, ϕ F. We proceed by induction on c s (s). We treat two subcases. Case s = a. d(φ(s 1 )(a)(ϕ), Φ(S 2 )(a)(ϕ)) = d(ϕ([i(a)], κ 0 ), ϕ([i(a)], κ 0 )) = 0 d(s 1, S 2 ) Case s = s 1 ; s 2. d(φ(s 1 )(s 1 ; s 2 )(ϕ), Φ(S 2 )(s 1 ; s 2 )(ϕ)) = d((φ(s 1 )(s 1 ); S 1 (s 2 ))(ϕ), (Φ(S 2 )(s 1 ); S 2 (s 2 ))(ϕ)) = d(φ(s 1 )(s 1 )(λ(w 1, κ 1 ). ϕ(w 1, κ 1 ; S 1 (s 2 ))), Φ(S 2 )(s 1 )(λ(w 1, κ 1 ). ϕ(w 1, κ 1 ; S 2 (s 2 )))) max{d(φ(s 1 )(s 1 )(λ(w 1, κ 1 ). ϕ(w 1, κ 1 ; S 1 (s 2 ))), Φ(S 1 )(s 1 )(λ(w 1, κ 1 ). ϕ(w 1, κ 1 ; S 2 (s 2 )))) #.1, d(φ(s 1 )(s 1 )(λ(w 1, κ 1 ). ϕ(w 1, κ 1 ; S 2 (s 2 ))), Φ(S 2 )(s 1 )(λ(w 1, κ 1 ). ϕ(w 1, κ 1 ; S 2 (s 2 )))) #.2 } Taking into account that Φ(S 1 )(s 1 ) is nonexpansive, for #.1 we can compute as follows: #.1 sup (w1,κ 1 ) (W K) d(ϕ(w 1, κ 1 ; S 1 (s 2 )), ϕ(w 1, κ 1 ; S 2 (s 2 ))) [ϕ is nonexpansive] sup (w1,κ 1 ) (W K) d((w 1, κ 1 ; S 1 (s 2 )), (w 1, κ 1 ; S 2 (s 2 ))) [K = {κ 0 } D] d 1 2 D(S 1(s 2 ), S 2 (s 2 )) 1 2 d D(S 1, S 2 ) Also, for #.2 we have: #.2 d(φ(s 1 )(s 1 ), Φ(S 2 )(s 1 )) [ Induction hypothesis, c s (s 1 ) < c s (s 1 ; s 2 ) = c s (s)] 1 2 d(s 1, S 2 ) 4.1 Concurrency Laws in Continuation Semantics We present a method of describing the behavior of concurrent systems in denotational models designed in continuation-passing style. For the abstract language L we show that the semantic operators satisfy the usual laws of concurrency theories, such as commutativity and associativity of parallel composition. Various properties can be proved by simple manipulations of the semantic equations. Some properties require arguments of the kind ε 1 2 ε ε = 0, which are standard in metric semantics [5]. The main concurrency laws that can be established for L are given in theorem Some auxiliary properties The following lemma is useful in various contexts. Lemma 4.6 For any s Stat, and ϕ 1, ϕ 2 F, φ 1, φ 2 D: (a) [s ](λ(w, κ). ϕ 1 (w, κ) ϕ 2 (w, κ)) = [s ](ϕ 1 ) [s ](ϕ 2 ) 9

10 (b) [s ](λ(w, κ). φ 1 (ϕ 1 ) φ 2 (ϕ 2 )) = [s ](λ(w, κ). φ 1 (ϕ 1 )) [s ](λ(w, κ). φ 2 (ϕ 2 )) Proof We only handle Lemma 4.6(a). We proceed by induction on c s (s). Two subcases. Case s = a. [a ](λ(w, κ). ϕ 1 (w, κ) ϕ 2 (w, κ)) = ϕ 1 ([i(a)], κ 0 ) ϕ 2 ([i(a)], κ 0 ) = [a ](ϕ 1 ) [a ](ϕ 2 ) Case s = s 1 s 2. [s 1 s 2 ](λ(w, κ). ϕ 1 (w, κ) ϕ 2 (w, κ)) = [s 1 ](λ(w 1, κ 1 ). [s 2 ](λ(w 2, κ 2 ). ϕ 1 (w 1 w 2, κ 1 κ2 ) ϕ 2 (w 1 w 2, κ 1 κ2 ))) $.0 Let ψ 1, ψ 2 (W K) 1 F be given by: ψ 1 (w, κ) = λ(w 2, κ 2 ). ϕ 1 (w w 2, κ κ 2 ), and ψ 2 (w, κ) = λ(w 2, κ 2 ). ϕ 2 (w w 2, κ κ 2 ). It is easy to check that ψ 1, ψ 2 are well-defined (ψ 1 (w, κ), ψ 2 (w, κ) F, for any w W, κ K) and nonexpansive. Therefore: $.0 = [s 1 ](λ(w 1, κ 1 ). [s 2 ](λ(w 2, κ 2 ). ψ 1 (w 1, κ 1 )(w 2, κ 2 ) ψ 2 (w 1, κ 1 )(w 2, κ 2 ))) [Induction hypothesis for s 2 (c s (s 2 ) < c s (s 1 s 2 ))] = [s 1 ](λ(w 1, κ 1 ). [s 2 ](ψ 1 (w 1, κ 1 )) [s 2 ](ψ 2 (w 1, κ 1 ))) = [s 1 ](λ(w 1, κ 1 ). [s 2 ](λ(w 2, κ 2 ). ϕ 1 (w 1 w 2, κ 1 κ2 )) [s 2 ](λ(w 2, κ 2 ). ϕ 2 (w 1 w 2, κ 1 κ2 ))).0 Let ϕ 1, ϕ 2 F be given by: ϕ 1 = λ(w 1, κ 1 ). [s 2 ](λ(w 2, κ 2 ). ϕ 1 (w 1 w 2, κ 1 κ2 )), and ϕ 2 = λ(w 1, κ 1 ). [s 2 ](λ(w 2, κ 2 ). ϕ 2 (w 1 w 2, κ 1 κ2 )). In the sequel we compute as follows:.0 = [s 1 ](λ(w 1, κ 1 ). ϕ 1 (w 1, κ 1 ) ϕ 2 (w 1, κ 1 )) [Induction hypothesis for s 1 (c s (s 1 ) < c s (s 1 s 2 ))] = [s 1 ](ϕ 1 ) [s 1 ](ϕ 2 ) = [s 1 ](λ(w 1, κ 1 ). [s 2 ](λ(w 2, κ 2 ). ϕ 1 (w 1 w 2, κ 1 κ2 ))) [s 1 ](λ(w 1, κ 1 ). [s 2 ](λ(w 2, κ 2 ). ϕ 2 (w 1 w 2, κ 1 κ2 ))) = [s 1 s 2 ](ϕ 1 ) [s 1 s 2 ](ϕ 2 ) Lemma 4.7 Let K D = {κ 0 } {[s ] s Stat}. For any s Stat, and ϕ, ϕ F: d([s ](ϕ ), [s ](ϕ )) sup w W,κ KD d(ϕ (w, κ), ϕ (w, κ)) Proof By induction on c s (s). Two subcases. Case s = a d([a ](ϕ ), [a ](ϕ )) = d(ϕ ([i(a)], κ 0 ), ϕ ([i(a)], κ 0 )) sup w W,κ KD d(ϕ (w, κ), ϕ (w, κ)) 10

11 Case s = s 1 s 2 d([s 1 s 2 ](ϕ ), [s 1 s 2 ](ϕ )) = d([s1 ](λ(w 1, κ 1 ). ϕ (w 1, κ 1 [s 2 ])), [s1 ](λ(w 1, κ 1 ). ϕ (w 1, κ 1 [s 2 ]))) Induction hypothesis sup w W,κ KD d(ϕ (w, κ [s 2 ]), ϕ (w, κ [s 2 ])) = max {sup w W d(ϕ (w, [s 2 ]), ϕ (w, [s 2 ])), sup w W,s Stat d(ϕ (w, [s s 2 ]), ϕ (w, [s s 2 ])) } sup w W,κ KD d(ϕ (w, κ), ϕ (w, κ)) Lemma 4.8 For any op K : K K 1 K, s 1, s 2 Stat, and ϕ F: [s 1 ](λ(w 1, κ 1 ). [s 2 ](λ(w 2, κ 2 ). ϕ(w 1 w 2, op K (κ 1, κ 2 )))) = [s 2 ](λ(w 2, κ 2 ). [s 1 ](λ(w 1, κ 1 ). ϕ(w 1 w 2, op K (κ 1, κ 2 )))) Proof By induction on c s (s 1 ). Three subcases. Case s 1 = a. [a ](λ(w 1, κ 1 ). [s 2 ](λ(w 2, κ 2 ). ϕ(w 1 w 2, op K (κ 1, κ 2 )))) = [s 2 ](λ(w 2, κ 2 ). ϕ([i(a)] w 2, op K (κ 0, κ 2 ))) = [s 2 ](λ(w 2, κ 2 ). [a ](λ(w 1, κ 1 ). ϕ(w 1 w 2, op K (κ 1, κ 2 ))) Case s 1 = s s2 1. [s s2 1 ](λ(w 1, κ 1 ). [s 2 ](λ(w 2, κ 2 ). ϕ(w 1 w 2, op K (κ 1, κ 2 )))) = [s 1 1 ](λ(w 1, κ 1 ). [s 2 ](λ(w 2, κ 2 ). ϕ(w 1 w 2, op K (κ 1, κ 2 )))) [s 2 1 ](λ(w 1, κ 1 ). [s 2 ](λ(w 2, κ 2 ). ϕ(w 1 w 2, op K (κ 1, κ 2 )))) [Induction hypothesis, c s (s 1 ) = 1 + max{c s (s 1 1 ), c s(s 2 1 )}] = [s 2 ](λ(w 2, κ 2 ). [s 1 1 ](λ(w 1, κ 1 ). ϕ(w 1 w 2, op K (κ 1, κ 2 )))) [s 2 ](λ(w 2, κ 2 ). [s 2 1 ](λ(w 1, κ 1 ). ϕ(w 1 w 2, op K (κ 1, κ 2 )))) [Lemma 4.6(b)] = [s 2 ](λ(w 2, κ 2 ). ([s 1 1 ](λ(w 1, κ 1 ). ϕ(w 1 w 2, op K (κ 1, κ 2 ))) [s 2 1 ](λ(w 1, κ 1 ). ϕ(w 1 w 2, op K (κ 1, κ 2 ))))) = [s 2 ](λ(w 2, κ 2 ). [s s2 1 ](λ(w 1, κ 1 ). ϕ(w 1 w 2, op K (κ 1, κ 2 )))) = [s 2 ](λ(w 2, κ 2 ). [s 1 ](λ(w 1, κ 1 ). ϕ(w 1 w 2, op K (κ 1, κ 2 )))) Case s 1 = s 1 1 s2 1. Let op K : (K K) 1 K be given by: op K (κ 1 1, κ 2) = op K (κ 1 1 [s 2 1 ], κ 2 ). As op K and ; are nonexpansive, op K is also nonexpansive. [s 1 1 s2 1 ](λ(w 1, κ 1 ). [s 2 ](λ(w 2, κ 2 ). ϕ(w 1 w 2, op K (κ 1, κ 2 )))) = [s 1 1 ](λ(w1 1, κ1 1 ). [s 2 ](λ(w 2, κ 2 ). ϕ(w 1 1 w 2, op K (κ 1 1 [s 2 1 ], κ 2 )))) = [s 1 1 ](λ(w1 1, κ1 1 ). [s 2 ](λ(w 2, κ 2 ). ϕ(w 1 1 w 2, op K (κ 1 1, κ 2)))) [Induction hypothesis, c s (s 1 ) = 1 + c s (s 1 1 )] = [s 2 ](λ(w 2, κ 2 ). [s 1 1 ](λ(w1 1, κ1 1 ). ϕ(w1 1 w 2, op K (κ 1 1, κ 2)))) = [s 2 ](λ(w 2, κ 2 ). [s 1 1 ](λ(w1 1, κ1 1 ). ϕ(w1 1 w 2, op K (κ 1 1 [s 2 1 ], κ 2 )))) 11

12 = [s 2 ](λ(w 2, κ 2 ). [s 1 1 s2 1 ](λ(w 1, κ 1 ). ϕ(w 1 w 2, op K (κ 1, κ 2 )))) If we replace op K with in Lemma 4.8 we obtain immediately the following interesting result: [s 1 s 2 ] = [s 2 s 1 ], for any s 1, s 2 Stat. Lemma 4.9 presents some simple properties of. Lemma 4.9 For any s 1, s 2, s 3 Stat: (a) [s 1 s 2 ] = [s 2 s 1 ] = [(s 1 s 2 ) + (s 2 s 1 ) ] = [s 1 s 2 ] = [s 2 s 1 ] (b) [s 1 (s 2 + s 3 ) ] = [(s 1 s 2 ) + (s 1 s 3 ) ] (c) [(s 1 + s 2 ) s 3 ) ] = [(s 1 s 3 ) + (s 2 s 3 ) ] Proof Lemma 4.9(a) is an easy consequence of Lemma 4.8. Lemma 4.9(b) can be proved by using Lemma 4.6. Here we only handle Lemma 4.9(c). [(s 1 + s 2 ) s 3 ) ] = λϕ. [s 1 + s 2 ](λ(w, κ). [s 3 ](λ(w 3, κ 3 ). ϕ(w w 3, κ κ 3 ))) = λϕ. ([s 1 ](λ(w, κ). [s 3 ](λ(w 3, κ 3 ). ϕ(w w 3, κ κ 3 ))) [s 2 ](λ(w, κ). [s 3 ](λ(w 3, κ 3 ). ϕ(w w 3, κ κ 3 )))) = λϕ. ([s 1 s 3 ](ϕ) [s 2 s 3 ](ϕ)) = λϕ. [(s 1 s 3 ) + (s 2 s 3 ) ](ϕ) = [(s 1 s 3 ) + (s 2 s 3 ) ] Syntactic contexts and basic interaction terms We show that continuations can be used to reason in a compositional manner upon the behavior of concurrent programs. We introduce a notion of syntactic contexts for the class of L statements. Definition 4.10 (Contexts for L) C ::= a y C ;C C + C C C C C C C C C We denote by C(s) the result of substituting s for all occurrences of in C. This substitution can be defined inductively: (s) = s, a(s) = a, y(s) = y, and (C 1 op C 2 )(s) = C 1 (s) op C 2 (s), where op {;, +,,,, }. Lemma 4.11 shows that program properties are preserved in any L syntactic context. It is an easy consequence of the compositionality of the denotational semantics [ ]. Lemma 4.11 If s 1, s 2 Stat and [s 1 ] = [s 2 ], then [C(s 1 ) ] = [C(s 2 ) ], for any context C. As a syntactic counterpart of the set W of interaction multisets, we introduce a class of interaction statements (u )UStat, with elements of the form (a 1 a n ), where a i A are L elementary statements. The semantic operator for synchronization is commutative (see Remark 4.3(b)). We will prove that is also associative, hence any order of association of the elementary statements a i can be used in an interaction statement. Definition 4.12 (Interaction statements) The class (u )UStat is given by: u ::= a u u, where a( A) is an elementary statement. We define a function i U : UStat W, i U (a) = [i(a)], i U (u 1 u 2 ) = i U (u 1 ) i U (u 2 ). Recall that i : A Act is a given function mapping elementary statements to actions, and W = [Act]. is the multiset sum operation, described in section

13 In definition 4.13 we introduce the class (t )TStat of basic interaction terms (TStat Stat). We can prove that every non-recursive L statement (i.e., not containing recursion variables y Y ) is semantically equivalent to a basic interaction term (obviously, any t TStat is a non-recursive term). Definition 4.13 (Basic interaction terms) We define the set (t )TStat by: t ::= u u; t t + t. The properties stated in Lemma 4.14 can be established for any s, s 1, s 2 Stat and for any u UStat. In particular, they can be used to reason about the behavior of basic interaction terms. Lemma 4.14 For any s, s 1, s 2 Stat, and for any u U we have: [u ] = λϕ. ϕ(i U (u), κ 0 ), [u;s ] = λϕ. ϕ(i U (u), [s ]), and [s 1 + s 2 ] = λϕ. ([s 1 ](ϕ) [s 2 ](ϕ)). Proof We show that [u ] = λϕ. ϕ(i U (u), κ 0 ) by structural induction on u. Case u = a. [a ] = λϕ. ϕ([i(a)], κ 0 ) = λϕ. ϕ(i U (a), κ 0 ) Case u = u 1 u 2. [u 1 u 2 ] [Lemma 4.9(a)] = [u 1 u 2 ] = λϕ. [u 1 ](λ(w 1, κ 1 ). [u 2 ](λ(w 2, κ 2 ). ϕ(w 1 w 2, κ 1 κ2 ))) [Induction hypothesis for u 2 ] = λϕ. [u 1 ](λ(w 1, κ 1 ). ϕ(w 1 i U (u 2 ), κ 1 κ0 )) [Induction hypothesis for u 1 ] = λϕ. ϕ(i U (u 1 ) i U (u 2 ), κ 0 κ0 ) = λϕ. ϕ(i U (u 1 u 2 ), κ 0 ) = λϕ. ϕ(i U (u), κ 0 ) Next, we show that [u;s ] = λϕ. ϕ(i U (u), [s ]), by using the previous result. [u; s ] = λϕ. [u ](λ(w, κ). ϕ(w, κ ; [s ])) = λϕ. ϕ(i U (u), κ 0 ; [s ]) = λϕ. ϕ(i U (u), [s ]) The property [s 1 + s 2 ] = λϕ. ([s 1 ](ϕ) [s 2 ](ϕ)) is obvious (by definition 4.4) Concurrency laws In the sequel we write s 1 s 2 to express that [C(s 1 ) ] = [C(s 2 ) ] for all L contexts C. Theorem 4.15 For all s, s 1, s 2, s 3 Stat, and u, u 1, u 2 UStat: (A1) s 1 + s 2 s 2 + s 1 (A2) (s 1 + s 2 ) + s 3 s 1 + (s 2 + s 3 ) (A3) s + s s (A4) (s 1 + s 2 );s 3 (s 1 ;s 3 ) + (s 2 ;s 3 ) (A5) (s 1 ;s 2 );s 3 s 1 ;(s 2 ;s 3 ) (CM1) s 1 s 2 (s 1 s 2 ) + (s 2 s 1 ) + (s 1 s 2 ) (CM2) u s u; s (CM3) (u;s 1 ) s 2 u;(s 1 s 2 ) (CM4) (s 1 + s 2 ) s 3 (s 1 s 3 ) + (s 2 s 3 ) (CM5) (u 1 ;s) u 2 (u 1 u 2 );s (CM6) u 1 (u 2 ; s) (u 1 u 2 );s (CM7) (u 1 ;s 1 ) (u 2 ;s 2 ) (u 1 u 2 );(s 1 s 2 ) (CM8) (s 1 + s 2 ) s 3 (s 1 s 3 ) + (s 2 s 3 ) (CM9) s 1 (s 2 + s 3 ) (s 1 s 2 ) + (s 1 s 3 ) 13

14 Proof According to Lemma 4.11, in each case, in order to prove that s s it is enough to show that [s ] = [s ]. (A1) [s 1 + s 2 ] = λϕ. [s 1 + s 2 ](ϕ) = λϕ. ([s 1 ](ϕ) [s 2 ](ϕ)) [ is commutative] = λϕ. ([s 2 ](ϕ) [s 1 ](ϕ)) = λϕ. [s 2 + s 1 ](ϕ) = [s 2 + s 1 ] (A2) [(s 1 + s 2 ) + s 3 ] = λϕ. [(s 1 + s 2 ) + s 3 ](ϕ) = λϕ. (([s 1 ](ϕ) [s 2 ](ϕ)) [s 3 ](ϕ)) [ is associative] = λϕ. ([s 1 ](ϕ) ([s 2 ](ϕ) [s 3 ](ϕ))) = λϕ. [s 1 + (s 2 + s 3 ) ](ϕ) = [s 1 + (s 2 + s 3 ) ] (A3) We leave this proof as an easy exercise for the reader. It is a consequence of the fact that is idempotent. (A4) [(s 1 + s 2 ); s 3 ] = λϕ. [(s 1 + s 2 ); s 3 ](ϕ) = λϕ. [s 1 + s 2 ](λ(w, κ). ϕ(w, κ ; [s 3 ])) = λϕ. ([s 1 ](λ(w, κ). ϕ(w, κ ; [s 3 ])) [s 2 ](λ(w, κ). ϕ(w, κ ; [s 3 ]))) = λϕ. ([s 1 ; s 3 ](ϕ) [s 2 ; s 3 ](ϕ)) = λϕ. [(s 1 ; s 3 ) + (s 2 ; s 3 ) ](ϕ) = [(s 1 ; s 3 ) + (s 2 ; s 3 ) ] (A5) The proof for A5 involves an argument of the kind ε 1 2 ε ε = 0. Let ε = sup s1,s 2,s 3 Stat d D ([s 1 ]; ([s 2 ]; [s 3 ]), ([s 1 ]; [s 2 ]); [s 3 ]). sup s1,s 2,s 3 Stat d D ([s 1 ; (s 2 ; s 3 ) ], [(s 1 ; s 2 ); s 3 ]) = ε = sup s1,s 2,s 3 Stat d D (λϕ. [s 1 ](λ(w 1, κ 1 ). ϕ(w 1, κ 1 ; ([s 2 ]; [s 3 ]))), λϕ. [s 1 ](λ(w 1, κ 1 ). ϕ(w 1, (κ 1 ; [s 2 ]) ; [s 3 ]))) [Lemma 4.7] sup ϕ F,w W,κ KD,s 2,s 3 Stat d R (ϕ(w, κ ; ([s 2 ]; [s 3 ])), ϕ(w, (κ ; [s 2 ]) ; [s 3 ])) [ϕ is nonexpansive, ϕ F ] sup κ KD,s 2,s 3 Stat d K (κ ; ([s 2 ]; [s 3 ]), (κ ; [s 2 ]) ; [s 3 ]) [K D = {κ 0 } {s 1 s 1 Stat}, K = {κ 0 } + ( 1 2 D)] = max{d 1 2 D([s 2 ; s 3 ], [s 2 ; s 3 ]), sup s1,s 2,s 3 Stat d 1 2 D([s 1 ]; ([s 2 ]; [s 3 ]), ([s 1 ]; [s 2 ]); [s 3 ])} = 1 2 sup s 1,s 2,s 3 Stat d D ([s 1 ]; ([s 2 ]; [s 3 ]), ([s 1 ]; [s 2 ]); [s 3 ]) = 1 2 ε We have obtained ε 1 2 ε, which implies ε = 0. Hence [s 1 ; (s 2 ; s 3 ) ] = [[(s 1 ; s 2 ); s 3 ], for any s 1, s 2, s 3 Stat, as required. (CM1) [s 1 s 2 ] = λϕ. [s 1 s 2 ](ϕ) = λϕ. (([s 1 ] [s 2 ])(ϕ) ([s 2 ] [s 1 ])(ϕ) ([s 1 ] [s 2 ])(ϕ)) 14

15 = λϕ. ([s 1 s 2 ](ϕ) [s 2 s 1 ](ϕ) [s 1 s 2 ](ϕ)) = λϕ. ([(s 1 s 2 ) + (s 2 s 1 ) + (s 1 s 2 ) ](ϕ)) = [(s 1 s 2 ) + (s 2 s 1 ) + (s 1 s 2 ) ] (CM2) For CM2 we compute as follows: [u s ] = λϕ. [u s ](ϕ) = λϕ. [u ](λ(w, κ). ϕ(w, κ [s ])) [Lemma 4.14] = λϕ. ϕ(i U (u), [s ]) = λϕ. [u ](λ(w, κ). ϕ(w, κ ; [s ])) = λϕ. [u; s ](ϕ) = [[u; s ] (CM3) [(u; s 1 ) s 2 ] = λϕ. [(u; s 1 ) s 2 ](ϕ) = λϕ. [u; s 1 ](λ(w 1, κ 1 ). ϕ(w 1, κ 1 [s 2 ])) = λϕ. [u ](λ(w, κ). ϕ(w, (κ [s 1 ]) [s 2 ])) [Lemma 4.14] = λϕ. ϕ(i U (u), (κ 0 [s 1 ]) [s 2 ]) = λϕ. ϕ(i U (u), [s 1 ] [s 2 ]) = λϕ. ϕ(i U (u), [s 1 s 2 ]) [Lemma 4.14] = [u; (s 1 s 2 ) ] (CM4) [(s 1 + s 2 ) s 3 ] = λϕ. [(s 1 + s 2 ) s 3 ](ϕ) = λϕ. [s 1 + s 2 ](λ(w, κ). ϕ(w, κ [s 3 ])) = λϕ. ([s 1 ](λ(w, κ). ϕ(w, κ [s 3 ])) [s 2 ](λ(w, κ). ϕ(w, κ [s 3 ]))) = λϕ. ([s 1 s 3 ](ϕ) [s 2 s 3 ](ϕ)) = λϕ. [(s 1 s 3 ) + (s 2 s 3 ) ](ϕ) = [(s 1 s 3 ) + (s 2 s 3 ) ] (CM5) [(u 1 ; s) u 2 ] = λϕ. [(u 1 ; s) u 2 ](ϕ) [Lemma 4.9] = λϕ. [(u 1 ; s) u 2 ](ϕ) = λϕ. [u 1 ; s ](λ(w, κ). [u 2 ](λ(w 2, κ 2 ). ϕ(w w 2, κ κ 2 ))) = λϕ. [u 1 ](λ(w 1, κ 1 ). [u 2 ](λ(w 2, κ 2 ). ϕ(w 1 w 2, (κ 1 ; [s ]) κ 2 ))) [Lemma 4.14] = λϕ. [u 1 ](λ(w 1, κ 1 ). ϕ(w 1 i U (u 2 ), (κ 1 ; [s ]) κ 0 )) [Lemma 4.14] = λϕ. ϕ(i U (u 1 ) i U (u 2 ), (κ 0 ; [s ]) κ 0 )) = λϕ. ϕ(i U (u 1 u 2 ), [s ]) [Lemma 4.14] = [(u 1 u 2 ); s ] (CM6) [u 1 (u 2 ; s) ] [Lemma 4.9] = [(u 2 ; s) u 1 ] [(CM5), UStat Stat, Lemma 4.9] = [(u 1 u 2 ); s ] 15

16 (CM7) [(u 1 ; s 1 ) (u 2 ; s 2 ) ] = λϕ. [(u 1 ; s 1 ) (u 2 ; s 2 ) ](ϕ) [Lemma 4.9] = λϕ. [(u 1 ; s 1 ) (u 2 ; s 2 ) ](ϕ) = λϕ. [u 1 ; s 1 ](λ(w 1, κ 1 ). [u 2 ; s 2 ](λ(w 2, κ 2 ). ϕ(w 1 w 2, κ 1 κ2 ))) = λϕ. [u 1 ; s 1 ](λ(w 1, κ 1 ). [u 2 ](λ(w 2, κ 2 ). ϕ(w 1 w 2, κ 1 (κ 2 ; [s 2 ])))) = λϕ. [u 1 ](λ(w 1, κ 1 ). [u 2 ](λ(w 2, κ 2 ). ϕ(w 1 w 2, (κ 1 ; [s 1 ]) (κ 2 ; [s 2 ])))) [Lemma 4.14] = λϕ. [u 1 ](λ(w 1, κ 1 ). ϕ(w 1 i U(u 2 ), (κ 1 ; [s 1 ]) (κ 0 ; [s 2 ])))) [Lemma 4.14] = λϕ. ϕ(i U (u 1 ) i U (u 2 ), (κ 0 ; [s 1 ]) (κ 0 ; [s 2 ])) [Lemma 4.14] = λϕ. ϕ(i U (u 1 u 2 ), [s 1 s 2 ]) [Lemma 4.14] = [(u 1 u 2 ); (s 1 s 2 ) ] (CM8) [(s 1 + s 2 ) s 3 ] [Lemma 4.9] = [(s 1 + s 2 ) s 3 ] [Lemma 4.9] = [(s 1 s 3 ) + (s 2 s 3 ) ] = λϕ. [(s 1 s 3 ) + (s 2 s 3 ) ](ϕ) = λϕ. ([s 1 s 3 ](ϕ) [s 2 s 3 ](ϕ)) [Lemma 4.9] = λϕ. ([s 1 s 3 ](ϕ) [s 2 s 3 ](ϕ)) = λϕ. [(s 1 s 3 ) + (s 2 s 3 ) ](ϕ) = [(s 1 s 3 ) + (s 2 s 3 ) ] (CM9) Property (CM9) follows easily by using (CM8) the fact that the synchronization operator is commutative. We can find similarities between the set of laws established in theorem 4.15 and the axioms of the Algebra of Communication Processes (ACP) of Bergstra and Klop [6, 4]. Both systems are parameterized by a set (a )A, the elements of which are called atomic (or elementary) statements in L, respectively atomic actions in ACP. The left synchronization merge operator of L is lacking from ACP, but ACP provides an encapsulation operator H (H A), which is not included in L. Also, in ACP there is a (partial) communication function γ : A A A which describes the effect of simultaneously executing two atomic actions (considering the notation employed in [4]). If in L we see the set (u )UStat of interaction statements as a set of atomic actions, then the set of laws stated in theorem 4.15 coincides with the set of axioms of the ACP process algebra from which the axioms for deadlock and the axioms for encapsulation are eliminated (see [6, 4]). In this interpretation, the two systems behave the same if we consider a communication (interaction) function γ : UStat UStat UStat, defined for all pairs u 1, u 2 of actions by γ(u 1, u 2 ) = u 1 u 2, in which case the axioms for deadlock can also be removed (because this γ is defined everywhere). Remark 4.16 For any non-recursive L program (closed term) s Stat, there is a basic interaction term t TStat such that s t. 1 We can prove this claim by considering the laws stated in theorem 4.15 as a term rewriting system with rules corresponding to laws A3-A5 and CM1-CM9. Each of these laws can give rise to a corresponding rewriting rule (by reading the law from left to right). For example, the rewriting rule corresponding 1 In Remark 4.16 we investigate the similarities with the ACP theory [6, 4], hence we consider only L programs that do not contain the left synchronization merge operator. 16

17 to law CM1 is: s 1 s 2 (s 1 s 2 ) + (s 2 s 1 ) + (s 1 s 2 ). It is not difficult to prove that the rewriting system corresponding to laws A3-A5 and CM1-CM9 is strongly normalizing 2 and confluent 3 modulo the laws A1 and A2 (i.e., up to the order of summands). Various similar proofs are provided, e.g., in [6, 4]. The terminology that we use in this remark is also taken from [6, 4]. Let (h )HStat be given by h ::= u h; h h + h. Clearly, HStat is a (strict) superset of T Stat (we have U Stat T Stat HStat Stat). In T Stat the sequential composition is available only in the restricted (prefix) form u; t, with u UStat and t T Stat, whereas HStat also contains statements of the form h 1 ; h 2, for arbitrary h 1, h 2 HStat. It is easy to see that, for every HStat term h there is a basic interaction term t such that h t. This can be proved by considering a term rewriting system with rules corresponding to the laws A4 and A5 (stated in theorem 4.15). It is not hard to see that this term rewriting system is strongly normalizing and confluent (modulo the laws A1 and A2), and that a normal form 4 of a closed term is a basic interaction term t T Stat. More generaly, one can show that the term rewriting system corresponding to the laws A3-A5 and CM1-CM9 is strongly normalizing and confluent (modulo the laws A1 and A2) and that a normal form must be a basic interaction term t T Stat. For if a closed L term s is an element of (s )HStat, the property follows by rewriting s into a basic interaction term t T Stat, as explained above. Otherwise, if a closed L term s (s / HStat) has an occurrence of the parallel composition operator then the rewriting rule corresponding to CM1 can still be applied. Finally, if the term s has an occurrence of or and s / HStat, then consider the smallest subterm s such that s / HStat and s has an occurrence of or. Such a subterm s has either the form s 1 s 2 or the form s 1 s 2, where s 1, s 2 HStat; note that, if s = s 1 s 2 then either s 1 / UStat or s 2 / UStat, because we assume that s / HStat (if s 1 UStat and s 2 UStat then we also have s 1 s 2 UStat). If s has the form s 1 s 2 then we can rewrite s 1 ( HStat) into a basic interaction term and in this case one of the rewriting rules corresponding to the laws CM2-CM4 can still be applied. Otherwise, if s has the form s 1 s 2 then we can rewrite both s 1 ( HStat) and s 2 ( HStat) into corresponding basic interaction terms t 1 ( T Stat) and t 2 ( T Stat) and we obtain t 1 t 2 ; note that in this case either t 1 / UStat or t 2 / UStat (because either s 1 / UStat or s 2 / UStat), hence one of the rewriting rules corresponding to the laws CM5-CM9 is applicable. Proposition 4.17 establishes a couple of properties which are also well known from classic process algebra theories [4], including the associativity of operators,. The left synchronization merge operator is also associative. The proof of Proposition 4.17 is laborious but it relies again on arguments of the kind ε 1 2 ε ε = 0, which are standard in metric semantics [5]. Proposition 4.17 For all s, s 1, s 2, s 3 Stat: (1) (s 1 s 2 ) s 3 s 1 (s 2 s 3 ) (2) (s 1 s 2 ) s 3 s 1 (s 2 s 3 ) (3) (s 1 s 2 ) s 3 s 1 (s 2 s 3 ) (4) (s 1 s 2 ) s 3 s 1 (s 2 s 3 ) (5) s 1 (s 2 s 3 ) (s 1 s 2 ) s 3 Proof According to Lemma 4.11, in each case, in order to prove that s s it is enough to show that [s ] = [s ]. The proof of property 4.17(1) (the associativity of the parallel composition operator ) is the most laborious one. Let ε = sup s1,s 2,s 3 Stat d D (([s 1 ] [s 2 ]) [s 3 ], [s 1 ] ([s 2 ] [s 3 ])). We will show that ε 1 2 ε, which implies ε = 0. Therefore we have [(s 1 s 2 ) s 3 ] = [[(s 1 s 2 ) s 3 ], hence we obtain property 4.17(1): (s 1 s 2 ) s 3 s 1 (s 2 s 3 ), as required. ε = sup s1,s 2,s 3 Stat sup ϕ F d((([s 1 ] [s 2 ]) [s 3 ])(ϕ), ([s 1 ] ([s 2 ] [s 3 ]))(ϕ)) 2 There is no infinite sequence of reductions s 1 s 2. 3 Whenever s s 1 and s s 2 we can find an s such that s 1 s and s 2 s. 4 A term s is a normal form (or in normal form) if there is no term s with s s. 17

18 = sup s1,s 2,s 3 Stat,ϕ F d(([s 1 ] [s 2 ])(λ(w, κ). ϕ(w, κ [s 3 ])) [s 3 ](λ(w 3, κ 3 ). ϕ(w 3, κ 3 ([s1 ] [s 2 ]))) ([s 1 ] [s 2 ])(λ(w, κ). [s 3 ](λ(w 3, κ 3 ). ϕ(w w 3, κ κ 3 ))) [s 3 ](λ(w 3, κ 3 ). ([s 1 ] [s 2 ])(λ(w, κ). ϕ(w 3 w, κ 3 κ))), [s 1 ](λ(w 1, κ 1 ). ϕ(w 1, κ 1 ([s2 ] [s 3 ]))) ([s 2 ] [s 3 ])(λ(w, κ). ϕ(w, κ [s 1 ])) [s 1 ](λ(w 1, κ 1 ). ([s 2 ] [s 3 ])(λ(w, κ). ϕ(w 1 w, κ 1 κ))) ([s 2 ] [s 3 ])(λ(w, κ). [s 1 ](λ(w 1, κ 1 ). ϕ(w w 1, κ κ 1 )))) [Lemma 4.6, is commutative and associative] = sup s1,s 2,s 3 Stat,ϕ F d([s 1 ](λ(w 1, κ 1 ). ϕ(w 1, (κ 1 [s 2 ]) [s 3 ])) $.1 [s 2 ](λ(w 2, κ 2 ). ϕ(w 2, (κ 2 [s 1 ]) [s 3 ])) $.2 [s 1 ](λ(w 1, κ 1 ). [s 2 ](λ(w 2, κ 2 ). ϕ(w 1 w 2, (κ 1 κ2 ) [s 3 ]))) $.3 [s 2 ](λ(w 2, κ 2 ). [s 1 ](λ(w 1, κ 1 ). ϕ(w 1 w 2, (κ 2 κ1 ) [s 3 ]))) $.4 [s 1 ](λ(w 1, κ 1 ). [s 3 ](λ(w 3, κ 3 ). ϕ(w 1 w 3, (κ 1 [s 2 ]) κ 3 ))) $.5 [s 2 ](λ(w 2, κ 2 ). [s 3 ](λ(w 3, κ 3 ). ϕ(w 2 w 3, (κ 2 [s 1 ]) κ 3 ))) $.6 [s 1 ](λ(w 1, κ 1 ). [s 2 ](λ(w 2, κ 2 ). [s 3 ](λ(w 3, κ 3 ). ϕ(w 1 w 2 w 3, (κ 1 κ2 ) κ 3 )))) $.7 [s 2 ](λ(w 2, κ 2 ). [s 1 ](λ(w 1, κ 1 ). [s 3 ](λ(w 3, κ 3 ). ϕ(w 1 w 2 w 3, (κ 2 κ1 ) κ 3 )))) $.8 [s 3 ](λ(w 3, κ 3 ). ϕ(w 3, κ 3 ([s1 ] [s 2 ]))) $.9 [s 3 ](λ(w 3, κ 3 ). [s 1 ](λ(w 1, κ 1 ). ϕ(w 1 w 3, κ 3 (κ1 [s 2 ])))) $.10 [s 3 ](λ(w 3, κ 3 ). [s 2 ](λ(w 2, κ 2 ). ϕ(w 2 w 3, κ 3 (κ2 [s 1 ])))) $.11 [s 3 ](λ(w 3, κ 3 ). [s 1 ](λ(w 1, κ 1 ). [s 2 ](λ(w 2, κ 2 ). ϕ(w 1 w 2 w 3, κ 3 (κ1 κ2 ))))) $.12 [s 3 ](λ(w 3, κ 3 ). [s 2 ](λ(w 2, κ 2 ). [s 1 ](λ(w 1, κ 1 ). ϕ(w 1 w 2 w 3, κ 3 (κ2 κ1 ))))) $.13, [s 1 ](λ(w 1, κ 1 ). ϕ(w 1, κ 1 ([s2 ] [s 3 ]))).1 [s 2 ](λ(w 2, κ 2 ). ϕ(w 2, (κ 2 [s 3 ]) [s 1 ])).2 [s 3 ](λ(w 3, κ 3 ). ϕ(w 3, (κ 3 [s 2 ]) [s 1 ])).3 [s 2 ](λ(w 2, κ 2 ). [s 3 ](λ(w 3, κ 3 ). ϕ(w 2 w 3, (κ 2 κ3 ) [s 1 ]))).4 [s 3 ](λ(w 3, κ 3 ). [s 2 ](λ(w 2, κ 2 ). ϕ(w 2 w 3, (κ 3 κ2 ) [s 1 ]))).5 [s 1 ](λ(w 1, κ 1 ). [s 2 ](λ(w 2, κ 2 ). ϕ(w 1 w 2, κ 1 (κ2 [s 3 ])))).6 [s 1 ](λ(w 1, κ 1 ). [s 3 ](λ(w 3, κ 3 ). ϕ(w 1 w 3, κ 1 (κ3 [s 2 ])))).7 18

TABLEAU-BASED DECISION PROCEDURES FOR HYBRID LOGIC

TABLEAU-BASED DECISION PROCEDURES FOR HYBRID LOGIC TABLEAU-BASED DECISION PROCEDURES FOR HYBRID LOGIC THOMAS BOLANDER AND TORBEN BRAÜNER Abstract. Hybrid logics are a principled generalization of both modal logics and description logics. It is well-known

More information

THE NUMBER OF UNARY CLONES CONTAINING THE PERMUTATIONS ON AN INFINITE SET

THE NUMBER OF UNARY CLONES CONTAINING THE PERMUTATIONS ON AN INFINITE SET THE NUMBER OF UNARY CLONES CONTAINING THE PERMUTATIONS ON AN INFINITE SET MICHAEL PINSKER Abstract. We calculate the number of unary clones (submonoids of the full transformation monoid) containing the

More information

Brief Notes on the Category Theoretic Semantics of Simply Typed Lambda Calculus

Brief Notes on the Category Theoretic Semantics of Simply Typed Lambda Calculus University of Cambridge 2017 MPhil ACS / CST Part III Category Theory and Logic (L108) Brief Notes on the Category Theoretic Semantics of Simply Typed Lambda Calculus Andrew Pitts Notation: comma-separated

More information

CATEGORICAL SKEW LATTICES

CATEGORICAL SKEW LATTICES CATEGORICAL SKEW LATTICES MICHAEL KINYON AND JONATHAN LEECH Abstract. Categorical skew lattices are a variety of skew lattices on which the natural partial order is especially well behaved. While most

More information

arxiv: v1 [math.lo] 24 Feb 2014

arxiv: v1 [math.lo] 24 Feb 2014 Residuated Basic Logic II. Interpolation, Decidability and Embedding Minghui Ma 1 and Zhe Lin 2 arxiv:1404.7401v1 [math.lo] 24 Feb 2014 1 Institute for Logic and Intelligence, Southwest University, Beibei

More information

4: SINGLE-PERIOD MARKET MODELS

4: SINGLE-PERIOD MARKET MODELS 4: SINGLE-PERIOD MARKET MODELS Marek Rutkowski School of Mathematics and Statistics University of Sydney Semester 2, 2016 M. Rutkowski (USydney) Slides 4: Single-Period Market Models 1 / 87 General Single-Period

More information

6: MULTI-PERIOD MARKET MODELS

6: MULTI-PERIOD MARKET MODELS 6: MULTI-PERIOD MARKET MODELS Marek Rutkowski School of Mathematics and Statistics University of Sydney Semester 2, 2016 M. Rutkowski (USydney) 6: Multi-Period Market Models 1 / 55 Outline We will examine

More information

Yao s Minimax Principle

Yao s Minimax Principle Complexity of algorithms The complexity of an algorithm is usually measured with respect to the size of the input, where size may for example refer to the length of a binary word describing the input,

More information

Unary PCF is Decidable

Unary PCF is Decidable Unary PCF is Decidable Ralph Loader Merton College, Oxford November 1995, revised October 1996 and September 1997. Abstract We show that unary PCF, a very small fragment of Plotkin s PCF [?], has a decidable

More information

Martingale Pricing Theory in Discrete-Time and Discrete-Space Models

Martingale Pricing Theory in Discrete-Time and Discrete-Space Models IEOR E4707: Foundations of Financial Engineering c 206 by Martin Haugh Martingale Pricing Theory in Discrete-Time and Discrete-Space Models These notes develop the theory of martingale pricing in a discrete-time,

More information

Strong normalisation and the typed lambda calculus

Strong normalisation and the typed lambda calculus CHAPTER 9 Strong normalisation and the typed lambda calculus In the previous chapter we looked at some reduction rules for intuitionistic natural deduction proofs and we have seen that by applying these

More information

Semantics with Applications 2b. Structural Operational Semantics

Semantics with Applications 2b. Structural Operational Semantics Semantics with Applications 2b. Structural Operational Semantics Hanne Riis Nielson, Flemming Nielson (thanks to Henrik Pilegaard) [SwA] Hanne Riis Nielson, Flemming Nielson Semantics with Applications:

More information

Comparing Goal-Oriented and Procedural Service Orchestration

Comparing Goal-Oriented and Procedural Service Orchestration Comparing Goal-Oriented and Procedural Service Orchestration M. Birna van Riemsdijk 1 Martin Wirsing 2 1 Technische Universiteit Delft, The Netherlands m.b.vanriemsdijk@tudelft.nl 2 Ludwig-Maximilians-Universität

More information

Notes on the symmetric group

Notes on the symmetric group Notes on the symmetric group 1 Computations in the symmetric group Recall that, given a set X, the set S X of all bijections from X to itself (or, more briefly, permutations of X) is group under function

More information

A Translation of Intersection and Union Types

A Translation of Intersection and Union Types A Translation of Intersection and Union Types for the λ µ-calculus Kentaro Kikuchi RIEC, Tohoku University kentaro@nue.riec.tohoku.ac.jp Takafumi Sakurai Department of Mathematics and Informatics, Chiba

More information

Computing Unsatisfiable k-sat Instances with Few Occurrences per Variable

Computing Unsatisfiable k-sat Instances with Few Occurrences per Variable Computing Unsatisfiable k-sat Instances with Few Occurrences per Variable Shlomo Hoory and Stefan Szeider Department of Computer Science, University of Toronto, shlomoh,szeider@cs.toronto.edu Abstract.

More information

GPD-POT and GEV block maxima

GPD-POT and GEV block maxima Chapter 3 GPD-POT and GEV block maxima This chapter is devoted to the relation between POT models and Block Maxima (BM). We only consider the classical frameworks where POT excesses are assumed to be GPD,

More information

Introduction to Probability Theory and Stochastic Processes for Finance Lecture Notes

Introduction to Probability Theory and Stochastic Processes for Finance Lecture Notes Introduction to Probability Theory and Stochastic Processes for Finance Lecture Notes Fabio Trojani Department of Economics, University of St. Gallen, Switzerland Correspondence address: Fabio Trojani,

More information

MITCHELL S THEOREM REVISITED. Contents

MITCHELL S THEOREM REVISITED. Contents MITCHELL S THEOREM REVISITED THOMAS GILTON AND JOHN KRUEGER Abstract. Mitchell s theorem on the approachability ideal states that it is consistent relative to a greatly Mahlo cardinal that there is no

More information

GUESSING MODELS IMPLY THE SINGULAR CARDINAL HYPOTHESIS arxiv: v1 [math.lo] 25 Mar 2019

GUESSING MODELS IMPLY THE SINGULAR CARDINAL HYPOTHESIS arxiv: v1 [math.lo] 25 Mar 2019 GUESSING MODELS IMPLY THE SINGULAR CARDINAL HYPOTHESIS arxiv:1903.10476v1 [math.lo] 25 Mar 2019 Abstract. In this article we prove three main theorems: (1) guessing models are internally unbounded, (2)

More information

UPWARD STABILITY TRANSFER FOR TAME ABSTRACT ELEMENTARY CLASSES

UPWARD STABILITY TRANSFER FOR TAME ABSTRACT ELEMENTARY CLASSES UPWARD STABILITY TRANSFER FOR TAME ABSTRACT ELEMENTARY CLASSES JOHN BALDWIN, DAVID KUEKER, AND MONICA VANDIEREN Abstract. Grossberg and VanDieren have started a program to develop a stability theory for

More information

Best-Reply Sets. Jonathan Weinstein Washington University in St. Louis. This version: May 2015

Best-Reply Sets. Jonathan Weinstein Washington University in St. Louis. This version: May 2015 Best-Reply Sets Jonathan Weinstein Washington University in St. Louis This version: May 2015 Introduction The best-reply correspondence of a game the mapping from beliefs over one s opponents actions to

More information

Semantics and Verification of Software

Semantics and Verification of Software Semantics and Verification of Software Thomas Noll Software Modeling and Verification Group RWTH Aachen University http://moves.rwth-aachen.de/teaching/ws-1718/sv-sw/ Recap: CCPOs and Continuous Functions

More information

3 Arbitrage pricing theory in discrete time.

3 Arbitrage pricing theory in discrete time. 3 Arbitrage pricing theory in discrete time. Orientation. In the examples studied in Chapter 1, we worked with a single period model and Gaussian returns; in this Chapter, we shall drop these assumptions

More information

Proof Techniques for Operational Semantics

Proof Techniques for Operational Semantics Proof Techniques for Operational Semantics Wei Hu Memorial Lecture I will give a completely optional bonus survey lecture: A Recent History of PL in Context It will discuss what has been hot in various

More information

HW 1 Reminder. Principles of Programming Languages. Lets try another proof. Induction. Induction on Derivations. CSE 230: Winter 2007

HW 1 Reminder. Principles of Programming Languages. Lets try another proof. Induction. Induction on Derivations. CSE 230: Winter 2007 CSE 230: Winter 2007 Principles of Programming Languages Lecture 4: Induction, Small-Step Semantics HW 1 Reminder Due next Tue Instructions about turning in code to follow Send me mail if you have issues

More information

CS792 Notes Henkin Models, Soundness and Completeness

CS792 Notes Henkin Models, Soundness and Completeness CS792 Notes Henkin Models, Soundness and Completeness Arranged by Alexandra Stefan March 24, 2005 These notes are a summary of chapters 4.5.1-4.5.5 from [1]. 1 Review indexed family of sets: A s, where

More information

Maximum Contiguous Subsequences

Maximum Contiguous Subsequences Chapter 8 Maximum Contiguous Subsequences In this chapter, we consider a well-know problem and apply the algorithm-design techniques that we have learned thus far to this problem. While applying these

More information

Arborescent Architecture for Decentralized Supervisory Control of Discrete Event Systems

Arborescent Architecture for Decentralized Supervisory Control of Discrete Event Systems Arborescent Architecture for Decentralized Supervisory Control of Discrete Event Systems Ahmed Khoumsi and Hicham Chakib Dept. Electrical & Computer Engineering, University of Sherbrooke, Canada Email:

More information

arxiv: v2 [math.lo] 13 Feb 2014

arxiv: v2 [math.lo] 13 Feb 2014 A LOWER BOUND FOR GENERALIZED DOMINATING NUMBERS arxiv:1401.7948v2 [math.lo] 13 Feb 2014 DAN HATHAWAY Abstract. We show that when κ and λ are infinite cardinals satisfying λ κ = λ, the cofinality of the

More information

Conditional Rewriting

Conditional Rewriting Conditional Rewriting Bernhard Gramlich ISR 2009, Brasilia, Brazil, June 22-26, 2009 Bernhard Gramlich Conditional Rewriting ISR 2009, July 22-26, 2009 1 Outline Introduction Basics in Conditional Rewriting

More information

Lecture Notes on Bidirectional Type Checking

Lecture Notes on Bidirectional Type Checking Lecture Notes on Bidirectional Type Checking 15-312: Foundations of Programming Languages Frank Pfenning Lecture 17 October 21, 2004 At the beginning of this class we were quite careful to guarantee that

More information

Interpolation of κ-compactness and PCF

Interpolation of κ-compactness and PCF Comment.Math.Univ.Carolin. 50,2(2009) 315 320 315 Interpolation of κ-compactness and PCF István Juhász, Zoltán Szentmiklóssy Abstract. We call a topological space κ-compact if every subset of size κ has

More information

Virtual Demand and Stable Mechanisms

Virtual Demand and Stable Mechanisms Virtual Demand and Stable Mechanisms Jan Christoph Schlegel Faculty of Business and Economics, University of Lausanne, Switzerland jschlege@unil.ch Abstract We study conditions for the existence of stable

More information

2 Deduction in Sentential Logic

2 Deduction in Sentential Logic 2 Deduction in Sentential Logic Though we have not yet introduced any formal notion of deductions (i.e., of derivations or proofs), we can easily give a formal method for showing that formulas are tautologies:

More information

Math-Stat-491-Fall2014-Notes-V

Math-Stat-491-Fall2014-Notes-V Math-Stat-491-Fall2014-Notes-V Hariharan Narayanan December 7, 2014 Martingales 1 Introduction Martingales were originally introduced into probability theory as a model for fair betting games. Essentially

More information

Non replication of options

Non replication of options Non replication of options Christos Kountzakis, Ioannis A Polyrakis and Foivos Xanthos June 30, 2008 Abstract In this paper we study the scarcity of replication of options in the two period model of financial

More information

Notes on Natural Logic

Notes on Natural Logic Notes on Natural Logic Notes for PHIL370 Eric Pacuit November 16, 2012 1 Preliminaries: Trees A tree is a structure T = (T, E), where T is a nonempty set whose elements are called nodes and E is a relation

More information

Harvard School of Engineering and Applied Sciences CS 152: Programming Languages

Harvard School of Engineering and Applied Sciences CS 152: Programming Languages Harvard School of Engineering and Applied Sciences CS 152: Programming Languages Lecture 3 Tuesday, January 30, 2018 1 Inductive sets Induction is an important concept in the theory of programming language.

More information

The illustrated zoo of order-preserving functions

The illustrated zoo of order-preserving functions The illustrated zoo of order-preserving functions David Wilding, February 2013 http://dpw.me/mathematics/ Posets (partially ordered sets) underlie much of mathematics, but we often don t give them a second

More information

Cut-free sequent calculi for algebras with adjoint modalities

Cut-free sequent calculi for algebras with adjoint modalities Cut-free sequent calculi for algebras with adjoint modalities Roy Dyckhoff (University of St Andrews) and Mehrnoosh Sadrzadeh (Universities of Oxford & Southampton) TANCL Conference, Oxford, 8 August 2007

More information

Game Theory: Normal Form Games

Game Theory: Normal Form Games Game Theory: Normal Form Games Michael Levet June 23, 2016 1 Introduction Game Theory is a mathematical field that studies how rational agents make decisions in both competitive and cooperative situations.

More information

CS 4110 Programming Languages and Logics Lecture #2: Introduction to Semantics. 1 Arithmetic Expressions

CS 4110 Programming Languages and Logics Lecture #2: Introduction to Semantics. 1 Arithmetic Expressions CS 4110 Programming Languages and Logics Lecture #2: Introduction to Semantics What is the meaning of a program? When we write a program, we represent it using sequences of characters. But these strings

More information

A Knowledge-Theoretic Approach to Distributed Problem Solving

A Knowledge-Theoretic Approach to Distributed Problem Solving A Knowledge-Theoretic Approach to Distributed Problem Solving Michael Wooldridge Department of Electronic Engineering, Queen Mary & Westfield College University of London, London E 4NS, United Kingdom

More information

GAME THEORY. Department of Economics, MIT, Follow Muhamet s slides. We need the following result for future reference.

GAME THEORY. Department of Economics, MIT, Follow Muhamet s slides. We need the following result for future reference. 14.126 GAME THEORY MIHAI MANEA Department of Economics, MIT, 1. Existence and Continuity of Nash Equilibria Follow Muhamet s slides. We need the following result for future reference. Theorem 1. Suppose

More information

Harvard School of Engineering and Applied Sciences CS 152: Programming Languages

Harvard School of Engineering and Applied Sciences CS 152: Programming Languages Harvard School of Engineering and Applied Sciences CS 152: Programming Languages Lecture 2 Thursday, January 30, 2014 1 Expressing Program Properties Now that we have defined our small-step operational

More information

École normale supérieure, MPRI, M2 Year 2007/2008. Course 2-6 Abstract interpretation: application to verification and static analysis P.

École normale supérieure, MPRI, M2 Year 2007/2008. Course 2-6 Abstract interpretation: application to verification and static analysis P. École normale supérieure, MPRI, M2 Year 2007/2008 Course 2-6 Abstract interpretation: application to verification and static analysis P. Cousot Questions and answers of the partial exam of Friday November

More information

Long Term Values in MDPs Second Workshop on Open Games

Long Term Values in MDPs Second Workshop on Open Games A (Co)Algebraic Perspective on Long Term Values in MDPs Second Workshop on Open Games Helle Hvid Hansen Delft University of Technology Helle Hvid Hansen (TU Delft) 2nd WS Open Games Oxford 4-6 July 2018

More information

Development Separation in Lambda-Calculus

Development Separation in Lambda-Calculus WoLLIC 2005 Preliminary Version Development Separation in Lambda-Calculus Hongwei Xi 1,2 Computer Science Department Boston University Boston, Massachusetts, USA Abstract We present a proof technique in

More information

Computing Unsatisfiable k-sat Instances with Few Occurrences per Variable

Computing Unsatisfiable k-sat Instances with Few Occurrences per Variable Computing Unsatisfiable k-sat Instances with Few Occurrences per Variable Shlomo Hoory and Stefan Szeider Abstract (k, s)-sat is the propositional satisfiability problem restricted to instances where each

More information

5 Deduction in First-Order Logic

5 Deduction in First-Order Logic 5 Deduction in First-Order Logic The system FOL C. Let C be a set of constant symbols. FOL C is a system of deduction for the language L # C. Axioms: The following are axioms of FOL C. (1) All tautologies.

More information

Untyped Lambda Calculus

Untyped Lambda Calculus Chapter 2 Untyped Lambda Calculus We assume the existence of a denumerable set VAR of (object) variables x 0,x 1,x 2,..., and use x,y,z to range over these variables. Given two variables x 1 and x 2, we

More information

PARTITIONS OF 2 ω AND COMPLETELY ULTRAMETRIZABLE SPACES

PARTITIONS OF 2 ω AND COMPLETELY ULTRAMETRIZABLE SPACES PARTITIONS OF 2 ω AND COMPLETELY ULTRAMETRIZABLE SPACES WILLIAM R. BRIAN AND ARNOLD W. MILLER Abstract. We prove that, for every n, the topological space ω ω n (where ω n has the discrete topology) can

More information

In this lecture, we will use the semantics of our simple language of arithmetic expressions,

In this lecture, we will use the semantics of our simple language of arithmetic expressions, CS 4110 Programming Languages and Logics Lecture #3: Inductive definitions and proofs In this lecture, we will use the semantics of our simple language of arithmetic expressions, e ::= x n e 1 + e 2 e

More information

CS 4110 Programming Languages & Logics. Lecture 2 Introduction to Semantics

CS 4110 Programming Languages & Logics. Lecture 2 Introduction to Semantics CS 4110 Programming Languages & Logics Lecture 2 Introduction to Semantics 29 August 2012 Announcements 2 Wednesday Lecture Moved to Thurston 203 Foster Office Hours Today 11a-12pm in Gates 432 Mota Office

More information

Strongly compact Magidor forcing.

Strongly compact Magidor forcing. Strongly compact Magidor forcing. Moti Gitik June 25, 2014 Abstract We present a strongly compact version of the Supercompact Magidor forcing ([3]). A variation of it is used to show that the following

More information

Sy D. Friedman. August 28, 2001

Sy D. Friedman. August 28, 2001 0 # and Inner Models Sy D. Friedman August 28, 2001 In this paper we examine the cardinal structure of inner models that satisfy GCH but do not contain 0 #. We show, assuming that 0 # exists, that such

More information

INTERIM CORRELATED RATIONALIZABILITY IN INFINITE GAMES

INTERIM CORRELATED RATIONALIZABILITY IN INFINITE GAMES INTERIM CORRELATED RATIONALIZABILITY IN INFINITE GAMES JONATHAN WEINSTEIN AND MUHAMET YILDIZ A. We show that, under the usual continuity and compactness assumptions, interim correlated rationalizability

More information

16 MAKING SIMPLE DECISIONS

16 MAKING SIMPLE DECISIONS 247 16 MAKING SIMPLE DECISIONS Let us associate each state S with a numeric utility U(S), which expresses the desirability of the state A nondeterministic action A will have possible outcome states Result

More information

10.1 Elimination of strictly dominated strategies

10.1 Elimination of strictly dominated strategies Chapter 10 Elimination by Mixed Strategies The notions of dominance apply in particular to mixed extensions of finite strategic games. But we can also consider dominance of a pure strategy by a mixed strategy.

More information

A CATEGORICAL FOUNDATION FOR STRUCTURED REVERSIBLE FLOWCHART LANGUAGES: SOUNDNESS AND ADEQUACY

A CATEGORICAL FOUNDATION FOR STRUCTURED REVERSIBLE FLOWCHART LANGUAGES: SOUNDNESS AND ADEQUACY Logical Methods in Computer Science Vol. 14(3:16)2018, pp. 1 38 https://lmcs.episciences.org/ Submitted Oct. 12, 2017 Published Sep. 05, 2018 A CATEGORICAL FOUNDATION FOR STRUCTURED REVERSIBLE FLOWCHART

More information

Generalising the weak compactness of ω

Generalising the weak compactness of ω Generalising the weak compactness of ω Andrew Brooke-Taylor Generalised Baire Spaces Masterclass Royal Netherlands Academy of Arts and Sciences 22 August 2018 Andrew Brooke-Taylor Generalising the weak

More information

( ) = R + ª. Similarly, for any set endowed with a preference relation º, we can think of the upper contour set as a correspondance  : defined as

( ) = R + ª. Similarly, for any set endowed with a preference relation º, we can think of the upper contour set as a correspondance  : defined as 6 Lecture 6 6.1 Continuity of Correspondances So far we have dealt only with functions. It is going to be useful at a later stage to start thinking about correspondances. A correspondance is just a set-valued

More information

16 MAKING SIMPLE DECISIONS

16 MAKING SIMPLE DECISIONS 253 16 MAKING SIMPLE DECISIONS Let us associate each state S with a numeric utility U(S), which expresses the desirability of the state A nondeterministic action a will have possible outcome states Result(a)

More information

Algebra homework 8 Homomorphisms, isomorphisms

Algebra homework 8 Homomorphisms, isomorphisms MATH-UA.343.005 T.A. Louis Guigo Algebra homework 8 Homomorphisms, isomorphisms For every n 1 we denote by S n the n-th symmetric group. Exercise 1. Consider the following permutations: ( ) ( 1 2 3 4 5

More information

Competitive Outcomes, Endogenous Firm Formation and the Aspiration Core

Competitive Outcomes, Endogenous Firm Formation and the Aspiration Core Competitive Outcomes, Endogenous Firm Formation and the Aspiration Core Camelia Bejan and Juan Camilo Gómez September 2011 Abstract The paper shows that the aspiration core of any TU-game coincides with

More information

Level by Level Inequivalence, Strong Compactness, and GCH

Level by Level Inequivalence, Strong Compactness, and GCH Level by Level Inequivalence, Strong Compactness, and GCH Arthur W. Apter Department of Mathematics Baruch College of CUNY New York, New York 10010 USA and The CUNY Graduate Center, Mathematics 365 Fifth

More information

A relation on 132-avoiding permutation patterns

A relation on 132-avoiding permutation patterns Discrete Mathematics and Theoretical Computer Science DMTCS vol. VOL, 205, 285 302 A relation on 32-avoiding permutation patterns Natalie Aisbett School of Mathematics and Statistics, University of Sydney,

More information

Quadrant marked mesh patterns in 123-avoiding permutations

Quadrant marked mesh patterns in 123-avoiding permutations Quadrant marked mesh patterns in 23-avoiding permutations Dun Qiu Department of Mathematics University of California, San Diego La Jolla, CA 92093-02. USA duqiu@math.ucsd.edu Jeffrey Remmel Department

More information

On Existence of Equilibria. Bayesian Allocation-Mechanisms

On Existence of Equilibria. Bayesian Allocation-Mechanisms On Existence of Equilibria in Bayesian Allocation Mechanisms Northwestern University April 23, 2014 Bayesian Allocation Mechanisms In allocation mechanisms, agents choose messages. The messages determine

More information

Permutation Factorizations and Prime Parking Functions

Permutation Factorizations and Prime Parking Functions Permutation Factorizations and Prime Parking Functions Amarpreet Rattan Department of Combinatorics and Optimization University of Waterloo Waterloo, ON, Canada N2L 3G1 arattan@math.uwaterloo.ca June 10,

More information

COMBINATORICS OF REDUCTIONS BETWEEN EQUIVALENCE RELATIONS

COMBINATORICS OF REDUCTIONS BETWEEN EQUIVALENCE RELATIONS COMBINATORICS OF REDUCTIONS BETWEEN EQUIVALENCE RELATIONS DAN HATHAWAY AND SCOTT SCHNEIDER Abstract. We discuss combinatorial conditions for the existence of various types of reductions between equivalence

More information

Rational Behaviour and Strategy Construction in Infinite Multiplayer Games

Rational Behaviour and Strategy Construction in Infinite Multiplayer Games Rational Behaviour and Strategy Construction in Infinite Multiplayer Games Michael Ummels ummels@logic.rwth-aachen.de FSTTCS 2006 Michael Ummels Rational Behaviour and Strategy Construction 1 / 15 Infinite

More information

Equivalence between Semimartingales and Itô Processes

Equivalence between Semimartingales and Itô Processes International Journal of Mathematical Analysis Vol. 9, 215, no. 16, 787-791 HIKARI Ltd, www.m-hikari.com http://dx.doi.org/1.12988/ijma.215.411358 Equivalence between Semimartingales and Itô Processes

More information

Laurence Boxer and Ismet KARACA

Laurence Boxer and Ismet KARACA SOME PROPERTIES OF DIGITAL COVERING SPACES Laurence Boxer and Ismet KARACA Abstract. In this paper we study digital versions of some properties of covering spaces from algebraic topology. We correct and

More information

Martingales. by D. Cox December 2, 2009

Martingales. by D. Cox December 2, 2009 Martingales by D. Cox December 2, 2009 1 Stochastic Processes. Definition 1.1 Let T be an arbitrary index set. A stochastic process indexed by T is a family of random variables (X t : t T) defined on a

More information

Hierarchical Exchange Rules and the Core in. Indivisible Objects Allocation

Hierarchical Exchange Rules and the Core in. Indivisible Objects Allocation Hierarchical Exchange Rules and the Core in Indivisible Objects Allocation Qianfeng Tang and Yongchao Zhang January 8, 2016 Abstract We study the allocation of indivisible objects under the general endowment

More information

3 The Model Existence Theorem

3 The Model Existence Theorem 3 The Model Existence Theorem Although we don t have compactness or a useful Completeness Theorem, Henkinstyle arguments can still be used in some contexts to build models. In this section we describe

More information

Gödel algebras free over finite distributive lattices

Gödel algebras free over finite distributive lattices TANCL, Oxford, August 4-9, 2007 1 Gödel algebras free over finite distributive lattices Stefano Aguzzoli Brunella Gerla Vincenzo Marra D.S.I. D.I.COM. D.I.C.O. University of Milano University of Insubria

More information

Full Abstraction for Nominal General References

Full Abstraction for Nominal General References Full bstraction for Nominal General References Overview This talk is about formulating a fully-abstract semantics of nominal general references using nominal games. Nominal Sets Full bstraction for Nominal

More information

Comparing Partial Rankings

Comparing Partial Rankings Comparing Partial Rankings Ronald Fagin Ravi Kumar Mohammad Mahdian D. Sivakumar Erik Vee To appear: SIAM J. Discrete Mathematics Abstract We provide a comprehensive picture of how to compare partial rankings,

More information

Characterizing large cardinals in terms of layered partial orders

Characterizing large cardinals in terms of layered partial orders Characterizing large cardinals in terms of layered partial orders Philipp Moritz Lücke Joint work with Sean D. Cox (VCU Richmond) Mathematisches Institut Rheinische Friedrich-Wilhelms-Universität Bonn

More information

Basic Arbitrage Theory KTH Tomas Björk

Basic Arbitrage Theory KTH Tomas Björk Basic Arbitrage Theory KTH 2010 Tomas Björk Tomas Björk, 2010 Contents 1. Mathematics recap. (Ch 10-12) 2. Recap of the martingale approach. (Ch 10-12) 3. Change of numeraire. (Ch 26) Björk,T. Arbitrage

More information

Continuous images of closed sets in generalized Baire spaces ESI Workshop: Forcing and Large Cardinals

Continuous images of closed sets in generalized Baire spaces ESI Workshop: Forcing and Large Cardinals Continuous images of closed sets in generalized Baire spaces ESI Workshop: Forcing and Large Cardinals Philipp Moritz Lücke (joint work with Philipp Schlicht) Mathematisches Institut, Rheinische Friedrich-Wilhelms-Universität

More information

Forecast Horizons for Production Planning with Stochastic Demand

Forecast Horizons for Production Planning with Stochastic Demand Forecast Horizons for Production Planning with Stochastic Demand Alfredo Garcia and Robert L. Smith Department of Industrial and Operations Engineering Universityof Michigan, Ann Arbor MI 48109 December

More information

Subgame Perfect Cooperation in an Extensive Game

Subgame Perfect Cooperation in an Extensive Game Subgame Perfect Cooperation in an Extensive Game Parkash Chander * and Myrna Wooders May 1, 2011 Abstract We propose a new concept of core for games in extensive form and label it the γ-core of an extensive

More information

SAT and DPLL. Introduction. Preliminaries. Normal forms DPLL. Complexity. Espen H. Lian. DPLL Implementation. Bibliography.

SAT and DPLL. Introduction. Preliminaries. Normal forms DPLL. Complexity. Espen H. Lian. DPLL Implementation. Bibliography. SAT and Espen H. Lian Ifi, UiO Implementation May 4, 2010 Espen H. Lian (Ifi, UiO) SAT and May 4, 2010 1 / 59 Espen H. Lian (Ifi, UiO) SAT and May 4, 2010 2 / 59 Introduction Introduction SAT is the problem

More information

Equivalence Nucleolus for Partition Function Games

Equivalence Nucleolus for Partition Function Games Equivalence Nucleolus for Partition Function Games Rajeev R Tripathi and R K Amit Department of Management Studies Indian Institute of Technology Madras, Chennai 600036 Abstract In coalitional game theory,

More information

An Application of Ramsey Theorem to Stopping Games

An Application of Ramsey Theorem to Stopping Games An Application of Ramsey Theorem to Stopping Games Eran Shmaya, Eilon Solan and Nicolas Vieille July 24, 2001 Abstract We prove that every two-player non zero-sum deterministic stopping game with uniformly

More information

Functional vs Banach space stochastic calculus & strong-viscosity solutions to semilinear parabolic path-dependent PDEs.

Functional vs Banach space stochastic calculus & strong-viscosity solutions to semilinear parabolic path-dependent PDEs. Functional vs Banach space stochastic calculus & strong-viscosity solutions to semilinear parabolic path-dependent PDEs Andrea Cosso LPMA, Université Paris Diderot joint work with Francesco Russo ENSTA,

More information

M5MF6. Advanced Methods in Derivatives Pricing

M5MF6. Advanced Methods in Derivatives Pricing Course: Setter: M5MF6 Dr Antoine Jacquier MSc EXAMINATIONS IN MATHEMATICS AND FINANCE DEPARTMENT OF MATHEMATICS April 2016 M5MF6 Advanced Methods in Derivatives Pricing Setter s signature...........................................

More information

Chain conditions, layered partial orders and weak compactness

Chain conditions, layered partial orders and weak compactness Chain conditions, layered partial orders and weak compactness Philipp Moritz Lücke Joint work with Sean D. Cox (VCU Richmond) Mathematisches Institut Rheinische Friedrich-Wilhelms-Universität Bonn http://www.math.uni-bonn.de/people/pluecke/

More information

Best response cycles in perfect information games

Best response cycles in perfect information games P. Jean-Jacques Herings, Arkadi Predtetchinski Best response cycles in perfect information games RM/15/017 Best response cycles in perfect information games P. Jean Jacques Herings and Arkadi Predtetchinski

More information

Outline of Lecture 1. Martin-Löf tests and martingales

Outline of Lecture 1. Martin-Löf tests and martingales Outline of Lecture 1 Martin-Löf tests and martingales The Cantor space. Lebesgue measure on Cantor space. Martin-Löf tests. Basic properties of random sequences. Betting games and martingales. Equivalence

More information

Lecture 7: Bayesian approach to MAB - Gittins index

Lecture 7: Bayesian approach to MAB - Gittins index Advanced Topics in Machine Learning and Algorithmic Game Theory Lecture 7: Bayesian approach to MAB - Gittins index Lecturer: Yishay Mansour Scribe: Mariano Schain 7.1 Introduction In the Bayesian approach

More information

Structural Induction

Structural Induction Structural Induction Jason Filippou CMSC250 @ UMCP 07-05-2016 Jason Filippou (CMSC250 @ UMCP) Structural Induction 07-05-2016 1 / 26 Outline 1 Recursively defined structures 2 Proofs Binary Trees Jason

More information

An Introduction to Point Processes. from a. Martingale Point of View

An Introduction to Point Processes. from a. Martingale Point of View An Introduction to Point Processes from a Martingale Point of View Tomas Björk KTH, 211 Preliminary, incomplete, and probably with lots of typos 2 Contents I The Mathematics of Counting Processes 5 1 Counting

More information

MATH3075/3975 FINANCIAL MATHEMATICS TUTORIAL PROBLEMS

MATH3075/3975 FINANCIAL MATHEMATICS TUTORIAL PROBLEMS MATH307/37 FINANCIAL MATHEMATICS TUTORIAL PROBLEMS School of Mathematics and Statistics Semester, 04 Tutorial problems should be used to test your mathematical skills and understanding of the lecture material.

More information

A semantics for concurrent permission logic. Stephen Brookes CMU

A semantics for concurrent permission logic. Stephen Brookes CMU A semantics for concurrent permission logic Stephen Brookes CMU Cambridge, March 2006 Traditional logic Owicki/Gries 76 Γ {p} c {q} Resource-sensitive partial correctness Γ specifies resources ri, protection

More information

The Value of Information in Central-Place Foraging. Research Report

The Value of Information in Central-Place Foraging. Research Report The Value of Information in Central-Place Foraging. Research Report E. J. Collins A. I. Houston J. M. McNamara 22 February 2006 Abstract We consider a central place forager with two qualitatively different

More information