c laus b rabrand © s emantics (q1,’06) a ug 31, 2006 c laus b rabrand © 2005–2006, university...
Post on 21-Dec-2015
213 views
TRANSCRIPT
CLAUS BRABRAND © SEMANTICS (Q1,’06) AUG 31, 2006
CLAUS BRABRAND
© 2005–2006 , University of Aarhus
[ [email protected] ] [ http://www.daimi.au.dk/~brabrand/ ]
SEMANTICS (Q1,’06)
WEEK 1
CLAUS BRABRAND SEMANTICS (Q1,’06)[ 2 ]
AUG 31, 2006
Week 1 - Outline
Introduction Welcome Short-film about teaching (20')... Course Presentation [ homepage ]
Prerequisitional (discrete) Mathematics Relations Inference Systems Transition Systems The Language “L”
CLAUS BRABRAND SEMANTICS (Q1,’06)[ 5 ]
AUG 31, 2006
Learning vs. Breaks
#Breaks, |Breaks|, ...?
Conclusion:more (shorter) breaks
CLAUS BRABRAND © SEMANTICS (Q1,’06) AUG 31, 2006
INFERENCE SYSTEMS
Keywords:
relations, axioms, rules, (co-)inductive interpretation, fixed-points
CLAUS BRABRAND SEMANTICS (Q1,’06)[ 7 ]
AUG 31, 2006
Relations
Example1: “even” relation: Written as: as a short-hand for:
… and as: as a short-hand for:
Example2: “equals” relation: Written as: as a short-hand for:
… and as: as a short-hand for:
Example3: “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’
CLAUS BRABRAND SEMANTICS (Q1,’06)[ 8 ]
AUG 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
CLAUS BRABRAND SEMANTICS (Q1,’06)[ 9 ]
AUG 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)
CLAUS BRABRAND SEMANTICS (Q1,’06)[ 10 ]
AUG 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
CLAUS BRABRAND SEMANTICS (Q1,’06)[ 11 ]
AUG 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
[rule1]
[rule1]
[rule1][axiom1]
inference tree
|_even 6
CLAUS BRABRAND SEMANTICS (Q1,’06)[ 12 ]
AUG 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 mn m+1
[rule1][axiom1]
‘’ N N
n mn+1 m+1
[rule2]
0 00 11 2
[rule2]
[rule1][axiom1] 0 0
1 11 2
[rule1]
[rule2][axiom1]
CLAUS BRABRAND SEMANTICS (Q1,’06)[ 13 ]
AUG 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)
CLAUS BRABRAND SEMANTICS (Q1,’06)[ 14 ]
AUG 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 differentSemantically the same relation
CLAUS BRABRAND SEMANTICS (Q1,’06)[ 15 ]
AUG 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 n
|_R n+2
[rule1][axiom1]
|_R Z
(0 ‘|_R’) ( n ‘|_R’ n+2 ‘|_R’)
CLAUS BRABRAND SEMANTICS (Q1,’06)[ 16 ]
AUG 31, 2006
Inductive Interpretation
A inference system:
…induces a function:
Definition: ‘lfp’ (least fixed point) ~ least solution:
|_R 0|_R n
|_R n+2
[rule1][axiom1]
FR: P(Z) P(Z)
|_R Z
FR(R) = {0} { n+2 | n R }
F(Ø) = {0} F2(Ø) = F({0}) = {0,2} F3(Ø) = F2({0}) = F({0,2}) = {0,2,4} …
|_even := lfp(FR) = FRn(Ø)n
|_R P(Z)
From rel. to rel.
2N =
Fn(Ø) ~ “Anything that can be proved in ‘n’ steps”
CLAUS BRABRAND SEMANTICS (Q1,’06)[ 17 ]
AUG 31, 2006
Co-inductive Interpretation ()
A relation:
…induces a function:
Definition: ‘gfp’ (greatest fixed point) ~ greatest solution:
|_even 0|_even n
|_even n+2
[rule1][axiom1]
F: P(Z) P(Z)
|_even Z
F(R) = {0} { n+2 | n R }
F(Z) = Z
|_even := gfp(F) = Fn(Z)n
|_even P(Z)
From rel. to rel.
F2(Z) = F(Z) = Z F3(Z) = F2(Z) = F(Z) = Z … Z =
Fn(Z) ~ “Anything that cannot be disproved in ‘n’ steps”
CLAUS BRABRAND © SEMANTICS (Q1,’06) AUG 31, 2006
TRANSITION SYSTEMS
Keywords:
Configuration, Final Configuration, Transition, Action / label
CLAUS BRABRAND SEMANTICS (Q1,’06)[ 19 ]
AUG 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:
,
’ (,’)
’ |_ ’ ’ …
CLAUS BRABRAND SEMANTICS (Q1,’06)[ 20 ]
AUG 31, 2006
The transition may be illustrated as:
In this course, we will be (mostly) using:
For instance:
A Transition
’
’
= system configuration = < program , data >
< “x:=y ; y:=0” , [x=3,y=7] > < “y:=0” , [x=7,y=7] >
...and have "" describe "one step of computation"
CLAUS BRABRAND SEMANTICS (Q1,’06)[ 21 ]
AUG 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
CLAUS BRABRAND SEMANTICS (Q1,’06)[ 22 ]
AUG 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 q0 Q initial state F Q set of acceptance states : Q P(Q) state transition relation
M = Q , , q0 , F ,
toss
toss
heads
tails
0 1 2
Q = { 0,1,2 } = { = { toss,heads,tails } (0,toss) {1,2} ,q0 = 0 (1,heads) {0} ,F = { 0 } (2,tails) {0} }
CLAUS BRABRAND SEMANTICS (Q1,’06)[ 23 ]
AUG 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 , TM
TM := { <q,> | q F }
M := { ( <q,aw> , <q’,w> ) | q,q’Q, a, w*, q’(q,a) }
“State component”“Data component”
q’ (q,a)<q,aw> M <q’,w>
Recall:
M = Q , , q0 , F , Given
CLAUS BRABRAND SEMANTICS (Q1,’06)[ 24 ]
AUG 31, 2006
E.g.: NFA Trans. Sys. (Cont’d)
Define behavior of M:
toss
toss
heads
tails
0 1 2
<0, toss;heads;toss;tails> M <1, heads;toss;tails> M
<0, toss;tails> M
<2, tails> M
<0, > TM
L(M) := { w * | T : <q0,w> * }
CLAUS BRABRAND SEMANTICS (Q1,’06)[ 25 ]
AUG 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, ’) ‘’
CLAUS BRABRAND SEMANTICS (Q1,’06)[ 26 ]
AUG 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
CLAUS BRABRAND SEMANTICS (Q1,’06)[ 27 ]
AUG 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 , AM , M , TM
TM := F
q M q’ := q’(q,a)
AM := a
M = Q , , q0 , F ,
CLAUS BRABRAND SEMANTICS (Q1,’06)[ 28 ]
AUG 31, 2006
E.g.: NFA Trans. Sys. (Cont’d)
Behavior:
Define ”*” as the reflexive transitive closure of ””on sequences of labels:
toss
toss
heads
tails
0 1 2
0 M 1 M 0 M 2 M 0 TM
L(M) := { w A* | qT : q0 * qw
toss
heads
toss
tails
L(M) := { a a’ … a’’ A* | qT : q0 q’ … qa a’ a’’
CLAUS BRABRAND SEMANTICS (Q1,’06)[ 29 ]
AUG 31, 2006
NFA: Machine 1 vs. Machine 2
The two transition systems are very different:
Machine 1: ”I transitioned from <q,aw> to <q’,w>”
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!”
<q,aw> M <q’,w>
q M q’a
CLAUS BRABRAND SEMANTICS (Q1,’06)[ 30 ]
AUG 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…
CLAUS BRABRAND © SEMANTICS (Q1,’06) AUG 31, 2006
THE LANGUAGE “L”
Keywords:
Expressions, Boolean Expressions, Commands, Abstract Syntax, Concrete Syntax
CLAUS BRABRAND SEMANTICS (Q1,’06)[ 32 ]
AUG 31, 2006
The Language ”L” Basic Syntactic Sets:
Truthvalues: Set ranged over by: t , t’, t0, …
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
CLAUS BRABRAND SEMANTICS (Q1,’06)[ 33 ]
AUG 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
CLAUS BRABRAND SEMANTICS (Q1,’06)[ 34 ]
AUG 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”
CLAUS BRABRAND © SEMANTICS (Q1,’06) AUG 31, 2006
NEXT WEEK…
Semantics of…:
“Simple Commands and Expressions”
CLAUS BRABRAND SEMANTICS (Q1,’06)[ 36 ]
AUG 31, 2006
Next week
Use everything…: Inference Systems, Transition Systems, Syntax, …
…to: describe explain analyse compare
…semantics of Expressions:
CLAUS BRABRAND SEMANTICS (Q1,’06)[ 37 ]
AUG 31, 2006
"Three minutes paper"
Please spend three minutes writing down the most important things that you have learned today (now).
Efter en dagEfter en uge
Efter 3 ugerEfter 2 uger
Med det samme