Download presentation
Presentation is loading. Please wait.
Published byScot Mathews Modified over 9 years ago
1
Games for Static Ambient Logic Giorgio Ghelli joint work with Anuj Dawar and Philippa Gardner
2
A Game-Based Proof of Adjunct Elimination in SL(H) Giorgio Ghelli joint work with Anuj Dawar and Philippa Gardner
3
April 2004Giorgio Ghelli - Games for a Spatial Logic3 Spatial logics Bunched Implication (Pym, O’Hearn, LICS’99, BSL’99, CSL’99): [HE, F] [H, E-F] and [HE, F] [H, EF] Separation Logics (O’Hearn, Reynolds, Yang, Calcagno, MPCS’99, POPL’01, CSL’01, LICS’02): Properties of Heaps, Hoare Triples {emp x=2} x=cons(1,2) {2,57 1,2} Ambient Logic (Cardelli, Gordon, Caires, DBPL’99, POPL’00): Talking about the evolution of mobile ambients P \ mQ (n)n[0] Spatial (Static) Ambient Logic (and Graph Logic) (Cardelli, Gordon, Gardner, Ghelli, DBPL’99, ESOP’01, ICALP’02): Talking about trees and graphs P \.Paper[.Author[Cardelli]]
4
April 2004Giorgio Ghelli - Games for a Spatial Logic4 A spatial logic for trees Paper[… | Author[G] | …] Paper[True] F m[φ] iff F=m[F’], F’ φ ( m[F] m[φ] iff F φ ) F True: always Paper[…| Author[G]] | … Paper[True] | True F φ | ψ iff F’, F”. F = F’|F”, F’ φ, F” ψ ( F’|F” φ | ψ iff F’ φ, F” ψ) Paper[… | Author[G] | …] | Paper[…] | … Paper[Author[True] | True ] | True (abbrev.:.Paper[.Author[True] ] ) Paper[True] | Paper[True]: exactly two papers
5
April 2004Giorgio Ghelli - Games for a Spatial Logic5 Applications TQL: from $DB |=.Paper[ Author[G] | Title[$t] ] select PaperByG[ $t ] from $DB |= not.Paper[not.Title[True]] And not exists $X. ( Paper[Title[$X]] | Paper[Title[$X]] ) select TitleIsAKey
6
April 2004Giorgio Ghelli - Games for a Spatial Logic6 Applications XMLSchema-like Types m[φ]*: 0 m[φ] m[φ]|m[φ] …. $DB \ Paper[ Author[T]* | (Journal[T] Conference[T]) | (Year[T] 0) ]* Types and constraints can be used to rewrite queries
7
April 2004Giorgio Ghelli - Games for a Spatial Logic7 Quantifying over names Quantifying over public names: x..paper[.author[x]] |.paper[.author[x]] Quantifying over hidden names Hidden names: (x)(paper[id[x]|…] | paper[cites[x]|…] ] There is a dangling pointer in F: F Hx. (.paper.cites[x] .paper.id[x])
8
April 2004Giorgio Ghelli - Games for a Spatial Logic8 Adjuncts Mixin types: F \ φ ψ G \ φ F | G \ ψ Adjunct property: φ ξ [ ψ 45 φ [ ξ ψ φ | ξ [ ψ 45 φ [ ξ f ψ
9
April 2004Giorgio Ghelli - Games for a Spatial Logic9 Power of the Adjunct Without adjunct: Model-checking with PSPACE (T, φ T \ φ?) Validity undecidable (φ T. T \ φ?) With adjuncts: Model-checking the adjunct decides validity: 0 \ True φ F \ True F|0 \ φ forall F. F \ φ Hence, model-checking is undecidable Wow, is powerful
10
April 2004Giorgio Ghelli - Games for a Spatial Logic10 Lozes result (July 2003) Lozes, adjunct elimination: Consider L(0,|,[],H, ) (actually, L(H,©, ,…)) For any sentence φ of L(0,|,[],H, ) an equivalent ψ exists which uses no adjunct (φ ~ ψ def forall T. T \ φ T \ ψ) Ghelli and Conforti: Model-checking of L(0,|,[],H, ) is undecidable Model-checking of L(0,|,[],H) is decidable As a consequence: Adjuncts elimination cannot be computable!
11
April 2004Giorgio Ghelli - Games for a Spatial Logic11 Let’s play games Rules of the game: Two boards (big, quite similar) and a rank (bag of moves) Spoiler wants to prove them different, Duplicators says they are similar enough
12
April 2004Giorgio Ghelli - Games for a Spatial Logic12 How spoiler wins a game The rank: 2 | moves, one 0 move The boards (T,U) n 1 [] | n 2 [] | n 3 [] | n 4 [] vs. n 1 [] | n 2 [] | n 3 [] The game n 1 [] | n 2 [] | n 3 [] | n 4 [] vs. n 1 [] | n 2 [] | n 3 [] n1n1 n2n2 n3n3 n4n4 n1n1 n2n2 n3n3 n3n3 n4n4 n3n3
13
April 2004Giorgio Ghelli - Games for a Spatial Logic13 Spoiler loses a game The rank: k split (|) moves, j m[] moves, one 0 move The boards (T,U) m 1 []|…|m 2**(k) [] m 1 []|…|m 2**(k)+1 [] The invariant: Either T = U, or they differ by one and are bigger than 2**(k+j)
14
April 2004Giorgio Ghelli - Games for a Spatial Logic14 The H move The boards: (m) m[m[]] vs. (n 1,n 2 ) n 2 [n 1 []] H move Spo: xq, {q/m} Dup: {q/n 2 } q[q[]]vs. (n 1 ) q[n 1 []] x[] move: q[]vs. (n 1 ) n 1 [] x[] move: Spoiler wins
15
April 2004Giorgio Ghelli - Games for a Spatial Logic15 The adjunct move Spoiler adds T’ to one board (say, T) Duplicator adds U’ to the other board U Spoiler chooses whether to go on with: T’ vs. U’ T|T’ vs. U|U’ Adjunct elimination proof in one sentence Why should Spoiler play the useless adjunct move?
16
April 2004Giorgio Ghelli - Games for a Spatial Logic16 To sum up Given a formula in L(0,|,[],H, ), there is no computable way of getting rid of But, given a strategy in Games(0,|,[],H, ), getting rid of is extremely easy Now we know why! Oh, by the way, you cannot eliminate from L(0,|,[],, )…
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.