Synchronization Expressions: Characterization Results and. Implementation. Kai Salomaa y Sheng Yu y. Abstract

Size: px
Start display at page:

Download "Synchronization Expressions: Characterization Results and. Implementation. Kai Salomaa y Sheng Yu y. Abstract"

Transcription

1 Synchronization Expressions: Characterization Results and Implementation Kai Salomaa y Sheng Yu y Abstract Synchronization expressions are dened as restricted regular expressions that specify synchronization constraints between parallel processes and their semantics is dened using synchronization languages. In this paper we survey results on synchronization languages, in particular various approaches to obtain an exact characterization of this language class using closure properties under a set of rewriting rules or homomorphic characterizations. implementation of synchronization expressions. Also we discuss the 1 Introduction Synchronization expressions (SE's) were originally introduced in the parallel programming language ParC [7] as high-level constructs for specifying synchronization constraints between parallel processes. Synchronization requests are specied as expressions of tags for statements that are to be constrained by the synchronization requirements. The semantics of SE's is dened using synchronization languages. The corresponding synchronization language describes intuitively how an SE is implemented in the parallel programming language ParC. Using this formalism, relations such as equivalence and inclusion between SE's can be easily understood and tested. Thus the synchronization languages provide a systematic approach for the implementation and simplication of SE's in parallel programming languages. A synchronization language can be seen as the set of correct executions (as controlled by the SE) of a distributed application where each action is split into two atomic parts, its start and termination. It can be argued [8, 9] that synchronization languages are a more suitable semantic model for SE's than traditional models such as traces, Petri nets, or process algebra [10, 17]. An important feature of the semantics dened by synchronization languages is that it splits each action into two parts, the start and the termination. For instance, in trace semantics [6] parallel execution is interpreted as a k b = ab + ba, but in order to control the execution of parallel Research supported by the Natural Sciences and Engineering Research Council of Canada Grant OGP y Department of Computer Science, University of Western Ontario, London, Ontario N6A 5B7, Canada 1

2 processes it is necessary to distinguish sequences like ab and ba from real parallel execution. By having the start and termination of an action as separate instantaneous parts such distinctions can be made. Furthermore, synchronization languages can specify that certain occurrences of given processes are parallel whereas other occurrences need to be executed in a specied sequential order. The relationship of and dierences between synchronization languages and the formalisms used in concurrency will be discussed further in [3]. It was shown in [8, 9] that synchronization languages are closed under certain naturally dened rewriting rules and there it was also conjectured that synchronization languages would consist of the subset of regular languages closed under these rules and satisfying the so called start-termination property. The conjecture was proved for languages expressing synchronization between two distinct actions (i.e, for a two-letter alphabet) by Clerbout, Roos and Ryl [5, 13] and furthermore they showed that the conjecture is false in general. We discuss two distinct approaches that have been followed in attempting to obtain an exact characterization of the synchronization languages. By modifying the semantics of SE's [16] considered a new denition of synchronization languages. The new denition has the advantage that it allows us to eliminate the intuitively less well motivated transformations (rewriting rules) describing closure properties of the synchronization languages and the new set of rules always preserves regularity. This approach allows us to obtain an exact characterization at least for the nite synchronization languages in terms of simple semi-commutation rules [16]. However, it remains an open question whether the rewriting rules can be used to characterize synchronization languages in general. Another approach is to extend the set of rewriting rules [13]. The extended system satis- es classical properties of commutation systems, for instance, it enables one to prove a projection lemma. Besides giving rise to interesting questions in formal language theory, synchronization languages provide us with a systematic method for implementing SE's in a parallel programming language such as ParC. In the nal section we discuss the practical implementation of SE's. This gives one more example on the usefulness of the interaction between formal language theory and practical computer science. 2 Synchronization Expressions and Languages We assume that the reader is familiar with the basic notions related to regular expressions and rewriting systems [1, 15, 18]. The set of nite words over a nite alphabet is denoted, is the empty word, and + =? fg. The catenation of languages L 1 ; L 2 is L 1 L 2 = fw 2 j (9v i 2 L i ; i = 1; 2) w = v 1 v 2 g and the catenation of n copies of L is L n (n 0). Note that L 0 = fg. The Kleene star of a language L is L = [ 1 i=0 Li. The shue of words u; v 2 is the language!(u; v) consisting of all words that can be written in the form u 1 v 1 u n v n, n 0, where u = u 1 u n, v = v 1 v n, u i ; v i 2, 2

3 i = 1; : : :; n. The shue operation is extended for languages in the natural way:!(l 1 ; L 2 ) = S w 1 2L 1 ;w 2 2L 2!(w 1 ; w 2 ), where L 1 ; L 2. A string-rewriting system (or Thue system) over is a nite set R of rules u! v, u; v 2. The rules of R dene the (single step) reduction relation! R as follows. For w 1 ; w 2 2, w 1! R w 2 if and only if there exists a rule u 1! u 2 2 R and r; s 2 such that w i = ru i s, i = 1; 2. The reduction relation of R is the reexive and transitive closure of! R and it is denoted! R. We dene synchronization expressions using the extended denition from [16]. The operators!, k, j, & and are called, respectively, the sequencing, join, selection, intersection, and repetition operators. Later we give also the original more restricted denition that diers only in the use of the join operator. The intuitive meaning of the operations will be apparent from the semantic interpretation given below. For easier readability we omit the outermost parentheses of an expression. All the four binary operations will be associative, so usually also other parentheses may be omitted. Let be an alphabet such that each symbol of denotes a distinct process. In order to dene the meaning of synchronization expressions, for each a 2 we associate symbols a s and a t to denote, respectively, the start and termination of the process. Also, we denote s = fa s j a 2 g; t = fa t j a 2 g: The synchronization languages satisfy the condition that the start of an occurrence of a process always precedes the termination of the same occurrence. The condition is dened formally as follows. For a 2 let p a : ( s [ t )?! fa s ; a t g be the morphism determined by the conditions ( x; if x 2 fas ; a t g; p a (x) = ; if x 62 fa s ; a t g: A word w 2 ( s [ t ) is said to satisfy the start-termination condition (or st-condition for short) if for all a 2, p a (w) 2 (a s a t ). If w satises the st-condition, then w belongs to the shue of languages ((a 1 ) s (a 1 ) t ),..., ((a k ) s (a k ) t ) where a i 2, i = 1; : : :k. The set of all words over satisfying the st-condition is denoted W st called st-languages. st and subsets of W The synchronization expressions 2 SE() and the languages denoted by the expressions are dened inductively as follows. Denition 2.1 The set of synchronization expressions over an alphabet, SE(), is the smallest subset of ( [ f;!; &; j; k; ; (; )g) dened inductively by the following rules. The synchronization language denoted by 2 SE() is L(). (i) [ fg SE(). L() = ; and L(a) = fa s a t g when a 2. (ii) If 1 ; 2 2 SE() then ( 1! 2 ) 2 SE() and L( 1! 2 ) = L( 1 ) L( 2 ). are 3

4 (iii) If 1 ; 2 2 SE() then ( 1 k 2 ) 2 SE() and L( 1 k 2 ) =!(L( 1 ); L( 2 )) \ W st. (iv) If 1 ; 2 2 SE() then ( 1 j 2 ) 2 SE() and L( 1 j 2 ) = L( 1 ) [ L( 2 ). (v) If 1 ; 2 2 SE() then ( 1 & 2 ) 2 SE() and L( 1 & 2 ) = L( 1 ) \ L( 2 ). (vi) If 2 SE() then 2 SE() and L( ) = L(). The original denition of synchronization expressions required that the expressions appearing as arguments of the parallelization operator must be over disjoint alphabets. The set of restricted synchronization expressions, SE r (), is dened as in Denition 2.1 by substituting SE r () everywhere for SE() and modifying the condition (iii) as follows. We denote by alph() the set of symbols of appearing in the expression. (alph() can naturally be dened inductively following Denition 2.1.) (iii)' If 1 ; 2 2 SE r () and alph( 1 ) \ alph( 2 ) = ; then ( 1 k 2 ) 2 SE ( ) and L( 1 k 2 ) =!(L( 1 ); L( 2 )). When dening the interpretation of the parallelization operator in Denition 2.1 we use intersection with the set of st-words. If we would allow arbitrary shues, this would produce words like a s a s a t a t that do not have any meaningful interpretation. In restricted synchronization expressions, always when 1 k 2 is dened every word of!(l( 1 ); L( 2 )) satises the st-condition so actually we do not need the intersection with the set W st. The family of synchronization languages L(SE) (respectively, restricted synchronization languages L(SE r )) consists of all languages L() where alpha 2 SE() (respectively, alpha 2 SE r ()) for some alphabet. Directly from the denition it follows that L(SE r ) L(SE). Furthermore, the inclusion is strict since, for instance, the expression (b! a ) k (a! c) denotes a language that is not a restricted synchronization language [13, 16]. 3 Partial Characterization Results Synchronization languages are regular languages satisfying the st-condition and furthermore they are closed under certain types of semi-commutation rules and their extensions. It would be very useful if we could exactly characterize the synchronization languages in terms of closure under some simple rewriting rules. A characterization could yield more ecient algorithms for testing the equivalence of SE's since in many cases it would be easy to test whether a give nite automaton accepts a language satisfying the given semi-commutation properties. Denition 3.1 Let be an alphabet. We dene the rewriting system R ( s [ t ) ( s [ t ) to consist of the following rules, where a; b 2, a 6= b: 4

5 (i) a s b t! b t a s, (ii) a s b s! b s a s, (iii) a t b t! b t a t. The set S is dened to consist of all rules (1) (a 1 ) t (a i ) t (a 1 ) s (a i ) s (b 1 ) t (b j ) t (b 1 ) s (b j ) s! (b 1 ) t (b j ) t (b 1 ) s (b j ) s (a 1 ) t (a i ) t (a 1 ) s (a i ) s ; where where a 1 ; : : :; a i ; b 1 ; : : :; b j are pairwise distinct elements of, i; j 1. Then we denote R 0 = R [ S : Note that the rules R dene a semi-commutation relation on [4]. By symmetry the rules (i) and (ii) could be written also as two-directional rules. If R is a rewriting system over and L we denote R (L) = fu 2 j (9v 2 L)v! R ug. We say that L is closed under R if L = R (L). The following results hold. Theorem 3.1 Let L. (a) [16] If L is a synchronization language, then L is closed under R. (b) [8, 9] If L is a restricted synchronization language, then L is closed under R 0. The intuitive explanation why restricted synchronization languages are closed also under rules (1) is that if we have a subword of the form : : : a t a s b t b s : : : (or the given more general form), then all the following pairs of the given occurrences of the symbols are parallel: (a t ; b t ), (a s ; b s ) and (a s ; b t ), i.e., they correspond to symbols occuring in dierent arguments of the parallelization operator. On the other hand, since the dierent arguments may not contain occurrences of the same symbol of, the only possibility is that the symbols a t ; a s correspond to occurrences in one of the arguments, and b t ; b s in the other argument. It was conjectured [9] that closure under the rewriting system R 0 together with the st-condition exactly characterizes the restricted synchronization languages. The conjecture was proved in [5] for alphabets corresponding to two actions. Theorem 3.2 [5] A language L fa s ; a t ; b s ; b t g is a restricted synchronization language if and only if L is regular, satises the st-condition and is closed under R 0. At the same time [5, 13] established that the conjecture does not hold in general. The counterexample given there is the language L 1 = R 0 (b s (a s a t ) c s b t (a s a t ) c t ) 5

6 which is a regular st-language and it can be shown that L 1 is not a restricted synchronization language. The intuitive idea is that restricted synchronization expressions cannot dierentiate in L 1 between instances of the action a that occur during b and during c, respectively. Formally the fact that L 1 62 L(SE r ) is proved by establishing a so called switching property for restricted synchronization languages [5, 13]. Another undesirable property of the restricted synchronization languages is that the corresponding rewriting rules (1) do not, in general, preserve regularity of st-languages. Consider the language L 2 = a s b s (a t a s b t b s ) b t a t. Using the rule a t a s b t b s! b t b s a t a s (and the semi-commutation rules of Denition 3.1) every word of L 2 can be rewritten to a word (b s b t ) m (a s a t ) m+1, and this observation easily implies that R 0 (L 2 ) is not regular. For the above reasons it is natural to consider the more general denition of SE's given in Denition 2.1. This allows us to drop the rules (1) from the rewriting system describing closure properties of the synchronization languages Using the fact that the rules (i){(iii) of Denition 3.1 are semi-commutations and the general properties of semi-commutations [4] we can prove: Proposition 3.1 [16] If L ( s [ t ) is a regular st-language, then R (L) is also regular. Also using the more general denition, in the case of nite languages we can strengthen the result of Theorem 3.1(a) into an \if and only if" condition. Theorem 3.3 [16] Assume that L is a nite language over s [ t. Then L 2 L(SE) if and only if L is an st-language closed under R. We conjecture that in general a regular st-language is a synchronization language if and only if it is closed under R, i.e., that we could drop the niteness condition from Theorem 3.1. However, we do not have a proof for this conjecture. 4 Implementation of SEs in concurrent programming languages In this section, we explain how the ideas of SEs and SLs can be used and implemented in a programming language that is designed for a parallel or/and distributed computing environment. The implementation strictly follows our semantic interpretation of SEs using SLs. More specically, for an SE, we construct a nite automaton that accepts the prex language of the SL denoted by the SE at compile time. Then the constructed automaton is used to impose the synchronization constraints specied by the SE at runtime. In the following, we will use examples written in the ParC concurrent programming language [7]. The examples will be explained in detail assuming that the reader knows the C programming language but not ParC. In ParC, (simple or compound) statements are considered as the basic elements of synchronization. Statements that are involved in synchronization are represented in 6

7 SEs by statement tags. In other words, the alphabet of an SE is a set of statement tags. This is a design decision specic to ParC and need not be true in general. Especially in an objectoriented concurrent programming language, it may be more appropriate that object operations rather than statements should be the basic elements of synchronization specied by SEs. However, the implementation principle described below would still be applicable as long as a symbol in an SE represents an entire execution of a process. We provide in the following a simple example to show how a ParC program with synchronization expressions is translated into a Sequent C program with system calls [12]. We rst give the ParC program with a detailed explanation. Then we give the generated code in Sequent C with system calls. main(){ shared int w; int r; int f(); tag a, b; restrict (a->b)*; pexec{ {/*... */ b:: r = w; /*... */ {/*... */ a:: w = f(); /*... */ We rst look at the pexec statement, i.e., the parallel execution statement. This language construct denotes that all statements that are directly under the scope can be executed in parallel. In the above program, there are two compound statements directly under the pexec statement, which can be considered as two parallel processes. In the rst process, the statement \r = w;" is tagged with b, and in the second process, \w = f();" is tagged with a. We assume that each of the two statements is in a loop. The restrict statement above the pexec statement species a synchronization expression (a->b)*, meaning that the a and b statements can be executed only in the following sequence: a, b, a, b, : : :, i.e., the ith instance of b cannot start its execution before 7

8 the ith instance of a nishes and the (i + 1)th instance of a cannot start its execution before the ith instance of b nishes, i 1. Also in the declarations, w is declared as a shared integer variable, which means that the two appearances of w in the two parallel processes, respectively, are the same variable. The integer variable i is not shared. So, it has dierent copies in dierent parallel processes in the scope. And the statement tag a, b; declares that both a and b are statement tags. An deterministic nite automaton (DFA) is built according to the SE a->b, which accepts the prex language of the SL dened by the SE. The DFA is shown in Figure 1. b t init as at bs Figure 1: DFA for the SE (a->b)* To ensure that the the state update can only be performed exclusively by one process, we build a macro called wait and set(int state; int i 1 ; j 1 ; : : :; int i n ; j n ). for n > 0. The macro waits until the condition \state == i t ", for some t, 1 t n, becomes true and then sets \state = j t ". Instead of using a variable-length list int i 1 ; j 1 ; : : :; int i n ; j n, the actual implementation of wait and set may use a pointer to a table (an array) for the transitions. Here. we use the list for easy to comprehend. The macro is an indivisible (exclusive) operation and can be implemented using primitive synchronization mechanisms of the system. Then the state transitions of the DFA correspond to the following Sequent C statements or macros: Initialization state = 1; The a s transition wait and set( state; 1, 2); The a t transition wait and set( state; 2, 3); The b s transition wait and set( state; 3, 4); 8

9 The b t transition wait and set( state; 4, 1); The following is the code generated from the ParC program: #include<parallel/microtask.h> #include<parallel/parallel.h> #include<sys/wait.h> #include<sys/types.h> #include<stdio.h> main() { shared int w; int k, r; shared int _state=1; int f(); { int _pw, _pid; if ((_pid=fork()) == 0){ /*... */ wait_and_set(_state; 3, 4); r = w; wait_and_set(_state; 4, 1); /*... */ exit(0); else if (_pid < 0){ printf("fork error\n"); exit(1); /*... */ wait_and_set(_state; 1, 2); w = f(k); wait_and_set(_state; 2, 3); /*... */ 9

10 For a slightly more complicated SE \(a b)->c", a corresponding DFA is shown in Figure 2. init 1 a s b s 2 3 a t a s b t 5 b s b a s t 7 b t 4 b t 6 a s 8 a t 9 cs 10 ct 11 Figure 2: DFA for the SE (a b)->c Then the code generated for the a statement would be wait_and_set(_state; 1, 2; 3, 4; 6, 8);... /* the a statement itself */ wait_and_set(_state; 2, 5; 4, 7; 8, 9); Similarly, the code generated for b statement would be wait_and_set(_state; 1, 3; 2, 4; 5, 7);... /* the b statement itself */ wait_and_set(_state; 3, 6; 4, 8; 7, 9); And the following is the code for c: wait_and_set(_state; 9, 10);... /* the c statement itself */ wait_and_set(_state; 10, 11); With the above two simple examples, the basic idea of implementing SEs using SLs should be clear. There are many other issues concerning implementation. We mention several of them briey in the following. The rst is the size-explosion problem of DFA. For many practical synchronization problems, the sizes of the DFA can be too large to implement. We suggest the use of alternating nite automata (AFA) [2, 11] instead of DFA in the implementation of SE. The use of AFA can signicantly increase the space eciency. The checking of states may become the bottleneck of synchronization since it is done sequentially. This is not necessarily true. Note that SEs within dierent concurrent blocks, respectively, can be implemented by automata that actually run concurrently. 10

11 Conicting synchronization constraints and deadlock conditions caused by the denitions of SEs in the same scope can be examined by checking the intersection of the SLs dened by the SEs and the execution sequences dened by the program ow. The precise semantic denition of SEs makes such checking conceptually clear and practically possible to implement. References [1] R. V. Book, F. Otto: String-Rewriting Systems, Texts and Monographs in Computer Science, Springer-Verlag, [2] H. Cheung, K. Salomaa, X. Wu, S. Yu: An Ecient Implementation of Regular Languages Using r-afa. Proceedings of the Second International Workshop on Implementing Automata (WIA'97) 1997, [3] G. Ciobanu, K. Salomaa, S. Yu: Synchronization languages and ST semantics, manuscript in preparation. [4] M. Clerbout, M. Latteux and Y. Roos, Semi-commutations. In: The Book of Traces. (V. Diekert, G. Rozenberg, eds.) Chapter 12, pp. 487{552, World Scientic, Singapore, [5] M. Clerbout, Y. Roos, I. Ryl: Synchronization languages. Theoret. Comput. Sci., to appear. [6] V. Diekert and Y. Metivier, Partial commutation and traces. In: Handbook of Formal Languages, Vol. III. (G. Rozenberg, A. Salomaa, eds.) pp. 457{533, Springer-Verlag, [7] R. Govindarajan, L. Guo, S. Yu and P. Wang, ParC Project: Practical constructs for parallel programming languages. Proc. of the 15th Annual IEEE International Computer Software & Applications Conference, 1991, pp. 183{189. [8] L. Guo, K. Salomaa and S. Yu, Synchronization expressions and languages. Proc. of the 6th IEEE Symposium on Parallel and Distributed Processing, (Dallas, Texas). IEEE Computer Society Press, 1994, pp. 257{264. [9] L. Guo, K. Salomaa and S. Yu, On synchronization languages. Fundamenta Inform. 25 (1996) 423{436. [10] M. Hennessy: Algebraic Theory of Processes, The MIT Press, Cambridge, Mass., [11] S. Huerter, K. Salomaa, X. Wu, S. Yu: Implementing Reversed Alternating Finite Automaton (r-afa) Operations. Proceedings of the Third International Workshop on Implementing Automata (WIA'98) 1998,

12 [12] A. Osterhaug edited: Guide to Parallel Programming On Sequent Computer Systems, Prentice Hall, Englewood Clis, New Jersey, [13] I. Ryl, Y. Roos, M. Clerbout: Partial characterization of synchronization languages. Proc. of 22nd International Symposium on Mathematical Foundations of Computer Science (MFCS'97), Lect. Notes Comput. Sci (1997) 209{218. [14] I. Ryl, Y. Roos, M. Clerbout: About synchronization languages. Proc. of 23rd International Symposium on Mathematical Foundations of Computer Science (MFCS'98), Lect. Notes Comput. Sci (1998) 533{542. [15] A. Salomaa: Formal Languages, Academic Press, [16] K. Salomaa, S. Yu: Synchronization expressions with extended join operation. Theoret. Comput. Sci. 207 (1998) 73{88. [17] V. Sassone, M. Nielsen, G. Winskel: Models of concurrency: Towards a classication, Theoret. Comput. Sci. 170 (1996) 297{348. [18] S. Yu, Regular languages. In: Handbook of Formal Languages, Vol. I. (G. Rozenberg, A. Salomaa, eds.) pp. 41{110, Springer-Verlag,

for the MADFA construction problem have typically been kept as trade secrets (due to their commercial success in applications such as spell-checking).

for the MADFA construction problem have typically been kept as trade secrets (due to their commercial success in applications such as spell-checking). A Taxonomy of Algorithms for Constructing Minimal Acyclic Deterministic Finite Automata Bruce W. Watson 1 watson@openfire.org www.openfire.org University of Pretoria (Department of Computer Science) Pretoria

More information

A Formal Study of Practical Regular Expressions

A Formal Study of Practical Regular Expressions International Journal of Foundations of Computer Science c World Scientific Publishing Company A Formal Study of Practical Regular Expressions Cezar Câmpeanu Department of Mathematics and Computer Science,

More information

time using O( n log n ) processors on the EREW PRAM. Thus, our algorithm improves on the previous results, either in time complexity or in the model o

time using O( n log n ) processors on the EREW PRAM. Thus, our algorithm improves on the previous results, either in time complexity or in the model o Reconstructing a Binary Tree from its Traversals in Doubly-Logarithmic CREW Time Stephan Olariu Michael Overstreet Department of Computer Science, Old Dominion University, Norfolk, VA 23529 Zhaofang Wen

More information

2386 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 52, NO. 6, JUNE 2006

2386 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 52, NO. 6, JUNE 2006 2386 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 52, NO. 6, JUNE 2006 The Encoding Complexity of Network Coding Michael Langberg, Member, IEEE, Alexander Sprintson, Member, IEEE, and Jehoshua Bruck,

More information

to automatically generate parallel code for many applications that periodically update shared data structures using commuting operations and/or manipu

to automatically generate parallel code for many applications that periodically update shared data structures using commuting operations and/or manipu Semantic Foundations of Commutativity Analysis Martin C. Rinard y and Pedro C. Diniz z Department of Computer Science University of California, Santa Barbara Santa Barbara, CA 93106 fmartin,pedrog@cs.ucsb.edu

More information

Semantics via Syntax. f (4) = if define f (x) =2 x + 55.

Semantics via Syntax. f (4) = if define f (x) =2 x + 55. 1 Semantics via Syntax The specification of a programming language starts with its syntax. As every programmer knows, the syntax of a language comes in the shape of a variant of a BNF (Backus-Naur Form)

More information

Parallel Rewriting of Graphs through the. Pullback Approach. Michel Bauderon 1. Laboratoire Bordelais de Recherche en Informatique

Parallel Rewriting of Graphs through the. Pullback Approach. Michel Bauderon 1. Laboratoire Bordelais de Recherche en Informatique URL: http://www.elsevier.nl/locate/entcs/volume.html 8 pages Parallel Rewriting of Graphs through the Pullback Approach Michel Bauderon Laboratoire Bordelais de Recherche en Informatique Universite Bordeaux

More information

Mathematically Rigorous Software Design Review of mathematical prerequisites

Mathematically Rigorous Software Design Review of mathematical prerequisites Mathematically Rigorous Software Design 2002 September 27 Part 1: Boolean algebra 1. Define the Boolean functions and, or, not, implication ( ), equivalence ( ) and equals (=) by truth tables. 2. In an

More information

SORT INFERENCE \coregular" signatures, they derive an algorithm for computing a most general typing for expressions e which is only slightly more comp

SORT INFERENCE \coregular signatures, they derive an algorithm for computing a most general typing for expressions e which is only slightly more comp Haskell Overloading is DEXPTIME{complete Helmut Seidl Fachbereich Informatik Universitat des Saarlandes Postfach 151150 D{66041 Saarbrucken Germany seidl@cs.uni-sb.de Febr., 1994 Keywords: Haskell type

More information

The Encoding Complexity of Network Coding

The Encoding Complexity of Network Coding The Encoding Complexity of Network Coding Michael Langberg Alexander Sprintson Jehoshua Bruck California Institute of Technology Email: mikel,spalex,bruck @caltech.edu Abstract In the multicast network

More information

Localization in Graphs. Richardson, TX Azriel Rosenfeld. Center for Automation Research. College Park, MD

Localization in Graphs. Richardson, TX Azriel Rosenfeld. Center for Automation Research. College Park, MD CAR-TR-728 CS-TR-3326 UMIACS-TR-94-92 Samir Khuller Department of Computer Science Institute for Advanced Computer Studies University of Maryland College Park, MD 20742-3255 Localization in Graphs Azriel

More information

MIT Specifying Languages with Regular Expressions and Context-Free Grammars. Martin Rinard Massachusetts Institute of Technology

MIT Specifying Languages with Regular Expressions and Context-Free Grammars. Martin Rinard Massachusetts Institute of Technology MIT 6.035 Specifying Languages with Regular essions and Context-Free Grammars Martin Rinard Massachusetts Institute of Technology Language Definition Problem How to precisely define language Layered structure

More information

MIT Specifying Languages with Regular Expressions and Context-Free Grammars

MIT Specifying Languages with Regular Expressions and Context-Free Grammars MIT 6.035 Specifying Languages with Regular essions and Context-Free Grammars Martin Rinard Laboratory for Computer Science Massachusetts Institute of Technology Language Definition Problem How to precisely

More information

The S-Expression Design Language (SEDL) James C. Corbett. September 1, Introduction. 2 Origins of SEDL 2. 3 The Language SEDL 2.

The S-Expression Design Language (SEDL) James C. Corbett. September 1, Introduction. 2 Origins of SEDL 2. 3 The Language SEDL 2. The S-Expression Design Language (SEDL) James C. Corbett September 1, 1993 Contents 1 Introduction 1 2 Origins of SEDL 2 3 The Language SEDL 2 3.1 Scopes : : : : : : : : : : : : : : : : : : : : : : : :

More information

Rational subsets in HNN-extensions

Rational subsets in HNN-extensions Rational subsets in HNN-extensions G. Sénizergues joint work with M. Lohrey ROUPE DE TRAVAIL-LGL-28/02/06 1 0- PLAN 0 INTRODUCTION 0.1 Problems 0.2 Motivations 0.3 Results 0.4 Tools 1- HNN EXTENSIONS 1.1

More information

A taxonomy of race. D. P. Helmbold, C. E. McDowell. September 28, University of California, Santa Cruz. Santa Cruz, CA

A taxonomy of race. D. P. Helmbold, C. E. McDowell. September 28, University of California, Santa Cruz. Santa Cruz, CA A taxonomy of race conditions. D. P. Helmbold, C. E. McDowell UCSC-CRL-94-34 September 28, 1994 Board of Studies in Computer and Information Sciences University of California, Santa Cruz Santa Cruz, CA

More information

A Simplied NP-complete MAXSAT Problem. Abstract. It is shown that the MAX2SAT problem is NP-complete even if every variable

A Simplied NP-complete MAXSAT Problem. Abstract. It is shown that the MAX2SAT problem is NP-complete even if every variable A Simplied NP-complete MAXSAT Problem Venkatesh Raman 1, B. Ravikumar 2 and S. Srinivasa Rao 1 1 The Institute of Mathematical Sciences, C. I. T. Campus, Chennai 600 113. India 2 Department of Computer

More information

Weak Dynamic Coloring of Planar Graphs

Weak Dynamic Coloring of Planar Graphs Weak Dynamic Coloring of Planar Graphs Caroline Accurso 1,5, Vitaliy Chernyshov 2,5, Leaha Hand 3,5, Sogol Jahanbekam 2,4,5, and Paul Wenger 2 Abstract The k-weak-dynamic number of a graph G is the smallest

More information

Chapter 3: Propositional Languages

Chapter 3: Propositional Languages Chapter 3: Propositional Languages We define here a general notion of a propositional language. We show how to obtain, as specific cases, various languages for propositional classical logic and some non-classical

More information

the application rule M : x:a: B N : A M N : (x:a: B) N and the reduction rule (x: A: B) N! Bfx := Ng. Their algorithm is not fully satisfactory in the

the application rule M : x:a: B N : A M N : (x:a: B) N and the reduction rule (x: A: B) N! Bfx := Ng. Their algorithm is not fully satisfactory in the The Semi-Full Closure of Pure Type Systems? Gilles Barthe Institutionen for Datavetenskap, Chalmers Tekniska Hogskola, Goteborg, Sweden Departamento de Informatica, Universidade do Minho, Braga, Portugal

More information

Implementation of Hopcroft's Algorithm

Implementation of Hopcroft's Algorithm Implementation of Hopcroft's Algorithm Hang Zhou 19 December 2009 Abstract Minimization of a deterministic nite automaton(dfa) is a well-studied problem of formal language. An ecient algorithm for this

More information

Complexity Theory. Compiled By : Hari Prasad Pokhrel Page 1 of 20. ioenotes.edu.np

Complexity Theory. Compiled By : Hari Prasad Pokhrel Page 1 of 20. ioenotes.edu.np Chapter 1: Introduction Introduction Purpose of the Theory of Computation: Develop formal mathematical models of computation that reflect real-world computers. Nowadays, the Theory of Computation can be

More information

1. (10 points) Draw the state diagram of the DFA that recognizes the language over Σ = {0, 1}

1. (10 points) Draw the state diagram of the DFA that recognizes the language over Σ = {0, 1} CSE 5 Homework 2 Due: Monday October 6, 27 Instructions Upload a single file to Gradescope for each group. should be on each page of the submission. All group members names and PIDs Your assignments in

More information

when a process of the form if be then p else q is executed and also when an output action is performed. 1. Unnecessary substitution: Let p = c!25 c?x:

when a process of the form if be then p else q is executed and also when an output action is performed. 1. Unnecessary substitution: Let p = c!25 c?x: URL: http://www.elsevier.nl/locate/entcs/volume27.html 7 pages Towards Veried Lazy Implementation of Concurrent Value-Passing Languages (Abstract) Anna Ingolfsdottir (annai@cs.auc.dk) BRICS, Dept. of Computer

More information

Algebraic Properties of CSP Model Operators? Y.C. Law and J.H.M. Lee. The Chinese University of Hong Kong.

Algebraic Properties of CSP Model Operators? Y.C. Law and J.H.M. Lee. The Chinese University of Hong Kong. Algebraic Properties of CSP Model Operators? Y.C. Law and J.H.M. Lee Department of Computer Science and Engineering The Chinese University of Hong Kong Shatin, N.T., Hong Kong SAR, China fyclaw,jleeg@cse.cuhk.edu.hk

More information

Let v be a vertex primed by v i (s). Then the number f(v) of neighbours of v which have

Let v be a vertex primed by v i (s). Then the number f(v) of neighbours of v which have Let v be a vertex primed by v i (s). Then the number f(v) of neighbours of v which have been red in the sequence up to and including v i (s) is deg(v)? s(v), and by the induction hypothesis this sequence

More information

Chordal graphs and the characteristic polynomial

Chordal graphs and the characteristic polynomial Discrete Mathematics 262 (2003) 211 219 www.elsevier.com/locate/disc Chordal graphs and the characteristic polynomial Elizabeth W. McMahon ;1, Beth A. Shimkus 2, Jessica A. Wolfson 3 Department of Mathematics,

More information

THE TRANSITIVE REDUCTION OF A DIRECTED GRAPH*

THE TRANSITIVE REDUCTION OF A DIRECTED GRAPH* SIAM J. COMPUT. Vol. 1, No. 2, June 1972 THE TRANSITIVE REDUCTION OF A DIRECTED GRAPH* A. V. AHO, M. R. GAREY" AND J. D. ULLMAN Abstract. We consider economical representations for the path information

More information

size, runs an existing induction algorithm on the rst subset to obtain a rst set of rules, and then processes each of the remaining data subsets at a

size, runs an existing induction algorithm on the rst subset to obtain a rst set of rules, and then processes each of the remaining data subsets at a Multi-Layer Incremental Induction Xindong Wu and William H.W. Lo School of Computer Science and Software Ebgineering Monash University 900 Dandenong Road Melbourne, VIC 3145, Australia Email: xindong@computer.org

More information

2.2 Set Operations. Introduction DEFINITION 1. EXAMPLE 1 The union of the sets {1, 3, 5} and {1, 2, 3} is the set {1, 2, 3, 5}; that is, EXAMPLE 2

2.2 Set Operations. Introduction DEFINITION 1. EXAMPLE 1 The union of the sets {1, 3, 5} and {1, 2, 3} is the set {1, 2, 3, 5}; that is, EXAMPLE 2 2.2 Set Operations 127 2.2 Set Operations Introduction Two, or more, sets can be combined in many different ways. For instance, starting with the set of mathematics majors at your school and the set of

More information

Decision Properties of RLs & Automaton Minimization

Decision Properties of RLs & Automaton Minimization Decision Properties of RLs & Automaton Minimization Martin Fränzle formatics and Mathematical Modelling The Technical University of Denmark Languages and Parsing MF Fall p./ What you ll learn. Decidable

More information

The problem of minimizing the elimination tree height for general graphs is N P-hard. However, there exist classes of graphs for which the problem can

The problem of minimizing the elimination tree height for general graphs is N P-hard. However, there exist classes of graphs for which the problem can A Simple Cubic Algorithm for Computing Minimum Height Elimination Trees for Interval Graphs Bengt Aspvall, Pinar Heggernes, Jan Arne Telle Department of Informatics, University of Bergen N{5020 Bergen,

More information

A Formalization of Transition P Systems

A Formalization of Transition P Systems Fundamenta Informaticae 49 (2002) 261 272 261 IOS Press A Formalization of Transition P Systems Mario J. Pérez-Jiménez and Fernando Sancho-Caparrini Dpto. Ciencias de la Computación e Inteligencia Artificial

More information

Lecture 2 - Graph Theory Fundamentals - Reachability and Exploration 1

Lecture 2 - Graph Theory Fundamentals - Reachability and Exploration 1 CME 305: Discrete Mathematics and Algorithms Instructor: Professor Aaron Sidford (sidford@stanford.edu) January 11, 2018 Lecture 2 - Graph Theory Fundamentals - Reachability and Exploration 1 In this lecture

More information

Chapter Seven: Regular Expressions

Chapter Seven: Regular Expressions Chapter Seven: Regular Expressions Regular Expressions We have seen that DFAs and NFAs have equal definitional power. It turns out that regular expressions also have exactly that same definitional power:

More information

A Model of Machine Learning Based on User Preference of Attributes

A Model of Machine Learning Based on User Preference of Attributes 1 A Model of Machine Learning Based on User Preference of Attributes Yiyu Yao 1, Yan Zhao 1, Jue Wang 2 and Suqing Han 2 1 Department of Computer Science, University of Regina, Regina, Saskatchewan, Canada

More information

Regular Languages and Regular Expressions

Regular Languages and Regular Expressions Regular Languages and Regular Expressions According to our definition, a language is regular if there exists a finite state automaton that accepts it. Therefore every regular language can be described

More information

Eulerian disjoint paths problem in grid graphs is NP-complete

Eulerian disjoint paths problem in grid graphs is NP-complete Discrete Applied Mathematics 143 (2004) 336 341 Notes Eulerian disjoint paths problem in grid graphs is NP-complete Daniel Marx www.elsevier.com/locate/dam Department of Computer Science and Information

More information

1 Introduction One of the contributions of Java is in its bytecode verier, which checks type safety of bytecode for JVM (Java Virtual Machine) prior t

1 Introduction One of the contributions of Java is in its bytecode verier, which checks type safety of bytecode for JVM (Java Virtual Machine) prior t On a New Method for Dataow Analysis of Java Virtual Machine Subroutines Masami Hagiya Department of Information Science, Graduate School of Science, University of Tokyo hagiyais.s.u-tokyo.ac.jp Abstract

More information

A Boolean Expression. Reachability Analysis or Bisimulation. Equation Solver. Boolean. equations.

A Boolean Expression. Reachability Analysis or Bisimulation. Equation Solver. Boolean. equations. A Framework for Embedded Real-time System Design? Jin-Young Choi 1, Hee-Hwan Kwak 2, and Insup Lee 2 1 Department of Computer Science and Engineering, Korea Univerity choi@formal.korea.ac.kr 2 Department

More information

Johns Hopkins Math Tournament Proof Round: Point Set Topology

Johns Hopkins Math Tournament Proof Round: Point Set Topology Johns Hopkins Math Tournament 2019 Proof Round: Point Set Topology February 9, 2019 Problem Points Score 1 3 2 6 3 6 4 6 5 10 6 6 7 8 8 6 9 8 10 8 11 9 12 10 13 14 Total 100 Instructions The exam is worth

More information

Abstract formula. Net formula

Abstract formula. Net formula { PEP { More than a Petri Net Tool ABSTRACT Bernd Grahlmann and Eike Best The PEP system (Programming Environment based on Petri Nets) supports the most important tasks of a good net tool, including HL

More information

CS402 Theory of Automata Solved Subjective From Midterm Papers. MIDTERM SPRING 2012 CS402 Theory of Automata

CS402 Theory of Automata Solved Subjective From Midterm Papers. MIDTERM SPRING 2012 CS402 Theory of Automata Solved Subjective From Midterm Papers Dec 07,2012 MC100401285 Moaaz.pk@gmail.com Mc100401285@gmail.com PSMD01 MIDTERM SPRING 2012 Q. Point of Kleen Theory. Answer:- (Page 25) 1. If a language can be accepted

More information

FAdo: Interactive Tools for Learning Formal Computational Models

FAdo: Interactive Tools for Learning Formal Computational Models FAdo: Interactive Tools for Learning Formal Computational Models Rogério Reis Nelma Moreira DCC-FC& LIACC, Universidade do Porto R. do Campo Alegre 823, 4150 Porto, Portugal {rvr,nam}@ncc.up.pt Abstract

More information

SGML and Exceptions z. Pekka Kilpelainen and Derick Wood y. June University of Helsinki. Helsinki. Finland

SGML and Exceptions z. Pekka Kilpelainen and Derick Wood y. June University of Helsinki. Helsinki. Finland SGML and Exceptions z Pekka Kilpelainen and Derick Wood y Technical Report HKUST-CS96-30 June 1996 Department of Computer Science University of Helsinki Helsinki Finland ydepartment of Computer Science

More information

Forced orientation of graphs

Forced orientation of graphs Forced orientation of graphs Babak Farzad Mohammad Mahdian Ebad S. Mahmoodian Amin Saberi Bardia Sadri Abstract The concept of forced orientation of graphs was introduced by G. Chartrand et al. in 1994.

More information

On a conjecture of Keedwell and the cycle double cover conjecture

On a conjecture of Keedwell and the cycle double cover conjecture Discrete Mathematics 216 (2000) 287 292 www.elsevier.com/locate/disc Note On a conjecture of Keedwell and the cycle double cover conjecture M. Mahdian, E.S. Mahmoodian, A. Saberi, M.R. Salavatipour, R.

More information

Characterization of Boolean Topological Logics

Characterization of Boolean Topological Logics Characterization of Boolean Topological Logics Short Form: Boolean Topological Logics Anthony R. Fressola Denison University Granville, OH 43023 University of Illinois Urbana-Champaign, IL USA 61801-61802

More information

Formal languages and computation models

Formal languages and computation models Formal languages and computation models Guy Perrier Bibliography John E. Hopcroft, Rajeev Motwani, Jeffrey D. Ullman - Introduction to Automata Theory, Languages, and Computation - Addison Wesley, 2006.

More information

Programming Languages Third Edition

Programming Languages Third Edition Programming Languages Third Edition Chapter 12 Formal Semantics Objectives Become familiar with a sample small language for the purpose of semantic specification Understand operational semantics Understand

More information

Some Elementary Lower Bounds on the Matching Number of Bipartite Graphs

Some Elementary Lower Bounds on the Matching Number of Bipartite Graphs Some Elementary Lower Bounds on the Matching Number of Bipartite Graphs Ermelinda DeLaViña and Iride Gramajo Department of Computer and Mathematical Sciences University of Houston-Downtown Houston, Texas

More information

Automatic synthesis of switching controllers for linear hybrid systems: Reachability control

Automatic synthesis of switching controllers for linear hybrid systems: Reachability control Automatic synthesis of switching controllers for linear hybrid systems: Reachability control Massimo Benerecetti and Marco Faella Università di Napoli Federico II, Italy Abstract. We consider the problem

More information

A Note on the Succinctness of Descriptions of Deterministic Languages

A Note on the Succinctness of Descriptions of Deterministic Languages INFORMATION AND CONTROL 32, 139-145 (1976) A Note on the Succinctness of Descriptions of Deterministic Languages LESLIE G. VALIANT Centre for Computer Studies, University of Leeds, Leeds, United Kingdom

More information

Finite automata. We have looked at using Lex to build a scanner on the basis of regular expressions.

Finite automata. We have looked at using Lex to build a scanner on the basis of regular expressions. Finite automata We have looked at using Lex to build a scanner on the basis of regular expressions. Now we begin to consider the results from automata theory that make Lex possible. Recall: An alphabet

More information

Higher-Order Conditional Term Rewriting. In this paper, we extend the notions of rst-order conditional rewrite systems

Higher-Order Conditional Term Rewriting. In this paper, we extend the notions of rst-order conditional rewrite systems Higher-Order Conditional Term Rewriting in the L Logic Programming Language Preliminary Results Amy Felty AT&T Bell Laboratories 600 Mountain Avenue Murray Hill, NJ 07974 Abstract In this paper, we extend

More information

Ray shooting from convex ranges

Ray shooting from convex ranges Discrete Applied Mathematics 108 (2001) 259 267 Ray shooting from convex ranges Evangelos Kranakis a, Danny Krizanc b, Anil Maheshwari a;, Jorg-Rudiger Sack a, Jorge Urrutia c a School of Computer Science,

More information

THREE LECTURES ON BASIC TOPOLOGY. 1. Basic notions.

THREE LECTURES ON BASIC TOPOLOGY. 1. Basic notions. THREE LECTURES ON BASIC TOPOLOGY PHILIP FOTH 1. Basic notions. Let X be a set. To make a topological space out of X, one must specify a collection T of subsets of X, which are said to be open subsets of

More information

Chordal deletion is fixed-parameter tractable

Chordal deletion is fixed-parameter tractable Chordal deletion is fixed-parameter tractable Dániel Marx Institut für Informatik, Humboldt-Universität zu Berlin, Unter den Linden 6, 10099 Berlin, Germany. dmarx@informatik.hu-berlin.de Abstract. It

More information

A GRAPH FROM THE VIEWPOINT OF ALGEBRAIC TOPOLOGY

A GRAPH FROM THE VIEWPOINT OF ALGEBRAIC TOPOLOGY A GRAPH FROM THE VIEWPOINT OF ALGEBRAIC TOPOLOGY KARL L. STRATOS Abstract. The conventional method of describing a graph as a pair (V, E), where V and E repectively denote the sets of vertices and edges,

More information

Fundamental Properties of Graphs

Fundamental Properties of Graphs Chapter three In many real-life situations we need to know how robust a graph that represents a certain network is, how edges or vertices can be removed without completely destroying the overall connectivity,

More information

Maximal Monochromatic Geodesics in an Antipodal Coloring of Hypercube

Maximal Monochromatic Geodesics in an Antipodal Coloring of Hypercube Maximal Monochromatic Geodesics in an Antipodal Coloring of Hypercube Kavish Gandhi April 4, 2015 Abstract A geodesic in the hypercube is the shortest possible path between two vertices. Leader and Long

More information

Reflection in the Chomsky Hierarchy

Reflection in the Chomsky Hierarchy Reflection in the Chomsky Hierarchy Henk Barendregt Venanzio Capretta Dexter Kozen 1 Introduction We investigate which classes of formal languages in the Chomsky hierarchy are reflexive, that is, contain

More information

About the Tutorial. Audience. Prerequisites. Copyright & Disclaimer. Compiler Design

About the Tutorial. Audience. Prerequisites. Copyright & Disclaimer. Compiler Design i About the Tutorial A compiler translates the codes written in one language to some other language without changing the meaning of the program. It is also expected that a compiler should make the target

More information

Computability and Complexity

Computability and Complexity Computability and Complexity Turing Machines CAS 705 Ryszard Janicki Department of Computing and Software McMaster University Hamilton, Ontario, Canada janicki@mcmaster.ca Ryszard Janicki Computability

More information

Chapter Seven: Regular Expressions. Formal Language, chapter 7, slide 1

Chapter Seven: Regular Expressions. Formal Language, chapter 7, slide 1 Chapter Seven: Regular Expressions Formal Language, chapter 7, slide The first time a young student sees the mathematical constant π, it looks like just one more school artifact: one more arbitrary symbol

More information

Definition: A context-free grammar (CFG) is a 4- tuple. variables = nonterminals, terminals, rules = productions,,

Definition: A context-free grammar (CFG) is a 4- tuple. variables = nonterminals, terminals, rules = productions,, CMPSCI 601: Recall From Last Time Lecture 5 Definition: A context-free grammar (CFG) is a 4- tuple, variables = nonterminals, terminals, rules = productions,,, are all finite. 1 ( ) $ Pumping Lemma for

More information

has phone Phone Person Person degree Degree isa isa has addr has addr has phone has phone major Degree Phone Schema S1 Phone Schema S2

has phone Phone Person Person degree Degree isa isa has addr has addr has phone has phone major Degree Phone Schema S1 Phone Schema S2 Schema Equivalence in Heterogeneous Systems: Bridging Theory and Practice R. J. Miller y Y. E. Ioannidis z R. Ramakrishnan x Department of Computer Sciences University of Wisconsin-Madison frmiller, yannis,

More information

CS2 Language Processing note 3

CS2 Language Processing note 3 CS2 Language Processing note 3 CS2Ah 5..4 CS2 Language Processing note 3 Nondeterministic finite automata In this lecture we look at nondeterministic finite automata and prove the Conversion Theorem, which

More information

Ecient Implementation of Sorting Algorithms on Asynchronous Distributed-Memory Machines

Ecient Implementation of Sorting Algorithms on Asynchronous Distributed-Memory Machines Ecient Implementation of Sorting Algorithms on Asynchronous Distributed-Memory Machines Zhou B. B., Brent R. P. and Tridgell A. y Computer Sciences Laboratory The Australian National University Canberra,

More information

Finding a winning strategy in variations of Kayles

Finding a winning strategy in variations of Kayles Finding a winning strategy in variations of Kayles Simon Prins ICA-3582809 Utrecht University, The Netherlands July 15, 2015 Abstract Kayles is a two player game played on a graph. The game can be dened

More information

CS 242. Fundamentals. Reading: See last slide

CS 242. Fundamentals. Reading: See last slide CS 242 Fundamentals Reading: See last slide Syntax and Semantics of Programs Syntax The symbols used to write a program Semantics The actions that occur when a program is executed Programming language

More information

Equations for Asynchronous Message Passing

Equations for Asynchronous Message Passing Equations for Asynchronous Message Passing Ludwik Czaja 1,2 1 Institute of Informatics, The University of Warsaw 2 University of Economics and Computer Science Vistula in Warsaw lczaja@mimuw.edu.pl 1 Introduction

More information

Review of Sets. Review. Philippe B. Laval. Current Semester. Kennesaw State University. Philippe B. Laval (KSU) Sets Current Semester 1 / 16

Review of Sets. Review. Philippe B. Laval. Current Semester. Kennesaw State University. Philippe B. Laval (KSU) Sets Current Semester 1 / 16 Review of Sets Review Philippe B. Laval Kennesaw State University Current Semester Philippe B. Laval (KSU) Sets Current Semester 1 / 16 Outline 1 Introduction 2 Definitions, Notations and Examples 3 Special

More information

A Characterization of the Chomsky Hierarchy by String Turing Machines

A Characterization of the Chomsky Hierarchy by String Turing Machines A Characterization of the Chomsky Hierarchy by String Turing Machines Hans W. Lang University of Applied Sciences, Flensburg, Germany Abstract A string Turing machine is a variant of a Turing machine designed

More information

Propositional Logic. Part I

Propositional Logic. Part I Part I Propositional Logic 1 Classical Logic and the Material Conditional 1.1 Introduction 1.1.1 The first purpose of this chapter is to review classical propositional logic, including semantic tableaux.

More information

Tilings of the Euclidean plane

Tilings of the Euclidean plane Tilings of the Euclidean plane Yan Der, Robin, Cécile January 9, 2017 Abstract This document gives a quick overview of a eld of mathematics which lies in the intersection of geometry and algebra : tilings.

More information

1. Draw the state graphs for the finite automata which accept sets of strings composed of zeros and ones which:

1. Draw the state graphs for the finite automata which accept sets of strings composed of zeros and ones which: P R O B L E M S Finite Autom ata. Draw the state graphs for the finite automata which accept sets of strings composed of zeros and ones which: a) Are a multiple of three in length. b) End with the string

More information

ONE-STACK AUTOMATA AS ACCEPTORS OF CONTEXT-FREE LANGUAGES *

ONE-STACK AUTOMATA AS ACCEPTORS OF CONTEXT-FREE LANGUAGES * ONE-STACK AUTOMATA AS ACCEPTORS OF CONTEXT-FREE LANGUAGES * Pradip Peter Dey, Mohammad Amin, Bhaskar Raj Sinha and Alireza Farahani National University 3678 Aero Court San Diego, CA 92123 {pdey, mamin,

More information

Proc. XVIII Conf. Latinoamericana de Informatica, PANEL'92, pages , August Timed automata have been proposed in [1, 8] to model nite-s

Proc. XVIII Conf. Latinoamericana de Informatica, PANEL'92, pages , August Timed automata have been proposed in [1, 8] to model nite-s Proc. XVIII Conf. Latinoamericana de Informatica, PANEL'92, pages 1243 1250, August 1992 1 Compiling Timed Algebras into Timed Automata Sergio Yovine VERIMAG Centre Equation, 2 Ave de Vignate, 38610 Gieres,

More information

Natural Semantics [14] within the Centaur system [6], and the Typol formalism [8] which provides us with executable specications. The outcome of such

Natural Semantics [14] within the Centaur system [6], and the Typol formalism [8] which provides us with executable specications. The outcome of such A Formal Executable Semantics for Java Isabelle Attali, Denis Caromel, Marjorie Russo INRIA Sophia Antipolis, CNRS - I3S - Univ. Nice Sophia Antipolis, BP 93, 06902 Sophia Antipolis Cedex - France tel:

More information

Intersection of sets *

Intersection of sets * OpenStax-CNX module: m15196 1 Intersection of sets * Sunil Kumar Singh This work is produced by OpenStax-CNX and licensed under the Creative Commons Attribution License 2.0 We have pointed out that a set

More information

Nesting points in the sphere. Dan Archdeacon. University of Vermont. Feliu Sagols.

Nesting points in the sphere. Dan Archdeacon. University of Vermont.   Feliu Sagols. Nesting points in the sphere Dan Archdeacon Dept. of Computer Science University of Vermont Burlington, VT, USA 05405 e-mail: dan.archdeacon@uvm.edu Feliu Sagols Dept. of Computer Science University of

More information

MA651 Topology. Lecture 4. Topological spaces 2

MA651 Topology. Lecture 4. Topological spaces 2 MA651 Topology. Lecture 4. Topological spaces 2 This text is based on the following books: Linear Algebra and Analysis by Marc Zamansky Topology by James Dugundgji Fundamental concepts of topology by Peter

More information

A Dag-Based Algorithm for Distributed Mutual Exclusion. Kansas State University. Manhattan, Kansas maintains [18]. algorithms [11].

A Dag-Based Algorithm for Distributed Mutual Exclusion. Kansas State University. Manhattan, Kansas maintains [18]. algorithms [11]. A Dag-Based Algorithm for Distributed Mutual Exclusion Mitchell L. Neilsen Masaaki Mizuno Department of Computing and Information Sciences Kansas State University Manhattan, Kansas 66506 Abstract The paper

More information

SAMOS: an Active Object{Oriented Database System. Stella Gatziu, Klaus R. Dittrich. Database Technology Research Group

SAMOS: an Active Object{Oriented Database System. Stella Gatziu, Klaus R. Dittrich. Database Technology Research Group SAMOS: an Active Object{Oriented Database System Stella Gatziu, Klaus R. Dittrich Database Technology Research Group Institut fur Informatik, Universitat Zurich fgatziu, dittrichg@ifi.unizh.ch to appear

More information

The strong chromatic number of a graph

The strong chromatic number of a graph The strong chromatic number of a graph Noga Alon Abstract It is shown that there is an absolute constant c with the following property: For any two graphs G 1 = (V, E 1 ) and G 2 = (V, E 2 ) on the same

More information

Hamiltonian cycles in bipartite quadrangulations on the torus

Hamiltonian cycles in bipartite quadrangulations on the torus Hamiltonian cycles in bipartite quadrangulations on the torus Atsuhiro Nakamoto and Kenta Ozeki Abstract In this paper, we shall prove that every bipartite quadrangulation G on the torus admits a simple

More information

An Algebraic Framework for Optimizing Parallel Programs

An Algebraic Framework for Optimizing Parallel Programs An Algebraic Framework for Optimizing Parallel Programs Ichiro Satoh Department of Information Sciences, Ochanomizu University 2-1-1 Otsuka Bunkyo-ku Tokyo 112, Japan ichiro@is.ocha.ac.jp Abstract This

More information

Module 3. Requirements Analysis and Specification. Version 2 CSE IIT, Kharagpur

Module 3. Requirements Analysis and Specification. Version 2 CSE IIT, Kharagpur Module 3 Requirements Analysis and Specification Lesson 6 Formal Requirements Specification Specific Instructional Objectives At the end of this lesson the student will be able to: Explain what a formal

More information

2 Review of Set Theory

2 Review of Set Theory 2 Review of Set Theory Example 2.1. Let Ω = {1, 2, 3, 4, 5, 6} 2.2. Venn diagram is very useful in set theory. It is often used to portray relationships between sets. Many identities can be read out simply

More information

On 2-Subcolourings of Chordal Graphs

On 2-Subcolourings of Chordal Graphs On 2-Subcolourings of Chordal Graphs Juraj Stacho School of Computing Science, Simon Fraser University 8888 University Drive, Burnaby, B.C., Canada V5A 1S6 jstacho@cs.sfu.ca Abstract. A 2-subcolouring

More information

CMPSCI 250: Introduction to Computation. Lecture 20: Deterministic and Nondeterministic Finite Automata David Mix Barrington 16 April 2013

CMPSCI 250: Introduction to Computation. Lecture 20: Deterministic and Nondeterministic Finite Automata David Mix Barrington 16 April 2013 CMPSCI 250: Introduction to Computation Lecture 20: Deterministic and Nondeterministic Finite Automata David Mix Barrington 16 April 2013 Deterministic and Nondeterministic Finite Automata Deterministic

More information

Relational Database: The Relational Data Model; Operations on Database Relations

Relational Database: The Relational Data Model; Operations on Database Relations Relational Database: The Relational Data Model; Operations on Database Relations Greg Plaxton Theory in Programming Practice, Spring 2005 Department of Computer Science University of Texas at Austin Overview

More information

Byzantine Consensus in Directed Graphs

Byzantine Consensus in Directed Graphs Byzantine Consensus in Directed Graphs Lewis Tseng 1,3, and Nitin Vaidya 2,3 1 Department of Computer Science, 2 Department of Electrical and Computer Engineering, and 3 Coordinated Science Laboratory

More information

Optimal Parallel Randomized Renaming

Optimal Parallel Randomized Renaming Optimal Parallel Randomized Renaming Martin Farach S. Muthukrishnan September 11, 1995 Abstract We consider the Renaming Problem, a basic processing step in string algorithms, for which we give a simultaneously

More information

Reconciling Dierent Semantics for Concept Denition (Extended Abstract) Giuseppe De Giacomo Dipartimento di Informatica e Sistemistica Universita di Ro

Reconciling Dierent Semantics for Concept Denition (Extended Abstract) Giuseppe De Giacomo Dipartimento di Informatica e Sistemistica Universita di Ro Reconciling Dierent Semantics for Concept Denition (Extended Abstract) Giuseppe De Giacomo Dipartimento di Informatica e Sistemistica Universita di Roma \La Sapienza" Via Salaria 113, 00198 Roma, Italia

More information

Dr. D.M. Akbar Hussain

Dr. D.M. Akbar Hussain 1 2 Compiler Construction F6S Lecture - 2 1 3 4 Compiler Construction F6S Lecture - 2 2 5 #include.. #include main() { char in; in = getch ( ); if ( isalpha (in) ) in = getch ( ); else error (); while

More information

Parameterized graph separation problems

Parameterized graph separation problems Parameterized graph separation problems Dániel Marx Department of Computer Science and Information Theory, Budapest University of Technology and Economics Budapest, H-1521, Hungary, dmarx@cs.bme.hu Abstract.

More information

The self-minor conjecture for infinite trees

The self-minor conjecture for infinite trees The self-minor conjecture for infinite trees Julian Pott Abstract We prove Seymour s self-minor conjecture for infinite trees. 1. Introduction P. D. Seymour conjectured that every infinite graph is a proper

More information

CS4215 Programming Language Implementation. Martin Henz

CS4215 Programming Language Implementation. Martin Henz CS4215 Programming Language Implementation Martin Henz Thursday 26 January, 2012 2 Chapter 4 The Language simpl In this chapter, we are exting the language epl in order to provide a more powerful programming

More information