C LAUS B RABRAND © S EMANTICS (Q1,’06) A UG 31, 2006 C LAUS B RABRAND © 2005–2006, University of Aarhus [ ] [

Slides:



Advertisements
Similar presentations
Rigorous Software Development CSCI-GA Instructor: Thomas Wies Spring 2012 Lecture 11.
Advertisements

Semantics Q S EMANTICS (Q1,’07) Week 1 Jacob Andersen PhD student
Lecture 02 – Structural Operational Semantics (SOS) Eran Yahav 1.
CS5371 Theory of Computation
CS5371 Theory of Computation
C LAUS B RABRAND S EMANTICS (Q1,’05) S EP 8, 2005 C LAUS B RABRAND © 2005, University of Aarhus [ ] [
1 Operational Semantics Mooly Sagiv Tel Aviv University Textbook: Semantics with Applications.
Programming Language Semantics Mooly SagivEran Yahav Schrirber 317Open space html://
C LAUS B RABRAND Inference Systems J AN 27, 2009 I NFERENCE S YSTEMS Claus Brabrand IT University of Copenhagen [
Lecture 3 Goals: Formal definition of NFA, acceptance of a string by an NFA, computation tree associated with a string. Algorithm to convert an NFA to.
C LAUS B RABRAND S EMANTICS (Q1,’05) S EP 8, 2005 C LAUS B RABRAND © 2005, University of Aarhus [ ] [
C LAUS B RABRAND © S EMANTICS (Q1,’06) S EP 3, 2006 C LAUS B RABRAND © 2005–2006, University of Aarhus [ ] [
TR1413: Discrete Mathematics For Computer Science Lecture 3: Formal approach to propositional logic.
1 Semantics Q S EMANTICS (Q1,’07) Week 2 Jacob Andersen PhD student
1 Semantics Q S EMANTICS (Q1,’07) Week 3 Jacob Andersen PhD student
January 14, 2015CS21 Lecture 51 CS21 Decidability and Tractability Lecture 5 January 14, 2015.
Lecture 3 Goals: Formal definition of NFA, acceptance of a string by an NFA, computation tree associated with a string. Algorithm to convert an NFA to.
C LAUS B RABRAND S EMANTICS (Q1,’06) S EP 14, 2006 C LAUS B RABRAND © , University of Aarhus [ ] [
Normal forms for Context-Free Grammars
1 Semantics Q S EMANTICS (Q1,’07) Week 4 Jacob Andersen PhD student
Semantics with Applications Mooly Sagiv Schrirber html:// Textbooks:Winskel The.
C LAUS B RABRAND & J ACOB A NDERSEN © S EMANTICS (Q1,’07) Aug 30, 2007 Adapted version for dSem 2007 Original story by: C LAUS B RABRAND © 2005–2006, University.
Operational Semantics Semantics with Applications Chapter 2 H. Nielson and F. Nielson
Winter 2003/4Pls – syntax – Catriel Beeri1 SYNTAX Syntax: form, structure The syntax of a pl: The set of its well-formed programs The rules that define.
Programming Language Semantics Denotational Semantics Chapter 5 Part III Based on a lecture by Martin Abadi.
C LAUS B RABRAND S EMANTICS (Q1,’06) S EP 7, 2006 C LAUS B RABRAND © , University of Aarhus [ ] [
1 Non-Deterministic Finite Automata. 2 Alphabet = Nondeterministic Finite Automaton (NFA)
C LAUS B RABRAND S EMANTICS (Q1,’06) S EP 21, 2006 C LAUS B RABRAND © , University of Aarhus [ ] [
C LAUS B RABRAND S EMANTICS (Q1,’05) S EP 22, 2005 C LAUS B RABRAND © 2005, University of Aarhus [ ] [
Finite State Machines Data Structures and Algorithms for Information Processing 1.
C LAUS B RABRAND © S EMANTICS (Q1,’05) S EP 1, 2005 C LAUS B RABRAND © 2005, University of Aarhus [ ] [
Syntax & Semantic Introduction Organization of Language Description Abstract Syntax Formal Syntax The Way of Writing Grammars Formal Semantic.
CPSC 388 – Compiler Design and Construction Parsers – Context Free Grammars.
Program Analysis and Verification Spring 2015 Program Analysis and Verification Lecture 2: Operational Semantics I Roman Manevich Ben-Gurion University.
DECIDABILITY OF PRESBURGER ARITHMETIC USING FINITE AUTOMATA Presented by : Shubha Jain Reference : Paper by Alexandre Boudet and Hubert Comon.
Context-free Grammars Example : S   Shortened notation : S  aSaS   | aSa | bSb S  bSb Which strings can be generated from S ? [Section 6.1]
Introduction to CS Theory Lecture 3 – Regular Languages Piotr Faliszewski
Pushdown Automata (PDAs)
1 Chapter 2 Finite Automata (part b) Windmills in Holland.
CSCI 2670 Introduction to Theory of Computing September 15, 2005.
Grammars CPSC 5135.
PART I: overview material
Formal Semantics of Programming Languages 虞慧群 Topic 3: Principles of Induction.
CSE-321 Programming Languages Inductive Definitions POSTECH March 15, 2006 박성우.
Copyright © Curt Hill Languages and Grammars This is not English Class. But there is a resemblance.
1 CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 3 Mälardalen University 2010.
3.2 Semantics. 2 Semantics Attribute Grammars The Meanings of Programs: Semantics Sebesta Chapter 3.
Chapter 3 Part II Describing Syntax and Semantics.
Programming Languages and Design Lecture 3 Semantic Specifications of Programming Languages Instructor: Li Ma Department of Computer Science Texas Southern.
1 / 48 Formal a Language Theory and Describing Semantics Principles of Programming Languages 4.
1Computer Sciences Department. Book: INTRODUCTION TO THE THEORY OF COMPUTATION, SECOND EDITION, by: MICHAEL SIPSER Reference 3Computer Sciences Department.
1 First order theories (Chapter 1, Sections 1.4 – 1.5) From the slides for the book “Decision procedures” by D.Kroening and O.Strichman.
Operational Semantics Mooly Sagiv Tel Aviv University Textbook: Semantics with Applications Chapter.
CSCI 4325 / 6339 Theory of Computation Zhixiang Chen Department of Computer Science University of Texas-Pan American.
Formal Semantics of Programming Languages 虞慧群 Topic 2: Operational Semantics.
Operational Semantics Mooly Sagiv Tel Aviv University Sunday Scrieber 8 Monday Schrieber.
CS 404Ahmed Ezzat 1 CS 404 Introduction to Compiler Design Lecture 1 Ahmed Ezzat.
CSE 311 Foundations of Computing I Lecture 19 Recursive Definitions: Context-Free Grammars and Languages Spring
Operational Semantics Mooly Sagiv Reference: Semantics with Applications Chapter 2 H. Nielson and F. Nielson
Operational Semantics Mooly Sagiv Reference: Semantics with Applications Chapter 2 H. Nielson and F. Nielson
CSCI 2670 Introduction to Theory of Computing September 16, 2004.
CIS Automata and Formal Languages – Pei Wang
Non Deterministic Automata
CSE 105 theory of computation
CSE322 Definition and description of finite Automata
Intro to Data Structures
Compilers Principles, Techniques, & Tools Taught by Jing Zhang
CSE 105 theory of computation
COMPILER CONSTRUCTION
CSE 105 theory of computation
Presentation transcript:

C LAUS B RABRAND © S EMANTICS (Q1,’06) A UG 31, 2006 C LAUS B RABRAND © 2005–2006, University of Aarhus [ ] [ ] S EMANTICS (Q1,’06) W EEK 1

C LAUS B RABRAND S EMANTICS (Q1,’06) [ 2 ] A UG 31, 2006 Week 1 - Outline Introduction Welcome Short-film about teaching (20')... Course Presentation [ homepage ]homepage Prerequisitional (discrete) Mathematics Relations Inference Systems Transition Systems The Language “L”

C LAUS B RABRAND S EMANTICS (Q1,’06) [ 3 ] A UG 31, 2006 Short-film about teaching...

C LAUS B RABRAND S EMANTICS (Q1,’06) [ 4 ] A UG 31, 2006 Course Introduction [ homepage ]

C LAUS B RABRAND S EMANTICS (Q1,’06) [ 5 ] A UG 31, 2006 Learning vs. Breaks #Breaks, |Breaks|,...? Conclusion: more (shorter) breaks

C LAUS B RABRAND © S EMANTICS (Q1,’06) A UG 31, 2006 I NFERENCE S YSTEMS Keywords: relations, axioms, rules, (co-)inductive interpretation, fixed-points

C LAUS B RABRAND S EMANTICS (Q1,’06) [ 7 ] A UG 31, 2006 Relations Example 1 : “even” relation: Written as: as a short-hand for: … and as: as a short-hand for: Example 2 : “equals” relation: Written as: as a short-hand for: … and as: as a short-hand for: Example 3 : “DFA transition” relation: Written as: as a short-hand for: … and as: as a short-hand for: | _ even  Z | _ even 4 | _ even 5 4  | _ even 5  | _ even 2  3 (2,3)  ‘=’ ‘=’  Z  Z (2,2)  ‘=’ 2 = 2 ‘  ’  Q    Q q  q’  (q, , q’)  ‘  ’ (p, , p’)  ‘  ’p  p’ 

C LAUS B RABRAND S EMANTICS (Q1,’06) [ 8 ] A UG 31, 2006 Inference System Inference System: Inductive (recursive) specification of relations Consists of axioms and rules Example: Axiom: “0 (zero) is even”! Rule: “If n is even, then m is even (where m = n+2)” | _ even 0 | _ even n | _ even m m = n+2 | _ even  Z

C LAUS B RABRAND S EMANTICS (Q1,’06) [ 9 ] A UG 31, 2006 Terminology Meaning: Inductive: “If n is even, then m is even (provided m = n+2)”; or Deductive: “m is even, if n is even (provided m = n+2)” | _ even n | _ even m m = n+2 premise(s) conclusion side-condition(s)

C LAUS B RABRAND S EMANTICS (Q1,’06) [ 10 ] A UG 31, 2006 Abbreviation Often, rules are abbreviated: Rule: “If n is even, then m is even (provided m = n+2)”; or “m is even, if n is even (provided m = n+2)” Abbreviated rule: “If n is even, then n+2 is even”; or “n+2 is even, if n is even” | _ even n | _ even n+2 | _ even n | _ even m m = n+2 Even so, this is what we mean

C LAUS B RABRAND S EMANTICS (Q1,’06) [ 11 ] A UG 31, 2006 Relation Membership (Even)? Axiom: “0 (zero) is even”! Rule: “If n is even, then n+2 is even” Is 6 even?!? The inference tree proves that: | _ even 0 | _ even 2 | _ even 4 | _ even 6 | _ even 0 | _ even n | _ even n+2 [rule 1 ] [axiom 1 ] inference tree | _ even 6

C LAUS B RABRAND S EMANTICS (Q1,’06) [ 12 ] A UG 31, 2006 Example: “less-than-or-equal-to” Relation: Is ”1  2” ?!? Yes, because there exists an inference tree: In fact, it has two inference trees: 0  0 n  m n  m+1 [rule 1 ] [axiom 1 ] ‘  ’  N  N n  m n+1  m+1 [rule 2 ] 0  0 0  1 1  2 [rule 2 ] [rule 1 ] [axiom 1 ] 0  0 1  1 1  2 [rule 1 ] [rule 2 ] [axiom 1 ]

C LAUS B RABRAND S EMANTICS (Q1,’06) [ 13 ] A UG 31, 2006 Activation Exercise 1 Activation Exercise: 1. Specify the signature of the relation: ' << ' x << y " y is-double-that-of x " 2. Specify the relation via an inference system i.e. axioms and rules 3. Prove that indeed: 3 << 6 "6 is-double-that-of 3" When you are done, take a break (see you 13:15)

C LAUS B RABRAND S EMANTICS (Q1,’06) [ 14 ] A UG 31, 2006 Activation Exercise 2 Activation Exercise: 1. Specify the signature of the relation: ' // ' x // y " x is-half-that-of y " 2. Specify the relation via an inference system i.e. axioms and rules 3. Prove that indeed: 3 // 6 "3 is-half-that-of 6" Syntactically different Semantically the same relation

C LAUS B RABRAND S EMANTICS (Q1,’06) [ 15 ] A UG 31, 2006 Relation Definition (Interpretation) Actually, an inference system: …is a demand specification for a relation: The three relations: R = {0, 2, 4, 6, …}(aka., 2N) R’ = {0, 2, 4, 5, 6, 7, 8, …} R’’ = {…, -2, -1, 0, 1, 2, …}(aka., Z) …all satisfy the (above) specification! |_R 0|_R 0 | _ R n | _ R n+2 [rule 1 ] [axiom 1 ] | _ R  Z (0  ‘| _ R ’)  (  n  ‘| _ R ’  n+2  ‘| _ R ’)

C LAUS B RABRAND S EMANTICS (Q1,’06) [ 16 ] A UG 31, 2006 Inductive Interpretation A inference system: …induces a function: Definition: ‘lfp’ (least fixed point) ~ least solution: | _ R 0 | _ R n | _ R n+2 [rule 1 ] [axiom 1 ] F R : P(Z)  P(Z) | _ R  Z F R (R) = {0}  { n+2 | n  R } F(Ø) = {0}F 2 (Ø) = F({0}) = {0,2}F 3 (Ø) = F 2 ({0}) = F({0,2}) = {0,2,4} … | _ even := lfp(F R ) =  F R n (Ø) n | _ R  P(Z) From rel. to rel. 2N   = F n (Ø) ~ “Anything that can be proved in ‘n’ steps” 

C LAUS B RABRAND S EMANTICS (Q1,’06) [ 17 ] A UG 31, 2006 Co-inductive Interpretation (  ) A relation:  …induces a function: Definition: ‘gfp’ (greatest fixed point) ~ greatest solution: | _ even 0 | _ even n | _ even n+2 [rule 1 ] [axiom 1 ] F: P(Z)  P(Z) | _ even  Z F(R) = {0}  { n+2 | n  R } F(Z) = Z | _ even := gfp(F) =  F n (Z) n | _ even  P(Z) From rel. to rel. F 2 (Z) = F(Z) = Z  F 3 (Z) = F 2 (Z) = F(Z) = Z  … Z  = F n (Z) ~ “Anything that cannot be disproved in ‘n’ steps”

C LAUS B RABRAND © S EMANTICS (Q1,’06) A UG 31, 2006 T RANSITION S YSTEMS Keywords: Configuration, Final Configuration, Transition, Action / label

C LAUS B RABRAND S EMANTICS (Q1,’06) [ 19 ] A UG 31, 2006 Definition: Transition System A Transition System is (just) a structure:  is a set of configurations      is a binary relation (called the transition relation) We will write instead of Other times we use the following notation:  ,     ’  ’( ,  ’)     ’  ’  |_ ’ |_ ’   ’  ’ …

C LAUS B RABRAND S EMANTICS (Q1,’06) [ 20 ] A UG 31, 2006 The transition may be illustrated as: In this course, we will be (mostly) using: For instance: A Transition   ’  ’ ’’  = system configuration = ...and have "  " describe "one step of computation"

C LAUS B RABRAND S EMANTICS (Q1,’06) [ 21 ] A UG 31, 2006 Def: Terminal Transition System A Terminal Transition System is a structure:  is the set of configurations      is the transition relation T   is a set of final configurations …satisfying: i.e. “all configurations in ‘T’ really are terminal”.  , , T    t  T :     :  t  

C LAUS B RABRAND S EMANTICS (Q1,’06) [ 22 ] A UG 31, 2006 E.g.: Finite Automaton A Non-det Finite Automaton (NFA) is a 5tuple: Q finite set of states  finite set of input symbols q 0  Qinitial state F  Qset of acceptance states  : Q    P(Q)state transition relation M =  Q, , q 0, F,   Q = { 0,1,2 }  = {  = { toss,heads,tails } (0,toss)  {1,2}, q 0 = 0 (1,heads)  {0}, F = { 0 } (2,tails)  {0} }

C LAUS B RABRAND S EMANTICS (Q1,’06) [ 23 ] A UG 31, 2006 E.g.: NFA Transition System (1) Define (FA) Trans. Sys. by: Configurations: Transition relation: i.e., we have whenever Final Configurations:  M := Q   *   M,  M, T M  T M := { | q  F }  M := { (, ) | q,q’  Q, a , w  *, q’  (q,a) } “State component” “Data component” q’   (q,a)  M Recall:      M =  Q, , q 0, F,   Given

C LAUS B RABRAND S EMANTICS (Q1,’06) [ 24 ] A UG 31, 2006 E.g.: NFA Trans. Sys. (Cont’d) Define behavior of M:  M  T M L (M) := { w   * |  T :  *  }

C LAUS B RABRAND S EMANTICS (Q1,’06) [ 25 ] A UG 31, 2006 Def: Labelled Transition System A Labelled Transition System is a structure:  is the set of configurations A is the set of actions (= labels)     A   is the transition relation Note: we will write instead of  , A,     ’  ’ a ( , a,  ’)  ‘  ’

C LAUS B RABRAND S EMANTICS (Q1,’06) [ 26 ] A UG 31, 2006 The labelled transition may be illustrated as: The labels(/actions) add the opportunity of describing transitions: Internally (e.g., information about what went on internally) Externally (e.g., information about communication /w env) …or both. A Labelled Transition   ’  ’ ’’ a a

C LAUS B RABRAND S EMANTICS (Q1,’06) [ 27 ] A UG 31, 2006 E.g.: NFA Transition System (2) Given Finite Automaton: Define Labelled Terminal Transition System: Configurations: Labels: Transition relation: Final configurations:  M := Q   M, A M,  M, T M  T M := F q  M q’ := q’  (q,a) A M :=  a M =  Q, , q 0, F,  

C LAUS B RABRAND S EMANTICS (Q1,’06) [ 28 ] A UG 31, 2006 E.g.: NFA Trans. Sys. (Cont’d) Behavior: Define ”  *” as the reflexive transitive closure of ”  ” on sequences of labels: 0  M 1  M 0  M 2  M 0  T M L (M) := { w  A* |  q  T : q 0  * q w toss heads toss tails L (M) := { a a’ … a’’  A* |  q  T : q 0  q’  …  q a a’ a’’

C LAUS B RABRAND S EMANTICS (Q1,’06) [ 29 ] A UG 31, 2006 NFA: Machine 1 vs. Machine 2 The two transition systems are very different: Machine 1: ”I transitioned from to ” Implicit: ”…by consuming part of (internal) data component” Machine 2: ”I transitioned from q to q’ …by inputing an ’a’ symbol from the (external) environment!”  M q  M q’ a

C LAUS B RABRAND S EMANTICS (Q1,’06) [ 30 ] A UG 31, 2006 More Examples… More Examples in [Plotkin, p. 6 – 13]: Three Counter Machine (***) Context-Free Grammars (**) Petri Nets (*) They illustrate expressive power of transition systems no new points...except formalizing input/output behavior (also later here…) Read these yourself…

C LAUS B RABRAND © S EMANTICS (Q1,’06) A UG 31, 2006 T HE L ANGUAGE “L” Keywords: Expressions, Boolean Expressions, Commands, Abstract Syntax, Concrete Syntax

C LAUS B RABRAND S EMANTICS (Q1,’06) [ 32 ] A UG 31, 2006 The Language ”L” Basic Syntactic Sets: Truthvalues: Set ranged over by: t, t’, t 0, … Numbers: Set ranged over by: m, n, … Variables: Set ranged over by: v, v’, … T = { tt, ff } N = { 0, 1, 2, …} VAR = { a, b, c, …, z } Meta-variables

C LAUS B RABRAND S EMANTICS (Q1,’06) [ 33 ] A UG 31, 2006 The Language ”L” Derived Syntactic Sets: Arithmetic Expressions ( e  Exp): Boolean Expressions ( b  BExp): Commands ( c  Com): e ::= n | v | e + e’ | e – e’ | e  e’ b ::= t | e = e’ | b or b’ | ~ b c ::= nil | v := e | c ; c’ | if b then c else c’ | while b do c

C LAUS B RABRAND S EMANTICS (Q1,’06) [ 34 ] A UG 31, 2006 Consider program: It can be (ambiguously) understood: Note: Abstract- vs. Concrete Syntax while b do c ; c’  while b do c  ; c’while b do  c ; c’  …either as: …or as: “Concrete syntax” while b c ; c’ while b c ; c’ “Abstract syntax” Parsing: “Concrete syntax”  “Abstract syntax”

C LAUS B RABRAND © S EMANTICS (Q1,’06) A UG 31, 2006 N EXT W EEK… Semantics of…: “ Simple Commands and Expressions”

C LAUS B RABRAND S EMANTICS (Q1,’06) [ 36 ] A UG 31, 2006 Next week Use everything…: Inference Systems, Transition Systems, Syntax, … …to: describe explain analyse compare …semantics of Expressions:

C LAUS B RABRAND S EMANTICS (Q1,’06) [ 37 ] A UG 31, 2006 "Three minutes paper" Please spend three minutes writing down the most important things that you have learned today (now). Efter en dag Efter en uge Efter 3 uger Efter 2 uger Med det samme

C LAUS B RABRAND © S EMANTICS (Q1,’06) A UG 31, 2006 Exercises... [ homepage ]

C LAUS B RABRAND © S EMANTICS (Q1,’06) A UG 31, 2006 See you next week… Questions?