Techniques de réécriture et transformations
Horatiu CIRSTEA and Claude KIRCHNER 27 janvier 2007
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 1 / 166
Techniques de rcriture et transformations Horatiu CIRSTEA and Claude - - PowerPoint PPT Presentation
Techniques de rcriture et transformations Horatiu CIRSTEA and Claude KIRCHNER 27 janvier 2007 Horatiu CIRSTEA and Claude KIRCHNER Techniques de rcriture et transformations 27 janvier 2007 1 / 166 Mathematics is frequently described as
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 1 / 166
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 2 / 166
1
2
3
4
5
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 3 / 166
A smooth introduction
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 4 / 166
A smooth introduction
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 5 / 166
A smooth introduction
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 6 / 166
A smooth introduction
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 7 / 166
A smooth introduction
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 8 / 166
A smooth introduction
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 9 / 166
A smooth introduction
fib( 3 ) → fib( 2 ) + fib( 1 ) fib(2) + fib(1) → fib(2) + 1 fib( 2 ) + 1 → fib( 1 ) + fib( 0 ) + 1 fib(1) + fib(0) + 1 → 1 + fib(0) + 1 . . .
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 10 / 166
A smooth introduction
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 11 / 166
A smooth introduction
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 12 / 166
A smooth introduction
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 13 / 166
A smooth introduction
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 14 / 166
Defining term rewriting
1
2
3
4
5
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 15 / 166
Defining term rewriting Terms
1
1.1
2.1
2.1.1
Formally Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 16 / 166
Defining term rewriting Matching
substitution
subsumption Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 17 / 166
Defining term rewriting Matching
1, . . . , t′ n) ∧ P
i ∧ P
1, . . . , t′ m) ∧ P
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 18 / 166
Defining term rewriting Matching
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 19 / 166
Defining term rewriting Matching
1
2
i∈I xi ≪? ti with I = ∅, the substitution
3
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 20 / 166
Defining term rewriting Rewriting
Formally Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 21 / 166
Defining term rewriting Extended notions of rewriting
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 22 / 166
Defining term rewriting Extended notions of rewriting
Generalized rules Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 23 / 166
Defining term rewriting On the use of rewriting
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 24 / 166
Defining term rewriting On the use of rewriting
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 25 / 166
Defining term rewriting Rewriting modulo
E t ).
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 26 / 166
Defining term rewriting Rewriting modulo
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 27 / 166
Defining term rewriting Rewriting modulo
C f(a, b)
C f(f(f(a, b), f(b, a)), f(b, a))
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 28 / 166
Defining term rewriting Rewriting modulo
1, . . . , t′ n) ∧ P
i ∧ P
1, . . . , t′ m) ∧ P
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 29 / 166
Defining term rewriting Rewriting modulo
2 ≪? C t′ 1 + t′ 2 ∧ P
C t′ 1 ∧ t2 ≪? C t′ 2) ∨ (t1 ≪? C t′ 2 ∧ t2 ≪? C t′ 1)
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 30 / 166
Defining term rewriting Rewriting modulo
C 1∗(4+3)
C 1 ∧ 3 + y ≪? C 4 + 3
C 1 ∧ ((3 ≪? C 4 ∧ y ≪? C 3) ∨ (3 ≪? C 3 ∧ y ≪? C 4))
C 1 ∧ (Fail ∨ (3 ≪? C 3 ∧ y ≪? C 4))
C 1 ∧ (Fail ∨ (y ≪? C 4))
C 1 ∧ y ≪? C 4
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 31 / 166
Defining term rewriting Rewriting modulo
1
2
k∈K
i ≪? C tk i
i → tk i }i∈I are all the matches from t to t′.
3
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 32 / 166
Defining term rewriting Rewriting modulo
AC {1} ∪ {2} ∪ {3} ∪ {4} ∪ {5}
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 33 / 166
Defining term rewriting Rewriting modulo
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 34 / 166
Defining term rewriting Rewriting modulo
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 35 / 166
Defining term rewriting Rewriting modulo
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 36 / 166
Defining term rewriting Rewriting modulo
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 37 / 166
Defining term rewriting Rewriting modulo
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 38 / 166
Rewriting for verifying
1
2
3
4
5
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 39 / 166
Rewriting for verifying
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 40 / 166
Rewriting for verifying
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 41 / 166
Rewriting for verifying
ASLEEP BSLEEP ∅ AWAIT BSLEEP {NA, A}K(B)
AWAIT B{NA,A}K(B) ∅ AWAIT BWAIT {NA, NB}K(A)
A{NA,NB}K(A) BWAIT ∅ ACOMMIT BWAIT {NB}K(B)
ACOMMIT BCOMMIT ∅
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 42 / 166
Rewriting for verifying
[initiator-1] x+SLEEP+resp || E <> y+std+init || D <> I <> ls => x+WAIT+N(x,y) || E <> y+std+init || D <> I <> x-->y:K(y)[N(x,y),DN,A(x)] & ls end
Data structures Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 43 / 166
Rewriting for verifying
[responder-1] E <> y+SLEEP+init || D <> I <> w-->y:K(y)[N(n1,n3),N(n2,n4),A(z)] & ls=> E <> y+WAIT+N(y,z) || D <> I <> y-->z:K(z)[N(n1,n3),N(y,z),A(y)] & ls end
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 44 / 166
Rewriting for verifying
[initiator-2] x+WAIT+N(x,v) || E <> D <> I <> w-->x:K(x)[N(x,v),N(n2,n4),A(z)] & ls => x+COMMIT+N(x,v) || E <> D <> I <> x-->v:K(v)[N(n2,n4),DN,DA] &ls end [initiator-2] x+WAIT+N(x,v) || E <> D <> I <> w-->x:K(x)[N(n1,n3),N(n2,n4),A(z)] &ls => ERROR if x!=n1 or v!=n3 end
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 45 / 166
Rewriting for verifying
[intruder-1] E <> D <> w#l#ll <> z-->x:K(w)[N(n1,n3),N(n2,n4),A(v)] & ls => E <> D <> w#N(n1,n3) | N(n2,n4) | l#ll <> ls if w!=z end [intruder-1] E <> D <> w#l#ll <> !w-->x:K(w)[N(n1,n3),N(n2,n4),A(v)] & ls => E <> D <> w#N(n1,n3) | N(n2,n4) | l#ll <> ls end
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 46 / 166
Rewriting for verifying
[intruder-4] E <> D <> w # resp | l # ll <> ls => E <> D <> w # l # ll <> w-->y:K(y)[resp,DN,A(xadd)] & ls where (Agent)y+std+dn :=(extAgent) elemIA(D || E) where (Agent)xadd+std1+dn1 :=(extAgent) elemIA(D || E) end
Generalized rules Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 47 / 166
Rewriting for verifying
[attack-1] x+COMMIT+N(x,y) || E <> D <> i#l#ll <> ls => ATTACK if y!=i if not(existAgent(y+WAIT+N(y,x),D)) and not(existAgent(y+COMMIT+N(y,x),D)) end
[attack-2] E <> y+COMMIT+N(y,x) || D <> i#l#ll <> ls => ATTACK if x!=i if not(existAgent(x+COMMIT+N(x,y),E)) end
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 48 / 166
Rewriting for verifying
[]attStrat => repeat*( dk( attack-1, attack-2, intruder-1, intruder-2, intruder-3, intruder-4, initiator-1, initiator-2, responder-1, responder-2 ) ); attackFound end
[attackFound] ATTACK => ATTACK end
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 49 / 166
Rewriting for verifying
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 50 / 166
Rewriting for verifying
[initiator-2] x+WAIT+N(x,v) || E <> D <> I <> w-->x:K(x)[N(x,v),N(n2,n4),A(v)] & ls => x+COMMIT+N(x,v) || E <> D <> I <> x-->v:K(v)[N(n2,n4),DN,DA] & ls end
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 51 / 166
Properties of term rewrite systems
1
2
3
4
5
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 52 / 166
Properties of term rewrite systems Abstract rewrite systems
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 53 / 166
Properties of term rewrite systems Abstract rewrite systems
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 54 / 166
Properties of term rewrite systems Abstract rewrite systems
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 55 / 166
Properties of term rewrite systems Abstract rewrite systems
Relathionships )
∗
∗
∗
∗
∗
∗
Relathionships Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 56 / 166
Properties of term rewrite systems Abstract rewrite systems
1
2
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 57 / 166
Properties of term rewrite systems Abstract rewrite systems
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 58 / 166
Properties of term rewrite systems Termination of TRS
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 59 / 166
Properties of term rewrite systems Termination of TRS
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 60 / 166
Properties of term rewrite systems Termination of TRS
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 61 / 166
Properties of term rewrite systems Termination of TRS
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 62 / 166
Properties of term rewrite systems Termination of TRS
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 63 / 166
Properties of term rewrite systems Termination of TRS
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 64 / 166
Properties of term rewrite systems Termination of TRS
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 65 / 166
Properties of term rewrite systems Termination of TRS
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 66 / 166
Properties of term rewrite systems Termination of TRS
Recursive or Lexicographic path ordering [Dershowitz, 82]
Polynomial interpretations
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 67 / 166
Properties of term rewrite systems Confluence of TRS
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 68 / 166
Properties of term rewrite systems Confluence of TRS
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 69 / 166
Properties of term rewrite systems Confluence of TRS
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 70 / 166
Properties of term rewrite systems Confluence of TRS
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 71 / 166
Properties of term rewrite systems Confluence of TRS
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 72 / 166
Properties of term rewrite systems Confluence of TRS
∗
∗
∗
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 73 / 166
Properties of term rewrite systems Confluence of TRS
critical pairs .
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 74 / 166
Properties of term rewrite systems Confluence of TRS
∗
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 75 / 166
Properties of term rewrite systems Confluence of TRS
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 76 / 166
Rewriting calculus
1
2
3
4
5
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 77 / 166
Rewriting calculus Introduction
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 78 / 166
Rewriting calculus Introduction
Techniques de réécriture et transformations 27 janvier 2007 79 / 166
Rewriting calculus Introduction
Techniques de réécriture et transformations 27 janvier 2007 80 / 166
Rewriting calculus Introduction
β
β
β
β
β
β
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 81 / 166
Rewriting calculus Introduction
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 82 / 166
Rewriting calculus Introduction
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 83 / 166
Rewriting calculus Introduction
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 84 / 166
Rewriting calculus Introduction
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 85 / 166
Rewriting calculus Introduction
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 86 / 166
Rewriting calculus Introduction
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 87 / 166
Rewriting calculus Introduction
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 88 / 166
Rewriting calculus Introduction
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 89 / 166
Rewriting calculus Introduction
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 90 / 166
Rewriting calculus Syntax and semantics
1
2
3
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 91 / 166
Rewriting calculus Syntax and semantics
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 92 / 166
Rewriting calculus Syntax and semantics
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 93 / 166
Rewriting calculus Syntax and semantics
ρ a
ρ {ω ω} →
ρ σ δ . . .
ρ b
ρ g(a, b)
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 94 / 166
Rewriting calculus Syntax and semantics
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 95 / 166
Rewriting calculus Syntax and semantics
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 96 / 166
Rewriting calculus Syntax and semantics
Techniques de réécriture et transformations 27 janvier 2007 97 / 166
Rewriting calculus Syntax and semantics
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 98 / 166
Rewriting calculus Syntax and semantics
1
2
stk treats matching failures uniformly :
stk
stk
stk
stk
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 99 / 166
Rewriting calculus Syntax and semantics
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 100 / 166
Rewriting calculus Expressiveness
ρ σ δ (S b) T
ρ σ δ b
ρ σ δ (S S.ω) T
ρ σ δ T.ω →
ρ σ δ . . .
Records Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 101 / 166
Rewriting calculus Expressiveness
ρ σ δ
ρ σ δ
ρ σ δ
ρ σ δ
stk
ρ σ δ
ρ σ δ
ρ σ δ
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 102 / 166
Rewriting calculus Expressiveness
ρ σ δ
ρ σ δ
ρ σ δ
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 103 / 166
Rewriting calculus Expressiveness
ρ σ δ
ρ σ δ
ρ σ δ
Daemon Inheritance Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 104 / 166
Rewriting calculus Expressiveness
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 105 / 166
Rewriting calculus Expressiveness
1
ρ σ δ T2
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 106 / 166
Rewriting calculus Expressiveness
ρ δ∪stk
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 107 / 166
Rewriting calculus Expressiveness
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 108 / 166
Rewriting calculus Expressiveness
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 109 / 166
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 110 / 166
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 111 / 166
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 112 / 166
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 113 / 166
Λ
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 114 / 166
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 115 / 166
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 116 / 166
Back Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 117 / 166
Back Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 118 / 166
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 119 / 166
Back Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 120 / 166
p
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 121 / 166
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 122 / 166
Back Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 123 / 166
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 124 / 166
Back to rewriting Back to NSPK Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 125 / 166
+
∗
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 126 / 166
∗
Back Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 127 / 166
1
2
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 128 / 166
1 m−1
2 ∗
∗
∗
∗
1 ∗
Back Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 129 / 166
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 130 / 166
Back to LPO Back Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 131 / 166
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 132 / 166
@ + @ + @ : ( AgentId SWC Nonce ) Agent; @ : ( Agent ) listAgent; @ || @ : ( listAgent listAgent ) listAgent (AC);
@-->@:@[@,@,@] : ( AgentId AgentId Key Nonce Nonce Address ) message; @ : ( message ) network; @ & @ : ( network network ) network (AC);
@ # @ # @ : ( AgentId listNonce network ) intruder;
@ <> @ <> @ <> @ : ( listAgent listAgent intruder network ) state;
Back to NSPK Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 133 / 166
1
t0
∗
∗
∗
⇒ t
∗
2
t
∗
⇒ t0
∗
∗
∗
Back Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 134 / 166
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 135 / 166
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 136 / 166
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 137 / 166
Back Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 138 / 166
1
lpo (t1, . . . , tm) and
2
3
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 139 / 166
1
2
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 140 / 166
MPO Back Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 141 / 166
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 142 / 166
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 143 / 166
∗
R ∗
Back Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 144 / 166
Back Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 145 / 166
∗
∗
RA ∗
∗
∗
∗
RA ∗
∗
∗
RA ←
∗
∗
RA ←
∗
∗
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 146 / 166
1
2
3
4
Back Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 147 / 166
δ
ρ σ δ
stk
stk
Back Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 148 / 166
ρ σ δ
ρ σ δ
ρ σ δ
ρ σ δ
Back Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 149 / 166
ρ σ δ Point
Back Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 150 / 166
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 151 / 166
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 152 / 166
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 153 / 166
ρ δ
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 154 / 166
stk treats matching failures uniformly :
stk
stk
stk
stk
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 155 / 166
stk :
stk is confluent and terminating.
ρ δ and → stk commute
stk
ρδ 0,1
stk
ρ δ
ρ δ
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 156 / 166
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 157 / 166
Techniques de réécriture et transformations 27 janvier 2007 158 / 166
ρ δ
ρ
stk
ρ δ
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 159 / 166
ρ δ
ρ δ
stk
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 160 / 166
ρ δ
ρ δ
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 161 / 166
ρ δ
ρ δ
ρ δ
stk Ai+1B
ρ δ
ρ δ
ρ δ
stk f B
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 162 / 166
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 163 / 166
Back Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 164 / 166
1
ρ δ t′
R
2
R
ρ δ t′
Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 165 / 166
1
ρ δ
2
ρ δ
ρ δ
Back Horatiu CIRSTEA and Claude KIRCHNER Techniques de réécriture et transformations 27 janvier 2007 166 / 166