VLDL Satisfiability and Model Checking via Tree Automata Alexander - - PowerPoint PPT Presentation

vldl satisfiability and model checking via tree automata
SMART_READER_LITE
LIVE PREVIEW

VLDL Satisfiability and Model Checking via Tree Automata Alexander - - PowerPoint PPT Presentation

VLDL Satisfiability and Model Checking via Tree Automata Alexander Weinert Saarland University December 12th, 2017 FSTTCS 2017 - Kanpur, India Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 1/26 VLDL VLDL


slide-1
SLIDE 1

VLDL Satisfiability and Model Checking via Tree Automata

Alexander Weinert

Saarland University

December 12th, 2017

FSTTCS 2017 - Kanpur, India

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 1/26

slide-2
SLIDE 2

VLDL Satisfiability and Model Checking via Tree Automata

Alexander Weinert

Saarland University

December 12th, 2017

FSTTCS 2017 - Kanpur, India

VLDL

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 1/26

slide-3
SLIDE 3

VLDL Satisfiability and Model Checking via Tree Automata

Alexander Weinert

Saarland University

December 12th, 2017

FSTTCS 2017 - Kanpur, India

Satisfiability Model Checking

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 1/26

slide-4
SLIDE 4

VLDL Satisfiability and Model Checking via Tree Automata

Alexander Weinert

Saarland University

December 12th, 2017

FSTTCS 2017 - Kanpur, India

Tree Automata

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 1/26

slide-5
SLIDE 5

VLDL Satisfiability and Model Checking via Tree Automata

Alexander Weinert

Saarland University

December 12th, 2017

FSTTCS 2017 - Kanpur, India

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 1/26

slide-6
SLIDE 6

Setting: Program Verification

Program Specification Model Checker ✓/✗ Popular Language: LTL

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 2/26

slide-7
SLIDE 7

Setting: Program Verification

Program Specification Model Checker ✓/✗ Popular Language: LTL

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 2/26

slide-8
SLIDE 8

Setting: Program Verification

Program Specification Model Checker ✓/✗ Popular Language: LTL

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 2/26

slide-9
SLIDE 9

Setting: Program Verification

Program Specification Model Checker ✓/✗ Popular Language: LTL

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 2/26

slide-10
SLIDE 10

Setting: Program Verification

Program Specification Model Checker ✓/✗ Popular Language: LTL

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 2/26

slide-11
SLIDE 11

An Example

def f(): if(/*...*/): cd("folder") else: cd("..") def main(): /*...*/ “Program never leaves its original working directory” Not expressible in LTL!

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 3/26

slide-12
SLIDE 12

An Example

def f(): if(/*...*/): cd("folder") else: cd("..") def main(): /*...*/ “Program never leaves its original working directory” Not expressible in LTL!

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 3/26

slide-13
SLIDE 13

An Example

def f(): if(/*...*/): cd("folder") else: cd("..") def main(): /*...*/ “Program never leaves its original working directory” Not expressible in LTL!

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 3/26

slide-14
SLIDE 14

Visibly Linear Dynamic Logic (VLDL)1

Syntax of VLDL: ϕ = p | ¬ϕ | ϕ ∧ ϕ | ϕ ∨ ϕ | Aϕ | [A]ϕ guarded eventually guarded always a a b c a a b c b b a b a b c a a . . . ϕ ϕ Aϕ . . . ϕ

  • r
  • r
  • r

a a b c a a b c b b a b a b c a a . . . [A]ϕ ϕ ϕ . . . ϕ and and and

1(W. and Zimmermann, 2016) Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 4/26

slide-15
SLIDE 15

Visibly Linear Dynamic Logic (VLDL)1

Syntax of VLDL: ϕ = p | ¬ϕ | ϕ ∧ ϕ | ϕ ∨ ϕ | Aϕ | [A]ϕ guarded eventually guarded always a a b c a a b c b b a b a b c a a . . . ϕ ϕ Aϕ . . . ϕ

  • r
  • r
  • r

a a b c a a b c b b a b a b c a a . . . [A]ϕ ϕ ϕ . . . ϕ and and and

1(W. and Zimmermann, 2016) Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 4/26

slide-16
SLIDE 16

Visibly Linear Dynamic Logic (VLDL)1

Syntax of VLDL: ϕ = p | ¬ϕ | ϕ ∧ ϕ | ϕ ∨ ϕ | Aϕ | [A]ϕ guarded eventually guarded always a a b c a a b c b b a b a b c a a . . . ϕ ϕ Aϕ . . . ϕ

  • r
  • r
  • r

a a b c a a b c b b a b a b c a a . . . [A]ϕ ϕ ϕ . . . ϕ and and and

1(W. and Zimmermann, 2016) Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 4/26

slide-17
SLIDE 17

Visibly Linear Dynamic Logic (VLDL)1

Syntax of VLDL: ϕ = p | ¬ϕ | ϕ ∧ ϕ | ϕ ∨ ϕ | Aϕ | [A]ϕ guarded eventually guarded always a a b c a a b c b b a b a b c a a . . . ϕ ϕ Aϕ . . . ϕ

  • r
  • r
  • r

a a b c a a b c b b a b a b c a a . . . [A]ϕ ϕ ϕ . . . ϕ and and and

1(W. and Zimmermann, 2016) Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 4/26

slide-18
SLIDE 18

Visibly Linear Dynamic Logic (VLDL)1

Syntax of VLDL: ϕ = p | ¬ϕ | ϕ ∧ ϕ | ϕ ∨ ϕ | Aϕ | [A]ϕ guarded eventually guarded always a a b c a a b c b b a b a b c a a . . . ϕ ϕ Aϕ . . . ϕ

  • r
  • r
  • r

a a b c a a b c b b a b a b c a a . . . [A]ϕ ϕ ϕ . . . ϕ and and and

1(W. and Zimmermann, 2016) Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 4/26

slide-19
SLIDE 19

Visibly Linear Dynamic Logic (VLDL)1

Syntax of VLDL: ϕ = p | ¬ϕ | ϕ ∧ ϕ | ϕ ∨ ϕ | Aϕ | [A]ϕ guarded eventually guarded always a a b c a a b c b b a b a b c a a . . . ϕ ϕ Aϕ . . . ϕ

  • r
  • r
  • r

a a b c a a b c b b a b a b c a a . . . [A]ϕ ϕ ϕ . . . ϕ and and and

1(W. and Zimmermann, 2016) Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 4/26

slide-20
SLIDE 20

Visibly Linear Dynamic Logic (VLDL)1

Syntax of VLDL: ϕ = p | ¬ϕ | ϕ ∧ ϕ | ϕ ∨ ϕ | Aϕ | [A]ϕ guarded eventually guarded always a a b c a a b c b b a b a b c a a . . . ϕ ϕ Aϕ . . . ϕ

  • r
  • r
  • r

a a b c a a b c b b a b a b c a a . . . [A]ϕ ϕ ϕ . . . ϕ and and and

1(W. and Zimmermann, 2016) Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 4/26

slide-21
SLIDE 21

Visibly Linear Dynamic Logic (VLDL)1

Syntax of VLDL: ϕ = p | ¬ϕ | ϕ ∧ ϕ | ϕ ∨ ϕ | Aϕ | [A]ϕ guarded eventually guarded always a a b c a a b c b b a b a b c a a . . . ϕ ϕ Aϕ . . . ϕ

  • r
  • r
  • r

a a b c a a b c b b a b a b c a a . . . [A]ϕ ϕ ϕ . . . ϕ and and and

1(W. and Zimmermann, 2016) Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 4/26

slide-22
SLIDE 22

Visibly Linear Dynamic Logic (VLDL)1

Syntax of VLDL: ϕ = p | ¬ϕ | ϕ ∧ ϕ | ϕ ∨ ϕ | Aϕ | [A]ϕ guarded eventually guarded always ∈ L(A) a a b c a a b c b b a b a b c a a . . . ϕ ϕ Aϕ . . . ϕ

  • r
  • r
  • r

a a b c a a b c b b a b a b c a a . . . [A]ϕ ϕ ϕ . . . ϕ and and and

1(W. and Zimmermann, 2016) Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 4/26

slide-23
SLIDE 23

Visibly Linear Dynamic Logic (VLDL)1

Syntax of VLDL: ϕ = p | ¬ϕ | ϕ ∧ ϕ | ϕ ∨ ϕ | Aϕ | [A]ϕ guarded eventually guarded always ∈ L(A) a a b c a a b c b b a b a b c a a . . . ϕ ϕ Aϕ . . . ϕ

  • r
  • r
  • r

a a b c a a b c b b a b a b c a a . . . [A]ϕ ϕ ϕ . . . ϕ and and and

1(W. and Zimmermann, 2016) Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 4/26

slide-24
SLIDE 24

Visibly Linear Dynamic Logic (VLDL)1

Syntax of VLDL: ϕ = p | ¬ϕ | ϕ ∧ ϕ | ϕ ∨ ϕ | Aϕ | [A]ϕ guarded eventually guarded always ∈ L(A) a a b c a a b c b b a b a b c a a . . . ϕ ϕ Aϕ . . . ϕ

  • r
  • r
  • r

a a b c a a b c b b a b a b c a a . . . [A]ϕ ϕ ϕ . . . ϕ and and and

1(W. and Zimmermann, 2016) Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 4/26

slide-25
SLIDE 25

Visibly Linear Dynamic Logic (VLDL)1

Syntax of VLDL: ϕ = p | ¬ϕ | ϕ ∧ ϕ | ϕ ∨ ϕ | Aϕ | [A]ϕ guarded eventually guarded always ∈ L(A) a a b c a a b c b b a b a b c a a . . . ϕ ϕ Aϕ . . . ϕ

  • r
  • r
  • r

a a b c a a b c b b a b a b c a a . . . [A]ϕ ϕ ϕ . . . ϕ and and and

1(W. and Zimmermann, 2016) Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 4/26

slide-26
SLIDE 26

Visibly Linear Dynamic Logic (VLDL)1

Syntax of VLDL: ϕ = p | ¬ϕ | ϕ ∧ ϕ | ϕ ∨ ϕ | Aϕ | [A]ϕ guarded eventually guarded always ∈ L(A) a a b c a a b c b b a b a b c a a . . . ϕ ϕ Aϕ . . . ϕ

  • r
  • r
  • r

a a b c a a b c b b a b a b c a a . . . [A]ϕ ϕ ϕ . . . ϕ and and and

1(W. and Zimmermann, 2016) Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 4/26

slide-27
SLIDE 27

Visibly Linear Dynamic Logic (VLDL)1

Syntax of VLDL: ϕ = p | ¬ϕ | ϕ ∧ ϕ | ϕ ∨ ϕ | Aϕ | [A]ϕ guarded eventually guarded always a a b c a a b c b b a b a b c a a . . . ϕ ϕ Aϕ . . . ϕ

  • r
  • r
  • r

a a b c a a b c b b a b a b c a a . . . [A]ϕ ϕ ϕ . . . ϕ and and and

1(W. and Zimmermann, 2016) Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 4/26

slide-28
SLIDE 28

Visibly Linear Dynamic Logic (VLDL)1

Syntax of VLDL: ϕ = p | ¬ϕ | ϕ ∧ ϕ | ϕ ∨ ϕ | Aϕ | [A]ϕ guarded eventually guarded always a a b c a a b c b b a b a b c a a . . . ϕ ϕ Aϕ . . . ϕ

  • r
  • r
  • r

a a b c a a b c b b a b a b c a a . . . [A]ϕ ϕ ϕ . . . ϕ and and and

1(W. and Zimmermann, 2016) Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 4/26

slide-29
SLIDE 29

Visibly Linear Dynamic Logic (VLDL)1

Syntax of VLDL: ϕ = p | ¬ϕ | ϕ ∧ ϕ | ϕ ∨ ϕ | Aϕ | [A]ϕ guarded eventually guarded always a a b c a a b c b b a b a b c a a . . . ϕ ϕ Aϕ . . . ϕ

  • r
  • r
  • r

a a b c a a b c b b a b a b c a a . . . [A]ϕ ϕ ϕ . . . ϕ and and and

1(W. and Zimmermann, 2016) Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 4/26

slide-30
SLIDE 30

Visibly Linear Dynamic Logic (VLDL)1

Syntax of VLDL: ϕ = p | ¬ϕ | ϕ ∧ ϕ | ϕ ∨ ϕ | Aϕ | [A]ϕ guarded eventually guarded always a a b c a a b c b b a b a b c a a . . . ϕ ϕ Aϕ . . . ϕ

  • r
  • r
  • r

a a b c a a b c b b a b a b c a a . . . [A]ϕ ϕ ϕ . . . ϕ and and and

1(W. and Zimmermann, 2016) Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 4/26

slide-31
SLIDE 31

Visibly Pushdown Automata2

Visibly Pushdown Automata are restricted Pushdown Automata Σ When reading call, automaton has to push onto the stack When reading return, automaton has to pop off the stack When reading local action, automaton has to ignore the stack ⇒ Closed under intersection!

2(Alur and Madhusudan, 2005) Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 5/26

slide-32
SLIDE 32

Visibly Pushdown Automata2

Visibly Pushdown Automata are restricted Pushdown Automata Σ When reading call, automaton has to push onto the stack When reading return, automaton has to pop off the stack When reading local action, automaton has to ignore the stack ⇒ Closed under intersection!

2(Alur and Madhusudan, 2005) Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 5/26

slide-33
SLIDE 33

Visibly Pushdown Automata2

Visibly Pushdown Automata are restricted Pushdown Automata Σ Calls Local Actions Returns When reading call, automaton has to push onto the stack When reading return, automaton has to pop off the stack When reading local action, automaton has to ignore the stack ⇒ Closed under intersection!

2(Alur and Madhusudan, 2005) Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 5/26

slide-34
SLIDE 34

Visibly Pushdown Automata2

Visibly Pushdown Automata are restricted Pushdown Automata Σ Calls Local Actions Returns When reading call, automaton has to push onto the stack When reading return, automaton has to pop off the stack When reading local action, automaton has to ignore the stack ⇒ Closed under intersection!

2(Alur and Madhusudan, 2005) Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 5/26

slide-35
SLIDE 35

Visibly Pushdown Automata2

Visibly Pushdown Automata are restricted Pushdown Automata Σ Calls Local Actions Returns When reading call, automaton has to push onto the stack When reading return, automaton has to pop off the stack When reading local action, automaton has to ignore the stack ⇒ Closed under intersection!

2(Alur and Madhusudan, 2005) Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 5/26

slide-36
SLIDE 36

Visibly Pushdown Automata2

Visibly Pushdown Automata are restricted Pushdown Automata Σ Calls Local Actions Returns When reading call, automaton has to push onto the stack When reading return, automaton has to pop off the stack When reading local action, automaton has to ignore the stack ⇒ Closed under intersection!

2(Alur and Madhusudan, 2005) Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 5/26

slide-37
SLIDE 37

VLDL Complexity3

VLDL: Extension of LTL, temporal operators guarded by visibly pushdown automata Satisfiability ExpTime-complete Model Checking ExpTime-complete Games 3ExpTime-complete Contribution: Novel, conceptually simple algorithms

3(W. and Zimmermann, 2016) Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 6/26

slide-38
SLIDE 38

VLDL Complexity3

VLDL: Extension of LTL, temporal operators guarded by visibly pushdown automata Satisfiability ExpTime-complete Model Checking ExpTime-complete Games 3ExpTime-complete Contribution: Novel, conceptually simple algorithms

3(W. and Zimmermann, 2016) Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 6/26

slide-39
SLIDE 39

VLDL Complexity3

VLDL: Extension of LTL, temporal operators guarded by visibly pushdown automata Satisfiability ExpTime-complete Model Checking ExpTime-complete Games 3ExpTime-complete Contribution: Novel, conceptually simple algorithms

3(W. and Zimmermann, 2016) Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 6/26

slide-40
SLIDE 40

VLDL Complexity3

VLDL: Extension of LTL, temporal operators guarded by visibly pushdown automata Satisfiability ExpTime-complete Model Checking ExpTime-complete Games 3ExpTime-complete Contribution: Novel, conceptually simple algorithms

3(W. and Zimmermann, 2016) Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 6/26

slide-41
SLIDE 41

VLDL Complexity3

VLDL: Extension of LTL, temporal operators guarded by visibly pushdown automata Satisfiability ExpTime-complete Model Checking ExpTime-complete Games 3ExpTime-complete ExpTime-complete ExpTime-complete Contribution: Novel, conceptually simple algorithms

3(W. and Zimmermann, 2016) Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 6/26

slide-42
SLIDE 42

VLDL Satisfiability and Model Checking

Theorem (W. and Zimmermann, 2016)

VLDL Satisfiability is ExpTime-complete. VLDL ϕ 1 − AJA Aaja VPA Avpa ✓/✗

  • 1. What are 1 − AJAs?
  • 2. How to translate 1 − AJAs into tree automata?

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 7/26

slide-43
SLIDE 43

VLDL Satisfiability and Model Checking

Theorem (W. and Zimmermann, 2016)

VLDL Satisfiability is ExpTime-complete. VLDL ϕ 1 − AJA Aaja VPA Avpa ✓/✗

  • 1. What are 1 − AJAs?
  • 2. How to translate 1 − AJAs into tree automata?

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 7/26

slide-44
SLIDE 44

VLDL Satisfiability and Model Checking

Theorem (W. and Zimmermann, 2016)

VLDL Satisfiability is ExpTime-complete. VLDL ϕ 1 − AJA Aaja VPA Avpa ✓/✗

  • 1. What are 1 − AJAs?
  • 2. How to translate 1 − AJAs into tree automata?

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 7/26

slide-45
SLIDE 45

VLDL Satisfiability and Model Checking

Theorem (W. and Zimmermann, 2016)

VLDL Satisfiability is ExpTime-complete. VLDL ϕ 1 − AJA Aaja VPA Avpa ✓/✗

  • 1. What are 1 − AJAs?
  • 2. How to translate 1 − AJAs into tree automata?

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 7/26

slide-46
SLIDE 46

VLDL Satisfiability and Model Checking

Theorem (W. and Zimmermann, 2016)

VLDL Satisfiability is ExpTime-complete. VLDL ϕ 1 − AJA Aaja VPA Avpa ✓/✗

  • 1. What are 1 − AJAs?
  • 2. How to translate 1 − AJAs into tree automata?

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 7/26

slide-47
SLIDE 47

VLDL Satisfiability and Model Checking

Theorem (W. and Zimmermann, 2016)

VLDL Satisfiability is ExpTime-complete. VLDL ϕ 1 − AJA Aaja ✓/✗ T Tree Aut.

  • 1. What are 1 − AJAs?
  • 2. How to translate 1 − AJAs into tree automata?

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 7/26

slide-48
SLIDE 48

VLDL Satisfiability and Model Checking

Theorem (W. and Zimmermann, 2016)

VLDL Satisfiability is ExpTime-complete. VLDL ϕ 1 − AJA Aaja ✓/✗ T Tree Aut.

  • 1. What are 1 − AJAs?
  • 2. How to translate 1 − AJAs into tree automata?

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 7/26

slide-49
SLIDE 49

VLDL Satisfiability and Model Checking

Theorem (W. and Zimmermann, 2016)

VLDL Satisfiability is ExpTime-complete. VLDL ϕ 1 − AJA Aaja ✓/✗ T Tree Aut.

  • 1. What are 1 − AJAs?
  • 2. How to translate 1 − AJAs into tree automata?

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 7/26

slide-50
SLIDE 50

Intermediate Automata: 1 − AJA4

Extension of alternating automata: δ(q, a) = q1 ∧ (q2 ∨ q3). l c l l r c c l r c . . .

Stack Height

1 2 3 · · ·

4(Bozzelli, 2007) Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 8/26

slide-51
SLIDE 51

Intermediate Automata: 1 − AJA4

Extension of alternating automata: δ(q, a) = q1 ∧ (q2 ∨ q3). l c l l r c c l r c . . .

Stack Height

1 2 3 · · ·

4(Bozzelli, 2007) Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 8/26

slide-52
SLIDE 52

Intermediate Automata: 1 − AJA4

Extension of alternating automata: δ(q, a) = q1 ∧ (q2 ∨ q3). l c l l r c c l r c . . .

Stack Height

1 2 3 · · ·

4(Bozzelli, 2007) Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 8/26

slide-53
SLIDE 53

Intermediate Automata: 1 − AJA4

Extension of alternating automata: δ(q, a) = q1 ∧ (q2 ∨ q3). l c l l r c c l r c . . .

Stack Height

1 2 3 · · ·

4(Bozzelli, 2007) Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 8/26

slide-54
SLIDE 54

Intermediate Automata: 1 − AJA4

Extension of alternating automata: δ(q, a) = q1 ∧ (q2 ∨ q3). l c l l r c c l r c . . .

Stack Height

1 2 3 · · ·

4(Bozzelli, 2007) Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 8/26

slide-55
SLIDE 55

Intermediate Automata: 1 − AJA4

Extension of alternating automata: δ(q, a) = q1 ∧ (q2 ∨ q3). l c l l r c c l r c . . .

Stack Height

1 2 3 · · ·

4(Bozzelli, 2007) Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 8/26

slide-56
SLIDE 56

Intermediate Automata: 1 − AJA4

Extension of alternating automata: δ(q, a) = q1 ∧ (q2 ∨ q3). l c l l r c c l r c . . .

Stack Height

1 2 3 · · ·

4(Bozzelli, 2007) Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 8/26

slide-57
SLIDE 57

Intermediate Automata: 1 − AJA4

Extension of alternating automata: δ(q, a) = q1 ∧ (q2 ∨ q3). l c l l r c c l r c . . .

Stack Height

1 2 3 · · ·

4(Bozzelli, 2007) Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 8/26

slide-58
SLIDE 58

Intermediate Automata: 1 − AJA4

Extension of alternating automata: δ(q, a) = q1 ∧ (q2 ∨ q3). l c l l r c c l r c . . .

Stack Height

1 2 3 · · ·

4(Bozzelli, 2007) Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 8/26

slide-59
SLIDE 59

Intermediate Automata: 1 − AJA4

Extension of alternating automata: δ(q, a) = q1 ∧ (q2 ∨ q3). l c l l r c c l r c . . .

Stack Height

1 2 3 · · ·

4(Bozzelli, 2007) Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 8/26

slide-60
SLIDE 60

Intermediate Automata: 1 − AJA4

Extension of alternating automata: δ(q, a) = q1 ∧ (q2 ∨ q3). l c l l r c c l r c . . .

Stack Height

1 2 3 · · ·

4(Bozzelli, 2007) Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 8/26

slide-61
SLIDE 61

Intermediate Automata: 1 − AJA4

Extension of alternating automata: δ(q, a) = q1 ∧ (q2 ∨ q3). l c l l r c c l r c . . .

Stack Height

1 2 3 · · ·

4(Bozzelli, 2007) Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 8/26

slide-62
SLIDE 62

Intermediate Automata: 1 − AJA4

Extension of alternating automata: δ(q, a) = q1 ∧ (q2 ∨ q3). l c l l r c c l r c . . .

Stack Height

1 2 3 · · ·

4(Bozzelli, 2007) Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 8/26

slide-63
SLIDE 63

Intermediate Automata: 1 − AJA4

Extension of alternating automata: δ(q, a) = q1 ∧ (q2 ∨ q3). l c l l r c c l r c . . .

Stack Height

1 2 3 · · ·

4(Bozzelli, 2007) Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 8/26

slide-64
SLIDE 64

Intermediate Automata: 1 − AJA4

Extension of alternating automata: δ(q, a) = q1 ∧ (q2 ∨ q3). l c l l r c c l r c . . .

Stack Height

1 2 3 · · ·

4(Bozzelli, 2007) Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 8/26

slide-65
SLIDE 65

Intermediate Automata: 1 − AJA

· · · Acceptance: Each branch visits accepting states infinitely often.

Theorem (Ext. of (W. and Zimmermann, 2016))

For each VLDL formula there exists an equivalent 1 − AJA of polynomial size.

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 9/26

slide-66
SLIDE 66

Intermediate Automata: 1 − AJA

· · · Acceptance: Each branch visits accepting states infinitely often.

Theorem (Ext. of (W. and Zimmermann, 2016))

For each VLDL formula there exists an equivalent 1 − AJA of polynomial size.

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 9/26

slide-67
SLIDE 67

Intermediate Automata: 1 − AJA

· · · Acceptance: Each branch visits accepting states infinitely often.

Theorem (Ext. of (W. and Zimmermann, 2016))

For each VLDL formula there exists an equivalent 1 − AJA of polynomial size.

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 9/26

slide-68
SLIDE 68

Guiding Questions

  • 1. What are 1 − AJAs?

  • 2. How to translate 1 − AJAs into tree automata?

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 10/26

slide-69
SLIDE 69

Guiding Questions

  • 1. What are 1 − AJAs?

  • 2. How to translate 1 − AJAs into tree automata?

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 10/26

slide-70
SLIDE 70

Guiding Questions

  • 1. What are 1 − AJAs?

  • 2. How to translate 1 − AJAs into tree automata?

How to translate words into trees?

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 10/26

slide-71
SLIDE 71

Encoding Words as Trees

l c l l r c c l r c c

· · ·

✗ l c l r l c c l r c c

· · · · · ·

⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥

Adapted from (Alur and Madhusudan, 2004)

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 11/26

slide-72
SLIDE 72

Encoding Words as Trees

l c l l r c c l r c c

· · ·

✗ l c l r l c c l r c c

· · · · · ·

⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥

Adapted from (Alur and Madhusudan, 2004)

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 11/26

slide-73
SLIDE 73

Encoding Words as Trees

l c l l r c c l r c c

· · ·

✗ l c l r l c c l r c c

· · · · · ·

⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥

Adapted from (Alur and Madhusudan, 2004)

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 11/26

slide-74
SLIDE 74

Encoding Words as Trees

l c l l r c c l r c c

· · ·

✗ l c l r l c c l r c c

· · · · · ·

⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥

Adapted from (Alur and Madhusudan, 2004)

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 11/26

slide-75
SLIDE 75

Encoding Words as Trees

l c l l r c c l r c c

· · ·

✗ l c l r l c c l r c c

· · · · · ·

⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥

Adapted from (Alur and Madhusudan, 2004)

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 11/26

slide-76
SLIDE 76

Encoding Words as Trees

l c l l r c c l r c c

· · ·

✗ l c l r l c c l r c c

· · · · · ·

⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥

Adapted from (Alur and Madhusudan, 2004)

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 11/26

slide-77
SLIDE 77

Encoding Words as Trees

l c l l r c c l r c c

· · ·

✗ l c l r l c c l r c c

· · · · · ·

⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥

Adapted from (Alur and Madhusudan, 2004)

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 11/26

slide-78
SLIDE 78

Encoding Words as Trees

l c l l r c c l r c c

· · ·

✗ l c l r l c c l r c c

· · · · · ·

⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥

Adapted from (Alur and Madhusudan, 2004)

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 11/26

slide-79
SLIDE 79

Encoding Words as Trees

l c l l r c c l r c c

· · ·

✗ l c l r l c c l r c c

· · · · · ·

⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥

Adapted from (Alur and Madhusudan, 2004)

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 11/26

slide-80
SLIDE 80

Encoding Words as Trees

l c l l r c c l r c c

· · ·

✗ l c l r l c c l r c c

· · · · · ·

⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥

Adapted from (Alur and Madhusudan, 2004)

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 11/26

slide-81
SLIDE 81

Encoding Words as Trees

l c l l r c c l r c c

· · ·

✗ l c l r l c c l r c c

· · · · · ·

⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥

Adapted from (Alur and Madhusudan, 2004)

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 11/26

slide-82
SLIDE 82

Encoding Words as Trees

l c l l r c c l r c c

· · ·

✗ l c l r l c c l r c c

· · · · · ·

⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥

Adapted from (Alur and Madhusudan, 2004)

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 11/26

slide-83
SLIDE 83

Encoding Words as Trees

l c l l r c c l r c c

· · ·

✗ l c l r l c c l r c c

· · · · · ·

⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥

Adapted from (Alur and Madhusudan, 2004)

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 11/26

slide-84
SLIDE 84

Encoding Words as Trees

l c l l r c c l r c c

· · ·

✗ l c l r l c c l r c c

· · · · · ·

⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥

Adapted from (Alur and Madhusudan, 2004)

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 11/26

slide-85
SLIDE 85

Encoding Words as Trees

l c l l r c c l r c c

· · ·

✗ l c l r l c c l r c c

· · · · · ·

⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥

Adapted from (Alur and Madhusudan, 2004)

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 11/26

slide-86
SLIDE 86

Guiding Questions

  • 1. What are 1 − AJAs? ✓
  • 2. How to translate 1 − AJAs into tree automata?

How to translate words into trees? ✓

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 12/26

slide-87
SLIDE 87

Guiding Questions

  • 1. What are 1 − AJAs? ✓
  • 2. How to translate 1 − AJAs into tree automata?

How to translate words into trees? ✓

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 12/26

slide-88
SLIDE 88

Guiding Questions

  • 1. What are 1 − AJAs? ✓
  • 2. How to translate 1 − AJAs into tree automata?

How to translate words into trees? ✓

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 12/26

slide-89
SLIDE 89

Overview

VLDL ϕ 1 − AJA Aaja T Tree Aut. ✓/✗

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 13/26

slide-90
SLIDE 90

Overview

VLDL ϕ 1 − AJA Aaja T Tree Aut. ✓/✗

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 13/26

slide-91
SLIDE 91

Tree Automata

l c l r r c c l r c c

· · · · · ·

⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ Acceptance: Every branch has infinitely many accepting vertices Component Technique States ? Transitions ? Accepting States ?

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 14/26

slide-92
SLIDE 92

Tree Automata

l c l r r c c l r c c

· · · · · ·

⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ q1 Acceptance: Every branch has infinitely many accepting vertices Component Technique States ? Transitions ? Accepting States ?

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 14/26

slide-93
SLIDE 93

Tree Automata

l c l r r c c l r c c

· · · · · ·

⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ q1 q2 Acceptance: Every branch has infinitely many accepting vertices Component Technique States ? Transitions ? Accepting States ?

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 14/26

slide-94
SLIDE 94

Tree Automata

l c l r r c c l r c c

· · · · · ·

⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ q1 q2 q3 q4 Acceptance: Every branch has infinitely many accepting vertices Component Technique States ? Transitions ? Accepting States ?

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 14/26

slide-95
SLIDE 95

Tree Automata

l c l r r c c l r c c

· · · · · ·

⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ q1 q2 q3 q4 Acceptance: Every branch has infinitely many accepting vertices Component Technique States ? Transitions ? Accepting States ?

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 14/26

slide-96
SLIDE 96

Tree Automata

l c l r r c c l r c c

· · · · · ·

⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ q1 q2 q3 q4 q5 q6 q7 q8 q9 q10 q11 Acceptance: Every branch has infinitely many accepting vertices Component Technique States ? Transitions ? Accepting States ?

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 14/26

slide-97
SLIDE 97

Tree Automata

l c l r r c c l r c c

· · · · · ·

⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ q1 q2 q3 q4 q5 q6 q7 q8 q9 q10 q11 Acceptance: Every branch has infinitely many accepting vertices Component Technique States ? Transitions ? Accepting States ?

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 14/26

slide-98
SLIDE 98

Tree Automata

l c l r r c c l r c c

· · · · · ·

⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ q1 q2 q3 q4 q5 q6 q7 q8 q9 q10 q11 Acceptance: Every branch has infinitely many accepting vertices Component Technique States ? Transitions ? Accepting States ?

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 14/26

slide-99
SLIDE 99

Tree Automata

l c l r r c c l r c c

· · · · · ·

⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ q1 q2 q3 q4 q5 q6 q7 q8 q9 q10 q11 Acceptance: Every branch has infinitely many accepting vertices Component Technique States ? Transitions ? Accepting States ?

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 14/26

slide-100
SLIDE 100

Tree Automata

l c l r r c c l r c c

· · · · · ·

⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ q1 q2 q3 q4 q5 q6 q7 q8 q9 q10 q11 Acceptance: Every branch has infinitely many accepting vertices Component Technique States ? Transitions ? Accepting States ?

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 14/26

slide-101
SLIDE 101

Tree Automata

l c l r r c c l r c c

· · · · · ·

⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ q1 q2 q3 q4 q5 q6 q7 q8 q9 q10 q11 Acceptance: Every branch has infinitely many accepting vertices Component Technique States ? Transitions ? Accepting States ?

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 14/26

slide-102
SLIDE 102

Tree Automata

l c l r r c c l r c c

· · · · · ·

⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ q1 q2 q3 q4 q5 q6 q7 q8 q9 q10 q11 Acceptance: Every branch has infinitely many accepting vertices Component Technique States ? Transitions ? Accepting States ?

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 14/26

slide-103
SLIDE 103

Translating 1 − AJAs into Tree Automata

l c l l r c c l r c c . . . · · · l c l l r c c l r c c

· · · · · ·

?

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 15/26

slide-104
SLIDE 104

Translating 1 − AJAs into Tree Automata

l c l l r c c l r c c . . . · · · l c l l r c c l r c c

· · · · · ·

?

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 15/26

slide-105
SLIDE 105

Translating 1 − AJAs into Tree Automata

l c l l r c c l r c c . . . · · · l c l l r c c l r c c

· · · · · ·

?

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 15/26

slide-106
SLIDE 106

Translating 1 − AJAs into Tree Automata

l c l l r c c l r c c . . . · · · l c l l r c c l r c c

· · · · · ·

?

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 15/26

slide-107
SLIDE 107

Translating 1 − AJAs into Tree Automata

l c l l r c c l r c c . . . · · · l c l l r c c l r c c

· · · · · ·

?

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 15/26

slide-108
SLIDE 108

Translating 1 − AJAs into Tree Automata

l c l l r c c l r c c . . . · · · l c l l r c c l r c c

· · · · · ·

?

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 15/26

slide-109
SLIDE 109

Translating 1 − AJAs into Tree Automata

l c l l r c c l r c c . . . · · · l c l l r c c l r c c

· · · · · ·

?

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 15/26

slide-110
SLIDE 110

Translating 1 − AJAs into Tree Automata

l c l l r c c l r c c . . . · · · l c l l r c c l r c c

· · · · · ·

?

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 15/26

slide-111
SLIDE 111

Construction in Detail

l c l l r . . . · · · l c l l r · · ·

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 16/26

slide-112
SLIDE 112

Construction in Detail

l c l l r . . . · · · l c l l r · · ·

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 16/26

slide-113
SLIDE 113

Construction in Detail

l c l l r . . . · · · l c l l r · · ·

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 16/26

slide-114
SLIDE 114

Construction in Detail

l c l l r . . . · · · l c l l r · · ·

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 16/26

slide-115
SLIDE 115

Construction in Detail

l c l l r . . . · · · l c l l r · · ·

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 16/26

slide-116
SLIDE 116

Construction in Detail

l c l l r . . . · · · l c l l r · · ·

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 16/26

slide-117
SLIDE 117

Construction in Detail

l c l l r . . . depends only on · · · l c l l r · · ·

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 16/26

slide-118
SLIDE 118

Construction in Detail

l c l l r . . . depends only on · · · l c l l r · · ·

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 16/26

slide-119
SLIDE 119

Construction in Detail

l c l l r . . . · · · l c l l r · · ·

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 16/26

slide-120
SLIDE 120

Construction in Detail

l c l l r . . . depends only on · · · l c l l r · · ·

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 16/26

slide-121
SLIDE 121

Construction in Detail

l c l l r . . . depends only on · · · l c l l r · · ·

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 16/26

slide-122
SLIDE 122

Construction in Detail

l c l l r . . . · · · l c l l r · · ·

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 16/26

slide-123
SLIDE 123

Construction in Detail

l c l l r . . . · · · “Jumped” to “Jumped” to l c l l r · · ·

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 16/26

slide-124
SLIDE 124

Construction in Detail

l c l l r . . . · · · “Jumped” to “Jumped” to depends only on depends only on l c l l r · · ·

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 16/26

slide-125
SLIDE 125

Construction in Detail

l c l l r . . . · · · “Jumped” to “Jumped” to “Walked” to “Walked” to depends only on depends only on l c l l r · · ·

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 16/26

slide-126
SLIDE 126

Construction in Detail

l c l l r . . . · · · “Jumped” to “Jumped” to “Walked” to “Walked” to depends only on depends only on l c l l r · · ·

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 16/26

slide-127
SLIDE 127

Construction in Detail

l c l l r . . . · · · “Jumped” to “Jumped” to “Walked” to “Walked” to depends only on depends only on l c l l r · · · ?

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 16/26

slide-128
SLIDE 128

Construction in Detail

l c l l r . . . · · · “Jumped” to “Jumped” to “Walked” to “Walked” to l c l l r · · · ? ? ?

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 16/26

slide-129
SLIDE 129

Construction in Detail

l c l l r . . . · · · “Jumped” to “Jumped” to “Walked” to “Walked” to l c l l r · · · ? ? ? ? ✓

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 16/26

slide-130
SLIDE 130

Summary of Construction

  • 1. Subset construction
  • 2. Split into “jump”- and “walk”-states
  • 3. Guess and verify

?

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 17/26

slide-131
SLIDE 131

Summary of Construction

  • 1. Subset construction
  • 2. Split into “jump”- and “walk”-states
  • 3. Guess and verify

?

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 17/26

slide-132
SLIDE 132

Summary of Construction

  • 1. Subset construction
  • 2. Split into “jump”- and “walk”-states
  • 3. Guess and verify

?

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 17/26

slide-133
SLIDE 133

Constructing a Tree Automaton

Component Technique States Subset Construction ✓ Transitions Guess/Verify ✓ Accepting States ?

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 18/26

slide-134
SLIDE 134

Constructing a Tree Automaton

Component Technique States Subset Construction ✓ Transitions Guess/Verify ✓ Accepting States ?

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 18/26

slide-135
SLIDE 135

Constructing a Tree Automaton

Component Technique States Subset Construction ✓ Transitions Guess/Verify ✓ Accepting States ?

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 18/26

slide-136
SLIDE 136

Constructing a Tree Automaton

Component Technique States Subset Construction ✓ Transitions Guess/Verify ✓ Accepting States ?

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 18/26

slide-137
SLIDE 137

Accepting States

Run of the tree automaton: · · · · · · · · · Recall: 1 − AJA accepts if all paths are accepting. Tree automaton accepts if accepting states are visited infinitely often. Solution: Lift acceptance condition from paths to states ⇒ Breakpoint Technique (Miyano and Hayashi, 1984)

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 19/26

slide-138
SLIDE 138

Breakpoint Construction

: Accepting state guaranteed : Accepting state not guaranteed · · · Breakpoint: All paths since last breakpoint visit accepting state

Lemma (Miyano and Hayashi, 1984)

A run of an alternating automaton is accepting if there exists a breakpoint sequence over it.

Lemma

A run of a 1 − AJA is accepting if there exists a breakpoint sequence∗ over it.

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 20/26

slide-139
SLIDE 139

Breakpoint Construction

: Accepting state guaranteed : Accepting state not guaranteed · · · Breakpoint: All paths since last breakpoint visit accepting state

Lemma (Miyano and Hayashi, 1984)

A run of an alternating automaton is accepting if there exists a breakpoint sequence over it.

Lemma

A run of a 1 − AJA is accepting if there exists a breakpoint sequence∗ over it.

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 20/26

slide-140
SLIDE 140

Breakpoint Construction

: Accepting state guaranteed : Accepting state not guaranteed · · · Breakpoint: All paths since last breakpoint visit accepting state

Lemma (Miyano and Hayashi, 1984)

A run of an alternating automaton is accepting if there exists a breakpoint sequence over it.

Lemma

A run of a 1 − AJA is accepting if there exists a breakpoint sequence∗ over it.

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 20/26

slide-141
SLIDE 141

Breakpoint Construction

: Accepting state guaranteed : Accepting state not guaranteed · · · Breakpoint: All paths since last breakpoint visit accepting state

Lemma (Miyano and Hayashi, 1984)

A run of an alternating automaton is accepting if there exists a breakpoint sequence over it.

Lemma

A run of a 1 − AJA is accepting if there exists a breakpoint sequence∗ over it.

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 20/26

slide-142
SLIDE 142

Breakpoint Construction

: Accepting state guaranteed : Accepting state not guaranteed · · · Breakpoint: All paths since last breakpoint visit accepting state

Lemma (Miyano and Hayashi, 1984)

A run of an alternating automaton is accepting if there exists a breakpoint sequence over it.

Lemma

A run of a 1 − AJA is accepting if there exists a breakpoint sequence∗ over it.

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 20/26

slide-143
SLIDE 143

Breakpoint Construction

: Accepting state guaranteed : Accepting state not guaranteed · · · Breakpoint: All paths since last breakpoint visit accepting state

Lemma (Miyano and Hayashi, 1984)

A run of an alternating automaton is accepting if there exists a breakpoint sequence over it.

Lemma

A run of a 1 − AJA is accepting if there exists a breakpoint sequence∗ over it.

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 20/26

slide-144
SLIDE 144

Breakpoint Construction

: Accepting state guaranteed : Accepting state not guaranteed · · · Breakpoint: All paths since last breakpoint visit accepting state

Lemma (Miyano and Hayashi, 1984)

A run of an alternating automaton is accepting if there exists a breakpoint sequence over it.

Lemma

A run of a 1 − AJA is accepting if there exists a breakpoint sequence∗ over it.

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 20/26

slide-145
SLIDE 145

Breakpoint Construction

: Accepting state guaranteed : Accepting state not guaranteed · · · Breakpoint: All paths since last breakpoint visit accepting state

Lemma (Miyano and Hayashi, 1984)

A run of an alternating automaton is accepting if there exists a breakpoint sequence over it.

Lemma

A run of a 1 − AJA is accepting if there exists a breakpoint sequence∗ over it.

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 20/26

slide-146
SLIDE 146

Breakpoint Construction

: Accepting state guaranteed : Accepting state not guaranteed · · · Breakpoint: All paths since last breakpoint visit accepting state

Lemma (Miyano and Hayashi, 1984)

A run of an alternating automaton is accepting if there exists a breakpoint sequence over it.

Lemma

A run of a 1 − AJA is accepting if there exists a breakpoint sequence∗ over it.

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 20/26

slide-147
SLIDE 147

Breakpoint Construction

: Accepting state guaranteed : Accepting state not guaranteed · · · Breakpoint: All paths since last breakpoint visit accepting state

Lemma (Miyano and Hayashi, 1984)

A run of an alternating automaton is accepting if there exists a breakpoint sequence over it.

Lemma

A run of a 1 − AJA is accepting if there exists a breakpoint sequence∗ over it.

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 20/26

slide-148
SLIDE 148

Breakpoint Construction

: Accepting state guaranteed : Accepting state not guaranteed · · · Breakpoint: All paths since last breakpoint visit accepting state

Lemma (Miyano and Hayashi, 1984)

A run of an alternating automaton is accepting if there exists a breakpoint sequence over it.

Lemma

A run of a 1 − AJA is accepting if there exists a breakpoint sequence∗ over it.

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 20/26

slide-149
SLIDE 149

Breakpoint Construction

: Accepting state guaranteed : Accepting state not guaranteed · · · Breakpoint: All paths since last breakpoint visit accepting state

Lemma (Miyano and Hayashi, 1984)

A run of an alternating automaton is accepting if there exists a breakpoint sequence over it.

Lemma

A run of a 1 − AJA is accepting if there exists a breakpoint sequence∗ over it.

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 20/26

slide-150
SLIDE 150

Breakpoint Construction

: Accepting state guaranteed : Accepting state not guaranteed · · · Breakpoint: All paths since last breakpoint visit accepting state

Lemma (Miyano and Hayashi, 1984)

A run of an alternating automaton is accepting if there exists a breakpoint sequence over it.

Lemma

A run of a 1 − AJA is accepting if there exists a breakpoint sequence∗ over it.

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 20/26

slide-151
SLIDE 151

Breakpoint Construction

: Accepting state guaranteed : Accepting state not guaranteed · · · Breakpoint: All paths since last breakpoint visit accepting state

Lemma (Miyano and Hayashi, 1984)

A run of an alternating automaton is accepting if there exists a breakpoint sequence over it.

Lemma

A run of a 1 − AJA is accepting if there exists a breakpoint sequence∗ over it.

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 20/26

slide-152
SLIDE 152

Breakpoint Construction

: Accepting state guaranteed : Accepting state not guaranteed · · · Breakpoint: All paths since last breakpoint visit accepting state

Lemma (Miyano and Hayashi, 1984)

A run of an alternating automaton is accepting if there exists a breakpoint sequence over it.

Lemma

A run of a 1 − AJA is accepting if there exists a breakpoint sequence∗ over it.

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 20/26

slide-153
SLIDE 153

Breakpoint Construction

: Accepting state guaranteed : Accepting state not guaranteed · · · Breakpoint: All paths since last breakpoint visit accepting state

Lemma (Miyano and Hayashi, 1984)

A run of an alternating automaton is accepting if there exists a breakpoint sequence over it.

Lemma

A run of a 1 − AJA is accepting if there exists a breakpoint sequence∗ over it.

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 20/26

slide-154
SLIDE 154

Breakpoint Construction

: Accepting state guaranteed : Accepting state not guaranteed · · · Breakpoint: All paths since last breakpoint visit accepting state

Lemma (Miyano and Hayashi, 1984)

A run of an alternating automaton is accepting if there exists a breakpoint sequence over it.

Lemma

A run of a 1 − AJA is accepting if there exists a breakpoint sequence∗ over it.

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 20/26

slide-155
SLIDE 155

Breakpoint Construction

: Accepting state guaranteed : Accepting state not guaranteed · · · Breakpoint: All paths since last breakpoint visit accepting state

Lemma (Miyano and Hayashi, 1984)

A run of an alternating automaton is accepting if there exists a breakpoint sequence over it.

Lemma

A run of a 1 − AJA is accepting if there exists a breakpoint sequence∗ over it.

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 20/26

slide-156
SLIDE 156

Accepting States

Keep track of and states in state space Update and states on the fly Accept and restart if all states are Accepting States ✓

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 21/26

slide-157
SLIDE 157

Accepting States

Keep track of and states in state space Update and states on the fly Accept and restart if all states are Accepting States ✓

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 21/26

slide-158
SLIDE 158

Accepting States

Keep track of and states in state space Update and states on the fly Accept and restart if all states are Accepting States ✓

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 21/26

slide-159
SLIDE 159

Constructing a Tree Automaton

Component Technique States Subset Construction ✓ Transitions Guess/Verify ✓ Accepting States Breakpoint Construction ✓

Theorem

For every VLDL formula ϕ we can construct a tree automaton T of exponential size that recognizes the same language.

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 22/26

slide-160
SLIDE 160

Constructing a Tree Automaton

Component Technique States Subset Construction ✓ Transitions Guess/Verify ✓ Accepting States Breakpoint Construction ✓

Theorem

For every VLDL formula ϕ we can construct a tree automaton T of exponential size that recognizes the same language.

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 22/26

slide-161
SLIDE 161

Constructing a Tree Automaton

Component Technique States Subset Construction ✓ Transitions Guess/Verify ✓ Accepting States Breakpoint Construction ✓

Theorem

For every VLDL formula ϕ we can construct a tree automaton T of exponential size that recognizes the same language.

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 22/26

slide-162
SLIDE 162

Constructing a Tree Automaton

Component Technique States Subset Construction ✓ Transitions Guess/Verify ✓ Accepting States Breakpoint Construction ✓

Theorem

For every VLDL formula ϕ we can construct a tree automaton T of exponential size that recognizes the same language.

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 22/26

slide-163
SLIDE 163

Guiding Questions

  • 1. What are 1 − AJAs? ✓
  • 2. How to translate 1 − AJAs into tree automata?

✓ How to translate words into trees? ✓

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 23/26

slide-164
SLIDE 164

Guiding Questions

  • 1. What are 1 − AJAs? ✓
  • 2. How to translate 1 − AJAs into tree automata?

✓ How to translate words into trees? ✓

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 23/26

slide-165
SLIDE 165

New Approach

VLDL ϕ 1 − AJA Aaja T Tree Aut. ✓/✗

Lemma

The following problem is in PTime: “Given a tree automaton T, does T recognize the empty language?”

Theorem

The following problem is in ExpTime: “Given a VLDL formula ϕ, does ϕ define the empty language?”

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 24/26

slide-166
SLIDE 166

New Approach

VLDL ϕ 1 − AJA Aaja T Tree Aut. ✓/✗

Lemma

The following problem is in PTime: “Given a tree automaton T, does T recognize the empty language?”

Theorem

The following problem is in ExpTime: “Given a VLDL formula ϕ, does ϕ define the empty language?”

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 24/26

slide-167
SLIDE 167

New Approach

VLDL ϕ 1 − AJA Aaja T Tree Aut. ✓/✗

Lemma

The following problem is in PTime: “Given a tree automaton T, does T recognize the empty language?”

Theorem

The following problem is in ExpTime: “Given a VLDL formula ϕ, does ϕ define the empty language?”

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 24/26

slide-168
SLIDE 168

Model Checking

VLDL ϕ 1 − AJA Aaja T Tree Aut. S VPS T Tree Aut. T Tree Aut. ✓/✗

Theorem

The following problem is in ExpTime: “Given a VLDL formula ϕ and a visibly pushdown system S, do all traces of S satisfy ϕ?”

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 25/26

slide-169
SLIDE 169

Model Checking

VLDL ϕ 1 − AJA Aaja T Tree Aut. S VPS T Tree Aut. T Tree Aut. ✓/✗

Theorem

The following problem is in ExpTime: “Given a VLDL formula ϕ and a visibly pushdown system S, do all traces of S satisfy ϕ?”

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 25/26

slide-170
SLIDE 170

Model Checking

VLDL ϕ 1 − AJA Aaja T Tree Aut. S VPS T Tree Aut. T Tree Aut. ✓/✗

Theorem

The following problem is in ExpTime: “Given a VLDL formula ϕ and a visibly pushdown system S, do all traces of S satisfy ϕ?”

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 25/26

slide-171
SLIDE 171

Model Checking

VLDL ϕ 1 − AJA Aaja T Tree Aut. S VPS T Tree Aut. T Tree Aut. ✓/✗

Theorem

The following problem is in ExpTime: “Given a VLDL formula ϕ and a visibly pushdown system S, do all traces of S satisfy ϕ?”

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 25/26

slide-172
SLIDE 172

Model Checking

VLDL ϕ 1 − AJA Aaja T Tree Aut. S VPS T Tree Aut. T Tree Aut. ✓/✗

Theorem

The following problem is in ExpTime: “Given a VLDL formula ϕ and a visibly pushdown system S, do all traces of S satisfy ϕ?”

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 25/26

slide-173
SLIDE 173

Conclusion

Conclusion Connection between visibly pushdown words and stack trees Breakpoint technique is very versatile Putting VLDL on solid algorithmic foundation

  • f B¨

uchi games Future Work Games with VLDL winning conditions Prototypical Implementation, Comparison

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 26/26

slide-174
SLIDE 174

Conclusion

Conclusion Connection between visibly pushdown words and stack trees Breakpoint technique is very versatile Putting VLDL on solid algorithmic foundation

  • f B¨

uchi games Future Work Games with VLDL winning conditions Prototypical Implementation, Comparison

Alexander Weinert Saarland University VLDL Satisfiability and Model Checking 26/26