Using the π-calculus. Evolution. Values As Names 3/24/2004
|
|
- Gwen Mason
- 5 years ago
- Views:
Transcription
1 3/4/004 Using the π-calculus Overview Evolution Values as names Boolean values as processes Executor, a simple object model, lists The polyadic π-calculus Mobile telephones Processes as parameters A concurrent programming language References Robin Milner, Communicating and Mobil Systems Robin Milner, Joachim Parrow, David Walker, A Calculus of Mobile Processes, Part I+II 7 Evolution x y x(u).u x can evolve to y x or x y z ν x(x y x(u).u ) x can evolve to y x x y!x(u).u x can evolve to x y!x(u).u z or y!x(u).u x and y!x(u).u z 7 Values As Names If the values with which we wish to compute are drawn from a finite set, say V {v,, v n}, then we can simply designate n names to denote these values as constants (e.g. v to stand for v,, v n to stand for v n). For example, consider the case V {t, f}, the truth values. We set t T and f F. The match operator can be used to control computation. For example, the following process can be thought of as a C# switch-statement: x(y).([y v ]π.p + [y v ]π.p + [y v 3]π 3.P 3) 73
2 3/4/004 Abbreviations Sometimes a communication does not need to carry a parameter. To model this we presuppose a special name, say ε, which is never bound. Then we write x.p in place of xε.p x.p in place of x(y).p if y fn(p) We often omit.0 in a process, and write for example xy in place of x y Boolean Values As Processes We can represent Boolean values by the processes True a and False a emitting Boolean values along channel a, and a process Case a(p, Q), receiving a Boolean along channel a and enacting P or Q depending on the value of the Boolean. Truea Falsea Case (P, Q) a a(x).a(y).x a(x).a(y).y ( ν x y)ax.ay.(x.p y.q) Now Case (P, Q) True evolves to (ν x y)(x.p y.q x), which in a a turn evolves to P (up-to structural congruence). 75 Executor Consider the following process definition Exec(x) x(y).y Exec(x) may be called an executor. It receives via channel x a link, called y, and then activates that link. We can think of y as a trigger of a process. Now for any process P, we obtain the same behavior in each of the following cases: We run P directly, We prefix a trigger z to P, and pass z along the channel x to the executor Exec(x) assuming that x, z fn(p): ν z (xz z.p) 76
3 3/4/004 Exec Example ν x ( ν z (xz z.p) Exec(x)) ν x ( ν z (xz z.p) x(y).y) ν x z (xz z.p x(y).y) τ.ν x z (0 z.p z) τ.τ.ν x z (0 P 0) τ.τ. P 77 An Simple Object Model A concurrent system can be thought of as a process community that appears to be an unstructured collection of autonomous agent. In practice, however, we can identify a structure. In particular, we can identify process group boundaries and communications across group boundaries. ReferenceCell is a process group that represents an object with one private instance variable and two public methods to set and to access the object s state. ReferenceCell ( ν v) ( v0!s(n).s(r).v(_).(vn r)!g(r).v(i).(vi ri) ) 78 A List A list is either Nil or Cons of value and a list. v h Node l The constant Nil, the construction Cons( V, L), and a list of n values are defined as follows: Nil h Cons(V, L) [V,...V ] n h!h(n).h(c).n ( ν v l)(!h(n).h(c).cv.cl V L l ) Cons(V, Cons(..., Cons(V, Nil)...)) n 79 3
4 3/4/004 [, ] [, ] Cons(, Cons(, Nil)) Cons(, Nil) ( ν v l)(!h(n).h(c).cv.cl Nil l ) ( ν v l)(!h(n).h(c).cv.cl (!l(n).l(c).n)) Cons(, []) ( ν v' l')(!h(n).h(c).cv'.cl' v' [] l' ) ( ν v' l')(!h(n).h(c).cv'.cl' v' (( ν v l)!l'(n).l'(c).cv.cl (!l(n).l(c).n))) with V!v(r).rV 80 Head, Tail, and IsEmpty Nil h Cons(V, L) h [V,...V ] n!h(n).h(c).n ( ν v l)(!h(n).h(c).cv.cl V L l ) Cons(V, Cons(..., Cons(V, Nil)...)) n Head(r) (ν n, c)(hn.hc.c(v).c(l).vr) Tail(r) (ν n, c)(hn.hc.c(v).c(l).lr) IsEmpty ( ν n, c)(hn.hc.n."yes" + c."no") 8 List Experiments IsEmpty(r) Nil h ( ν n, c)(hn.hc.n."yes" + c."no") h(n).h(c).n evolves to ( ν n, c)(n."yes" + c."no" n) which evolves to "Yes" Head(r) [, ] ( ν v l)(hn.hc.c(v)c(l).vr) ( ν v' l')(!h(n).h(c).cv'.cl' v' [ '] l' ) Evolves to( ν v l v')(v' r) [, ] h!v'(r).r) which evolves to r 8 4
5 3/4/004 The Polyadic π-calculus In the monadic π-calculus, an interaction involves the transmission of a single name from one process process to another, A natural and convenient extension is to admit processes that pass tuples of names. The processes of the polyadic π-calculus are defined in the same way as the processes of the monadic π-calculus, except that the prefixes are given by π :: x y x(z) τ [x y] π where no name occurs more than once in the tuple z in an input prefix. We write x for the length of the tuple x. If the length of the corresponding tuple is zero then we write x for x( z) and x for x y. 83 Polyadic Interaction The intended interpretations of the new polyadic prefixes are that x y.p can send the tuple y via x and continue as P, and that x( z).q can receive a tuple y via x and continue as { y/z }Q. The reaction relation over P πp contains exactly those transition that can be inferred from the rules in the following table: TAU : τ.p + M P P z y -INTER : (x( z ).P + M) (x y.q + N) {y/ z }P Q P P' PAR : P Q P' Q P P' RES : ν a P ν a P' P STRUCT : Q P P' P' Q' Q Q' 84 Church s Encoding of Booleans We can represent a Boolean value as a channel along we send/receive two other channels for the next true and false interaction. We define two processes True and False that serve as a process representation of their corresponding Boolean values. Both processes create a new channel b that serves as the location of the Boolean value and return b along the result channel r. True(b) False(b) Not(b, c) b(t, f).t b(t, f).f b(t, f).c(f, t) 85 5
6 3/4/004 Mobile Telephones CAR(talk, switch ) talk switch BASE IDLEBASE alert alert give PROVIDER give 86 System Equation CAR(talk, switch) talk switch BASE IDLEBASE alert alert give PROVIDER give SYSTEM (ν talk i, switch i, give i, alert i : i,) (CAR(talk, switch ) BASE IDLEBASE PROVIDER ) 87 Car A car is parametric upon a talk channel and a switch channel. On the talk channel it can repeatedly talk, but at any time it may receive along the switch channel two new channels, which the car must then start to use (new base station): CAR(talk, switch) talk.car(talk, switch) + switch(talk, switch ).CAR(talk, switch ) 88 6
7 3/4/004 Base A BASE can repeatedly talk with the CAR; but at any time it can receive along its give channel two new channels, which it should communicate to the CAR, and then become idle itself: BASE(t, s, g, a) t.base(t, s, g, a) + g(t', s').s t', s'.idlebase(t, s, g, a) An IDLEBASE may be told along its alert channel to become active: IDLEBASE(t, s, g, a) a.base(t, s, g, a) 89 Provider The PROVIDER knows initially that the CAR is in contact with BASE. It can decide (according to a provider-specific protocol) to transmit the channel talk and switch to the CAR via BASE, and alert IDLEBASE of this fact: PROVIDER give. talk, switch.alert.provider PROVIDER give. talk, switch.alert.provider 90 Evolving System SYSTEM CAR(talk, switch ) BASE IDLEBASE PROVIDER CAR(talk, switch ) switch talk, switch.ildebase IDLEBASE alert.provider CAR(talk, switch ) ILDEBASE ILDEBASE alert.provider CAR(talk, switch ) ILDEBASE BASE PROVIDER SYSTEM 9 7
8 3/4/004 New System CAR(talk, switch ) talk switch IDLEBASE BASE alert alert give PROVIDER give 9 Passing Processes As Parameters Passing processes as parameters is not represented directly in the π-calculus. In a direct representation we would write something like ν x(xp x(p).p) where p is a variable over processes, and P is a process expression. 93 Scope Suppose a direct representation of process parameters is given. We can extend our example as follows: The sender, after sending P, whishes to run Q; The receiver (or executor), after receiving P, whishes to run it in parallel with R. We would write ν x(xp.q x(p).(p R)) where we assume that x fn(p, Q, R). A suitable generalized expansion law would equate this to τ.(q (P R)) 94 8
9 3/4/004 Shared Private Name We can further extend our example by assuming that prior to the transmission of P there exists a restricted channel w between P and Q. ν x(ν w(xp.q) x(p).(p R)) We have two alternatives for how the transmission of P should treat the private channel w : Dynamic binding: τ.(ν w Q (P R)) That is, the private link between P and Q is broken and the meaning of w is defined with respect to its current scope. Static binding: τ.ν w'({w' /w}q ({w'/w}p R)) We use a form a scope extrusion where w is a fresh name, that is w fn(p, Q, R). 95 Modeling Process Parameters We start with the following process expression and replace it with ν x(ν w(xp.q) x(p).(p R)) ν x(ν z w(xz.(z.p Q)) x(y).y.r) where y, z fn(r), which by expansion, is equal to τ.ν z ( ν w(z.p Q)) z.r) Now we change to bound name w to w fn(r) and obtain τ.ν z w'({w'/w}z.p {w'/w}q z.r) which, by expansion and then the discard of the restriction becomes τ.τ.(ν w'({w'/w}p {w'/w}q R) 96 A Concurrent Language V :: X Y Variable F :: Function symbols C :: V E Assignment C ; C Sequential Composition if E then C else C Conditional Statement while E do C While Statement let D in C end Declaration C par C Parallel Composition input V Input output E Output skip D :: var V Variable Declaration E :: V Variable Expression F( E,, E n ) Function Call 97 9
10 3/4/004 Ambiguous Meaning X 0; X X + par X X + What is the value of X at the end of the second statement? 98 Basic Elements We assume that each element of the source language is assigned a process expression. Variables: X(init) ( ν v, setx, getx) ( v init!setx(n, r).v.(v n r)!getx(r).v(i).(v i r i ) ) Skip: C ; C : done ν c({c/done} C c.c ) C par C : ( ν l, r, t)( true {l/done}c {r/done}c t (l.t(b).( if b then r. skip else l t false ) (r.t(b).( if b then l. skip else r t false )) 99 Expressions [X] F(E,,E n ) (ν ack)(getx(ack) ack(v).res(v)) arg (x )...arg (x ).F(x,..., xn, res) n n [F(E,,E n )] (ν arg,,arg n )( {arg /res}[e ]{arg /res} {arg n /res}[e n ] [F] ) 00 0
11 3/4/004 Operation Sequence X 0; X X + par X X + What is the value of X at the end of the second statement? According to the former definitions the value of X is either,, or 3. The three values are possible since every atomic action can occur in an arbitrary and meshed order. To guarantee a specific result (e.g., or ), we need to employ semaphores. 0
Using the π-calculus. Overview. References
Using the π-calculus Overview Evolution Values as names Boolean values as processes Executor, a simple object model, lists The polyadic π-calculus Mobile telephones Processes as parameters A concurrent
More informationCommunicating and Mobile Systems
Communicating and Mobile Systems Overview:! Programming Model! Interactive Behavior! Labeled Transition System! Bisimulation! The π-calculus! Data Structures and λ-calculus encoding in the π-calculus References:!
More informationInformation Systems Business Process Modelling I: Models
Information Systems 2 Information Systems 2 5. Business Process Modelling I: Models Lars Schmidt-Thieme Information Systems and Machine Learning Lab (ISMLL) Institute for Business Economics and Information
More informationConcurrent Processes and Reaction
Concurrent Processes and Reaction Overview External and internal actions Observations Concurrent process expressions Structural congruence Reaction References Robin Milner, Communication and Concurrency
More informationLars Schmidt-Thieme, Information Systems and Machine Learning Lab (ISMLL), Institute BW/WI & Institute for Computer Science, University of Hildesheim
Course on Information Systems 2, summer term 2010 0/29 Information Systems 2 Information Systems 2 5. Business Process Modelling I: Models Lars Schmidt-Thieme Information Systems and Machine Learning Lab
More informationBusiness Process Management
Business Process Management Theory: The Pi-Calculus Frank Puhlmann Business Process Technology Group Hasso Plattner Institut Potsdam, Germany 1 What happens here? We discuss the application of a general
More informationThe Polyadic -Calculus: a Tutorial. Robin Milner. Computer Science Department, University of Edinburgh, October Abstract
The Polyadic -Calculus: a Tutorial Robin Milner Laboratory for Foundations of Computer Science, Computer Science Department, University of Edinburgh, The King's Buildings, Edinburgh EH9 3JZ, UK October
More informationThe π-calculus. From CCS to π-calculus. The π-calculus - Basic Ideas 4/1/2004. Overview Syntax Reaction, actions, and transitions
The π-calculus Overview Snta eaction, actions, and transitions eferences obin Milner, Communicating and Mobil Sstems Davide Sangiorgi and David Walker, The π-calculus: A Theor of Mobile Processes obin
More informationTrace Refinement of π-calculus Processes
Trace Refinement of pi-calculus Processes Trace Refinement of π-calculus Processes Manuel Gieseking manuel.gieseking@informatik.uni-oldenburg.de) Correct System Design, Carl von Ossietzky University of
More informationModels of Concurrency
Models of Concurrency GERARDO SCHNEIDER UPPSALA UNIVERSITY DEPARTMENT OF INFORMATION TECHNOLOGY UPPSALA, SWEDEN Thanks to Frank Valencia Models of Concurrency p.1/57 Concurrency is Everywhere Concurrent
More informationReview of The π-calculus: A Theory of Mobile Processes
Review of The π-calculus: A Theory of Mobile Processes Riccardo Pucella Department of Computer Science Cornell University July 8, 2001 Introduction With the rise of computer networks in the past decades,
More informationDeadlock verification of a DPS coordination strategy and its alternative model in pi-calculus
154 Int. J. Intelligent Information and Database Systems, Vol. 6, No. 2, 2012 Deadlock verification of a DPS coordination strategy and its alternative model in pi-calculus Pablo D. Robles-Granda, Elham
More informationThe π-calculus Semantics. Equivalence and Value-Passing. Infinite Sums 4/12/2004
The π-calculus Semantics Overview ate and early semantics Bisimulation and congruence Variations of the calculus eferences obin Milner, Communicating and Mobil Systems Davide Sangiorgi and David Walker,
More informationFrom CCS to Hybrid π via baby steps. Bill Rounds CSE, U of Michigan
From CCS to Hybrid π via baby steps Bill Rounds CSE, U of Michigan Main idea The hybrid pi-calculus extends pi-calculus by adding a component called the continuous environment, which evolves over time
More informationAdvanced Process Calculi
Advanced Process Calculi Lecture 1: the pi-calculus Copenhagen, August 2013 Joachim Parrow Learning outcomes After completing the course you will be able to: Use modern process calculi to make highlevel
More informationConcurrency theory. name passing, contextual equivalences. Francesco Zappa Nardelli. INRIA Paris-Rocquencourt, MOSCOVA research team
Concurrency theory name passing, contextual equivalences Francesco Zappa Nardelli INRIA Paris-Rocquencourt, MOSCOVA research team francesco.zappa nardelli@inria.fr together with Frank Valencia (INRIA Futurs)
More informationStrong bisimilarity can be opened
Strong bisimilarity can be opened Henning E. Andersen Hans Hüttel Karina N. Jensen June 7, 2002 Abstract We present an extension of the semantics of the π-calculus without match where strong bisimilarity
More informationA Note on Scope and Infinite Behaviour in CCS-like Calculi p.1/32
A Note on Scope and Infinite Behaviour in CCS-like Calculi GERARDO SCHNEIDER UPPSALA UNIVERSITY DEPARTMENT OF INFORMATION TECHNOLOGY UPPSALA, SWEDEN Joint work with Pablo Giambiagi and Frank Valencia A
More informationFormalising the π-calculus in Isabelle
Formalising the π-calculus in Isabelle Jesper Bengtson Department of Computer Systems University of Uppsala, Sweden 30th May 2006 Overview This talk will cover the following Motivation Why are we doing
More informationCommunication Errors in the π-calculus are Undecidable
Communication Errors in the π-calculus are Undecidable Vasco T. Vasconcelos Department of Informatics Faculty of Sciences, University of Lisbon António Ravara Department of Mathematics Lisbon Institute
More informationThe Expressivity of Universal Timed CCP: Undecidability of Monadic FLTL and Closure Operators for Security
The Expressivity of Universal Timed CCP: Undecidability of Monadic FLTL and Closure Operators for Security Carlos Olarte and Frank D. Valencia INRIA /CNRS and LIX, Ecole Polytechnique Motivation Concurrent
More informationTHE LANGUAGE OF FIRST-ORDER LOGIC (FOL) Sec2 Sec1(1-16)
THE LANGUAGE OF FIRST-ORDER LOGIC (FOL) Sec2 Sec1(1-16) FOL: A language to formulate knowledge Logic is the study of entailment relationslanguages, truth conditions and rules of inference. FOL or Predicate
More informationMathematical Preliminaries. Sipser pages 1-28
Mathematical Preliminaries Sipser pages 1-28 Mathematical Preliminaries This course is about the fundamental capabilities and limitations of computers. It has 3 parts 1. Automata Models of computation
More informationPartial model checking via abstract interpretation
Partial model checking via abstract interpretation N. De Francesco, G. Lettieri, L. Martini, G. Vaglini Università di Pisa, Dipartimento di Ingegneria dell Informazione, sez. Informatica, Via Diotisalvi
More informationHerbrand Theorem, Equality, and Compactness
CSC 438F/2404F Notes (S. Cook and T. Pitassi) Fall, 2014 Herbrand Theorem, Equality, and Compactness The Herbrand Theorem We now consider a complete method for proving the unsatisfiability of sets of first-order
More informationCompatible Systems and Charpit s Method
MODULE 2: FIRST-ORDER PARTIAL DIFFERENTIAL EQUATIONS 28 Lecture 5 Compatible Systems Charpit s Method In this lecture, we shall study compatible systems of first-order PDEs the Charpit s method for solving
More informationConcurrency theory. proof-techniques for syncronous and asynchronous pi-calculus. Francesco Zappa Nardelli. INRIA Rocquencourt, MOSCOVA research team
Concurrency theory proof-techniques for syncronous and asynchronous pi-calculus Francesco Zappa Nardelli INRIA Rocquencourt, MOSCOVA research team francesco.zappa nardelli@inria.fr together with Frank
More informationThe Calculus of Communicating Systems
The Calculus of Communicating Systems Wolfgang Schreiner Research Institute for Symbolic Computation (RISC-Linz) Johannes Kepler University, A-4040 Linz, Austria Wolfgang.Schreiner@risc.uni-linz.ac.at
More informationGroupe de travail. Analysis of Mobile Systems by Abstract Interpretation
Groupe de travail Analysis of Mobile Systems by Abstract Interpretation Jérôme Feret École Normale Supérieure http://www.di.ens.fr/ feret 31/03/2005 Introduction I We propose a unifying framework to design
More informationSecrecy and Group Creation
Secrecy and Group Creation Luca Cardelli 1 Giorgio Ghelli 2 Andrew D. Gordon 1 Abstract We add an operation of group creation to the typed π-calculus, where a group is a type for channels. Creation of
More informationUsing Counterfactuals in Knowledge-Based Programming
Using Counterfactuals in Knowledge-Based Programming Joseph Y. Halpern Cornell University Dept. of Computer Science Ithaca, NY 14853 halpern@cs.cornell.edu http://www.cs.cornell.edu/home/halpern Yoram
More informationSubtyping for Session Types in the Pi Calculus
Acta Informatica manuscript No. (will be inserted by the editor) Subtyping for Session Types in the Pi Calculus Simon Gay 1, Malcolm Hole 2 1 Department of Computing Science, University of Glasgow, UK
More informationSession Types Revisited
Session Types Revisited Ornela Dardha a, Elena Giachino b, Davide Sangiorgi b a School of Computing Science, University of Glasgow, United Kingdom b INRIA Focus Team / DISI, University of Bologna, Italy
More informationINTRODUCTION TO PREDICATE LOGIC HUTH AND RYAN 2.1, 2.2, 2.4
INTRODUCTION TO PREDICATE LOGIC HUTH AND RYAN 2.1, 2.2, 2.4 Neil D. Jones DIKU 2005 Some slides today new, some based on logic 2004 (Nils Andersen), some based on kernebegreber (NJ 2005) PREDICATE LOGIC:
More information2. Component Models: Interface Models by Streams
Dynamic Distributed Systems * Towards a Mathematical Model Extended Abstract Manfred Broy Institut für Informatik, Technische Universität München D-80290 München, Germany Abstract. This paper aims at a
More informationCS156: The Calculus of Computation Zohar Manna Winter 2010
Page 3 of 31 Page 4 of 31 CS156: The Calculus of Computation Zohar Manna Winter 2010 First-Order Theories I First-order theory T consists of Signature ΣT - set of constant, function, and predicate symbols
More informationAn Algebraic Theory of Actors and its Application to a Simple Object-Based Language
An Algebraic Theory of Actors and its Application to a Simple Object-Based Language Gul Agha, Prasanna Thati University of Illinois at Urbana-Champaign, USA {agha,thati}@cs.uiuc.edu http://osl.cs.uiuc.edu
More informationA Graph Rewriting Semantics for the Polyadic π-calculus
A Graph Rewriting Semantics for the Polyadic π-calculus BARBARA KÖNIG Fakultät für Informatik, Technische Universität München Abstract We give a hypergraph rewriting semantics for the polyadic π-calculus,
More informationSemantics and Verification
Semantics and Verification Lecture 2 informal introduction to CCS syntax of CCS semantics of CCS 1 / 12 Sequential Fragment Parallelism and Renaming CCS Basics (Sequential Fragment) Nil (or 0) process
More informationDecidable Subsets of CCS
Decidable Subsets of CCS based on the paper with the same title by Christensen, Hirshfeld and Moller from 1994 Sven Dziadek Abstract Process algebra is a very interesting framework for describing and analyzing
More information1 Introduction. 2 Recap The Typed λ-calculus λ. 3 Simple Data Structures
CS 6110 S18 Lecture 21 Products, Sums, and Other Datatypes 1 Introduction In this lecture, we add constructs to the typed λ-calculus that allow working with more complicated data structures, such as pairs,
More informationPredicates, Quantifiers and Nested Quantifiers
Predicates, Quantifiers and Nested Quantifiers Predicates Recall the example of a non-proposition in our first presentation: 2x=1. Let us call this expression P(x). P(x) is not a proposition because x
More informationTowards Concurrent Type Theory
Towards Concurrent Type Theory Luís Caires 1, Frank Pfenning 2, Bernardo Toninho 1,2 1 Universidade Nova de Lisboa 2 Carnegie Mellon University Workshop on Types in Language Design and Implementation (TLDI)
More informationExpressing Dynamics of Mobile Programs by Typing
5 th Slovakian-Hungarian Joint Symposium on Applied Machine Intelligence and Informatics January 25-26, 2007 Poprad, Slovakia Expressing Dynamics of Mobile Programs by Typing Martin Tomášek Department
More informationMA5219 LOGIC AND FOUNDATION OF MATHEMATICS I. Lecture 1: Programs. Tin Lok Wong 13 August, 2018
MA5219 LOGIC AND FOUNDATION OF MATHEMATICS I Lecture 1: Programs Tin Lok Wong 13 August, 2018 The aim of this lecture is to characterize S N : some algorithm can tell whether n N belongs to S}. By an algorithm
More informationFormal Techniques for Software Engineering: CCS: A Calculus for Communicating Systems
Formal Techniques for Software Engineering: CCS: A Calculus for Communicating Systems Rocco De Nicola IMT Institute for Advanced Studies, Lucca rocco.denicola@imtlucca.it June 2013 Lesson 10 R. De Nicola
More informationThe λ-calculus and Curry s Paradox Drew McDermott , revised
The λ-calculus and Curry s Paradox Drew McDermott drew.mcdermott@yale.edu 2015-09-23, revised 2015-10-24 The λ-calculus was invented by Alonzo Church, building on earlier work by Gottlob Frege and Moses
More informationLecture 11: Measuring the Complexity of Proofs
IAS/PCMI Summer Session 2000 Clay Mathematics Undergraduate Program Advanced Course on Computational Complexity Lecture 11: Measuring the Complexity of Proofs David Mix Barrington and Alexis Maciel July
More informationA linear account of session types in the pi calculus
A linear account of session types in the pi calculus Marco Giunti 1 and Vasco T. Vasconcelos 2 1 Iuav University, Venice 2 LaSIGE, Faculty of Sciences, University of Lisbon Abstract. We present a reconstruction
More informationNotes from How to Prove it: A Structured Approach by Daniel J. Velleman
Notes from How to Prove it: A Structured Approach by Daniel J. Velleman DeMorgan s laws: (P Q) is equivalent to P Q) (P Q) is equivalent to P Q) Commutative laws: (P Q) is equivalent to (Q P ) (P Q) is
More informationTechnical Report. Bigraphs whose names have multiple locality. Robin Milner. Number 603. September Computer Laboratory
Technical Report UCAM-CL-TR-603 ISSN 1476-2986 Number 603 Computer Laboratory Bigraphs whose names have multiple locality Robin Milner September 2004 15 JJ Thomson Avenue Cambridge CB3 0FD United Kingdom
More informationConvolutional Coding LECTURE Overview
MIT 6.02 DRAFT Lecture Notes Spring 2010 (Last update: March 6, 2010) Comments, questions or bug reports? Please contact 6.02-staff@mit.edu LECTURE 8 Convolutional Coding This lecture introduces a powerful
More informationThe Quasi-Synchronous Approach to Distributed Control Systems
The Quasi-Synchronous Approach to Distributed Control Systems Paul Caspi caspi@imag.fr Verimag Laboratory http://www-verimag.imag.fr Crisys Esprit Project http://borneo.gmd.de/ ap/crisys/ The Quasi-Synchronous
More informationIntroduction to Temporal Logic. The purpose of temporal logics is to specify properties of dynamic systems. These can be either
Introduction to Temporal Logic The purpose of temporal logics is to specify properties of dynamic systems. These can be either Desired properites. Often liveness properties like In every infinite run action
More informationMathematics 114L Spring 2018 D.A. Martin. Mathematical Logic
Mathematics 114L Spring 2018 D.A. Martin Mathematical Logic 1 First-Order Languages. Symbols. All first-order languages we consider will have the following symbols: (i) variables v 1, v 2, v 3,... ; (ii)
More informationMASTER S THESIS FROM FORMAL TO COMPUTATIONAL AUTHENTICITY DISTRIBUTED AND EMBEDDED SYSTEMS DEPARTMENT OF COMPUTER SCIENCE AALBORG UNIVERSITY
DISTRIBUTED AND EMBEDDED SYSTEMS DEPARTMENT OF COMPUTER SCIENCE AALBORG UNIVERSITY MASTER S THESIS MICHAEL GARDE FROM FORMAL TO COMPUTATIONAL AUTHENTICITY AN APPROACH FOR RECONCILING FORMAL AND COMPUTATIONAL
More informationCPSC 421: Tutorial #1
CPSC 421: Tutorial #1 October 14, 2016 Set Theory. 1. Let A be an arbitrary set, and let B = {x A : x / x}. That is, B contains all sets in A that do not contain themselves: For all y, ( ) y B if and only
More informationChapter 1 Elementary Logic
2017-2018 Chapter 1 Elementary Logic The study of logic is the study of the principles and methods used in distinguishing valid arguments from those that are not valid. The aim of this chapter is to help
More informationA Generic Type System for the Pi-Calculus
A Generic Type System for the Pi-Calculus Atsushi Igarashi Kyoto University email:igarashi@kuis.kyoto-u.ac.jp Naoki Kobayashi Tokyo Institute of Technology email:kobayasi@cs.titech.ac.jp April 20, 2009
More informationFull abstraction for nominal exceptions and general references
Full abstraction for nominal exceptions and general references Nikos Tzevelekos Oxford University N.Tzevelekos GALOP 08 1 Summary Summary Nominal games Further directions Semantics of nominal computation.
More informationGeneration of. Polynomial Equality Invariants. by Abstract Interpretation
Generation of Polynomial Equality Invariants by Abstract Interpretation Enric Rodríguez-Carbonell Universitat Politècnica de Catalunya (UPC) Barcelona Joint work with Deepak Kapur (UNM) 1 Introduction
More informationName: Class: IM8 Block:
Name: Block: Class: IM8 Investigation 1: Mathematical Properties and Order of Operations Mathematical Properties 2 Practice Level 1: Write the name of the property shown in the examples below. 1. 4 + 5
More informationLecture Notes: Axiomatic Semantics and Hoare-style Verification
Lecture Notes: Axiomatic Semantics and Hoare-style Verification 17-355/17-665/17-819O: Program Analysis (Spring 2018) Claire Le Goues and Jonathan Aldrich clegoues@cs.cmu.edu, aldrich@cs.cmu.edu It has
More informationCSC 7101: Programming Language Structures 1. Axiomatic Semantics. Stansifer Ch 2.4, Ch. 9 Winskel Ch.6 Slonneger and Kurtz Ch. 11.
Axiomatic Semantics Stansifer Ch 2.4, Ch. 9 Winskel Ch.6 Slonneger and Kurtz Ch. 11 1 Overview We ll develop proof rules, such as: { I b } S { I } { I } while b do S end { I b } That allow us to verify
More informationCompatibility and inheritance in software architectures
Science of Computer Programming 41 (2001) 105 138 www.elsevier.com/locate/scico Compatibility and inheritance in software architectures Carlos Canal, Ernesto Pimentel, Jose M. Troya Departamento Lenguajes
More informationCS357: CTL Model Checking (two lectures worth) David Dill
CS357: CTL Model Checking (two lectures worth) David Dill 1 CTL CTL = Computation Tree Logic It is a propositional temporal logic temporal logic extended to properties of events over time. CTL is a branching
More informationAn introduction to process calculi: Calculus of Communicating Systems (CCS)
An introduction to process calculi: Calculus of Communicating Systems (CCS) Lecture 2 of Modelli Matematici dei Processi Concorrenti Paweł Sobociński University of Southampton, UK Intro to process calculi:
More informationOn Böhm Trees and Lévy-Longo Trees in π-calculus
On Böhm Trees and Lévy-Longo Trees in π-calculus Xian Xu East China University of Science and Technology (from ongoing work with Davide Sangiorgi) April, 1 Subject Encodings from to λ-calculus (sequential
More informationComplexity Theory VU , SS The Polynomial Hierarchy. Reinhard Pichler
Complexity Theory Complexity Theory VU 181.142, SS 2018 6. The Polynomial Hierarchy Reinhard Pichler Institut für Informationssysteme Arbeitsbereich DBAI Technische Universität Wien 15 May, 2018 Reinhard
More informationOutline. Complexity Theory EXACT TSP. The Class DP. Definition. Problem EXACT TSP. Complexity of EXACT TSP. Proposition VU 181.
Complexity Theory Complexity Theory Outline Complexity Theory VU 181.142, SS 2018 6. The Polynomial Hierarchy Reinhard Pichler Institut für Informationssysteme Arbeitsbereich DBAI Technische Universität
More informationSelf-Adaptation and Information Flow in Multiparty Communications
Self-Adaptation and Information Flow in Multiparty Communications Joint work with Ilaria Castellani (INRIA, FR) Jorge A. Pérez (University of Groningen, NL) ABCD meeting London, 20th April, 2015 1 / 36
More informationReasoning with Quantified Boolean Formulas
Reasoning with Quantified Boolean Formulas Martina Seidl Institute for Formal Models and Verification Johannes Kepler University Linz 1 What are QBF? Quantified Boolean formulas (QBF) are formulas of propositional
More informationAxiomatic Semantics. Stansifer Ch 2.4, Ch. 9 Winskel Ch.6 Slonneger and Kurtz Ch. 11 CSE
Axiomatic Semantics Stansifer Ch 2.4, Ch. 9 Winskel Ch.6 Slonneger and Kurtz Ch. 11 CSE 6341 1 Outline Introduction What are axiomatic semantics? First-order logic & assertions about states Results (triples)
More informationFundamentals of Session Types
Fundamentals of Session Types Vasco T. Vasconcelos LaSIGE, Faculty of Sciences, University of Lisbon, Portugal Abstract We present a reconstruction of session types in a linear pi calculus where types
More information198:538 Complexity of Computation Lecture 16 Rutgers University, Spring March 2007
198:538 Complexity of Computation Lecture 16 Rutgers University, Spring 2007 8 March 2007 In this lecture we discuss Shamir s theorem that PSPACE is the set of languages that have interactive proofs with
More informationEureka Lessons for 6th Grade Unit FIVE ~ Equations & Inequalities
Eureka Lessons for 6th Grade Unit FIVE ~ Equations & Inequalities These 2 lessons can easily be taught in 2 class periods. If you like these lessons, please consider using other Eureka lessons as well.
More informationTechnische Universität München Department of Computer Science. Joint Advanced Students School 2009 Propositional Proof Complexity.
Technische Universität München Department of Computer Science Joint Advanced Students School 2009 Propositional Proof Complexity May 2009 Frege Systems Michael Herrmann Contents Contents ii 1 Introduction
More informationA π-calculus with preorders
A π-calculus with preorders Daniel Hirschkoff, Jean-Marie Madiot, Davide Sangiorgi École Normale Supérieure de Lyon Università di Bologna PACE kick-off meeting, 2013-04-23 Jean-Marie Madiot (Lyon, Bologna)
More informationChapter 3 Ctd: Combinational Functions and Circuits
Chapter 3 Ctd: Combinational Functions and Circuits 1 Value Fixing, Transferring, and Inverting Four different functions are possible as a function of single Boolean variable Transferring Inverting Value
More informationManual of Logical Style
Manual of Logical Style Dr. Holmes January 9, 2015 Contents 1 Introduction 2 2 Conjunction 3 2.1 Proving a conjunction...................... 3 2.2 Using a conjunction........................ 3 3 Implication
More informationCS156: The Calculus of Computation
Page 1 of 31 CS156: The Calculus of Computation Zohar Manna Winter 2010 Chapter 3: First-Order Theories Page 2 of 31 First-Order Theories I First-order theory T consists of Signature Σ T - set of constant,
More informationf(x) x
2 Function 2.1 Function notation The equation f(x) = x 2 + 3 defines a function f from the set R of real numbers to itself (written f : R R). This function accepts an input value x and returns an output
More informationCHAPTER1: Digital Logic Circuits Combination Circuits
CS224: Computer Organization S.KHABET CHAPTER1: Digital Logic Circuits Combination Circuits 1 PRIMITIVE LOGIC GATES Each of our basic operations can be implemented in hardware using a primitive logic gate.
More informationLecture Notes on Data Abstraction
Lecture Notes on Data Abstraction 15-814: Types and Programming Languages Frank Pfenning Lecture 14 October 23, 2018 1 Introduction Since we have moved from the pure λ-calculus to functional programming
More informationContents. Chapter 2 Digital Circuits Page 1 of 30
Chapter 2 Digital Circuits Page 1 of 30 Contents Contents... 1 2 Digital Circuits... 2 2.1 Binary Numbers... 2 2.2 Binary Switch... 4 2.3 Basic Logic Operators and Logic Expressions... 5 2.4 Truth Tables...
More informationLecture Notes on Intuitionistic Kripke Semantics
Lecture Notes on Intuitionistic Kripke Semantics 15-816: Modal Logic Frank Pfenning Lecture 15 March 18, 2010 1 Introduction In this lecture we present an intuitionistic approach to describing a multipleworld
More informationPredicate Calculus lecture 1
Predicate Calculus lecture 1 Section 1.3 Limitation of Propositional Logic Consider the following reasoning All cats have tails Gouchi is a cat Therefore, Gouchi has tail. MSU/CSE 260 Fall 2009 1 MSU/CSE
More informationCS 2800: Logic and Computation Fall 2010 (Lecture 13)
CS 2800: Logic and Computation Fall 2010 (Lecture 13) 13 October 2010 1 An Introduction to First-order Logic In Propositional(Boolean) Logic, we used large portions of mathematical language, namely those
More informationCOMP 2600: Formal Methods for Software Engineeing
COMP 2600: Formal Methods for Software Engineeing Dirk Pattinson Semester 2, 2013 What do we mean by FORMAL? Oxford Dictionary in accordance with convention or etiquette or denoting a style of writing
More informationChurch s undecidability result
Church s undecidability result Alan Turing Birth Centennial Talk at IIT Bombay, Mumbai Joachim Breitner April 21, 2011 Welcome, and thank you for the invitation to speak about Church s lambda calculus
More informationRecursive equations in higher-order process calculi
Theoretical Computer Science 266 (2001) 839 852 www.elsevier.com/locate/tcs Recursive equations in higher-order process calculi Mingsheng Ying a; ;1, Martin Wirsing b a State Key Laboratory of Intelligent
More informationFoundations of Mathematics MATH 220 FALL 2017 Lecture Notes
Foundations of Mathematics MATH 220 FALL 2017 Lecture Notes These notes form a brief summary of what has been covered during the lectures. All the definitions must be memorized and understood. Statements
More informationLogic Model Checking
Logic Model Checking Lecture Notes 10:18 Caltech 101b.2 January-March 2004 Course Text: The Spin Model Checker: Primer and Reference Manual Addison-Wesley 2003, ISBN 0-321-22862-6, 608 pgs. the assignment
More informationcontrol in out in out Figure 1. Binary switch: (a) opened or off; (b) closed or on.
Chapter 2 Digital Circuits Page 1 of 18 2. Digital Circuits Our world is an analog world. Measurements that we make of the physical objects around us are never in discrete units but rather in a continuous
More informationLesson 24: True and False Number Sentences
NYS COMMON CE MATHEMATICS CURRICULUM Lesson 24 6 4 Student Outcomes Students identify values for the variables in equations and inequalities that result in true number sentences. Students identify values
More informationCommunication Engineering Prof. Surendra Prasad Department of Electrical Engineering Indian Institute of Technology, Delhi
Communication Engineering Prof. Surendra Prasad Department of Electrical Engineering Indian Institute of Technology, Delhi Lecture - 41 Pulse Code Modulation (PCM) So, if you remember we have been talking
More informationNotes. Corneliu Popeea. May 3, 2013
Notes Corneliu Popeea May 3, 2013 1 Propositional logic Syntax We rely on a set of atomic propositions, AP, containing atoms like p, q. A propositional logic formula φ Formula is then defined by the following
More informationA Typed Interrupt Calculus
A Typed Interrupt Calculus Jens Palsberg Di Ma Department of Computer Science Purdue University, W. Lafayette, IN 47907 {palsberg,madi@cs.purdue.edu Abstract. Most real-time systems require responsive
More informationDiscrete Probability Refresher
ECE 1502 Information Theory Discrete Probability Refresher F. R. Kschischang Dept. of Electrical and Computer Engineering University of Toronto January 13, 1999 revised January 11, 2006 Probability theory
More informationA Multiple-Conclusion Specification Logic
A Multiple-Conclusion Specification Logic Alwen Tiu Australian National University ANU Logic Summer School Lecture 3, December 14, 2007 Alwen Tiu (ANU) Intuitionistic and Linear Logic (5) LSS07 1 / 18
More information