Nested Antichains for WS1S s Fiedor 1 , 2 k 2 Tom a Luk a s Hol - - PowerPoint PPT Presentation

nested antichains for ws1s
SMART_READER_LITE
LIVE PREVIEW

Nested Antichains for WS1S s Fiedor 1 , 2 k 2 Tom a Luk a s Hol - - PowerPoint PPT Presentation

Nested Antichains for WS1S s Fiedor 1 , 2 k 2 Tom a Luk a s Hol 1 Red Hat, Czech Republic al 2 s Vojnar 2 Ond rej Leng Tom a 2 Brno University of Technology, Czech Republic AVM15 WS1S weak monadic second-order


slide-1
SLIDE 1

Nested Antichains for WS1S

Tom´ aˇ s Fiedor1,2 Luk´ aˇ s Hol´ ık2

1Red Hat, Czech Republic

Ondˇ rej Leng´ al2 Tom´ aˇ s Vojnar2

2Brno University of Technology, Czech Republic

AVM’15

slide-2
SLIDE 2

WS1S

weak monadic second-order logic of one successor

◮ second-order ⇒ quantification over relations; ◮ monadic ⇒ relations are unary (i.e. sets); ◮ weak ⇒ sets are finite; ◮ of one successor ⇒ reasoning about linear structures.

corresponds to finite automata [B¨ uchi’60] decidable

  • T. Fiedor

Nested Antichains for WS1S AVM’15 2 / 17

slide-3
SLIDE 3

WS1S

weak monadic second-order logic of one successor

◮ second-order ⇒ quantification over relations; ◮ monadic ⇒ relations are unary (i.e. sets); ◮ weak ⇒ sets are finite; ◮ of one successor ⇒ reasoning about linear structures.

corresponds to finite automata [B¨ uchi’60] decidable — but NONELEMENTARY

◮ constructive proof via translation to finite automata

  • T. Fiedor

Nested Antichains for WS1S AVM’15 2 / 17

slide-4
SLIDE 4

Application of WS1S

allows one to define rich invariants famous decision procedure: the MONA tool

◮ often efficient (in practice)

used in tools for checking structural invariants

◮ Pointer Assertion Logic Engine (PALE) ◮ STRucture ANd Data (STRAND)

many other applications

◮ program and protocol verifications, linguistics, theorem provers . . .

  • T. Fiedor

Nested Antichains for WS1S AVM’15 3 / 17

slide-5
SLIDE 5

Application of WS1S

allows one to define rich invariants famous decision procedure: the MONA tool

◮ often efficient (in practice)

used in tools for checking structural invariants

◮ Pointer Assertion Logic Engine (PALE) ◮ STRucture ANd Data (STRAND)

many other applications

◮ program and protocol verifications, linguistics, theorem provers . . .

but sometimes the complexity strikes back

◮ unavoidable in general ◮ however, we try to push the usability border further

  • using the recent advancements in non-deterministic automata
  • T. Fiedor

Nested Antichains for WS1S AVM’15 3 / 17

slide-6
SLIDE 6

WS1S

Syntax:

◮ term ψ ::= X ⊆ Y | Sing(X) | X = {0} | X = σ(Y) ◮ formula ϕ ::= ψ | ϕ ∧ ϕ | ϕ ∨ ϕ | ¬ϕ | ∃X.ϕ

Interpretation: over finite subsets of N

◮ models of formulae = assignments of sets to variables

sets can be encoded as binary strings:

◮ {1, 4, 5} →

Index: Membership: Encoding: 012345 xxx 010011

,

0123456 xxxx 0100110

  • r

01234567 xxxxx 01001100

. . .

for each variable we have one track in the alphabet

◮ e.g.

  • is symbol

Example: {X1 → ∅, X2 → {4, 2}} | = ϕ def ⇔ X1:

X2: 1 1

  • ∈ L(Aϕ)
  • T. Fiedor

Nested Antichains for WS1S AVM’15 4 / 17

slide-7
SLIDE 7

Deciding WS1S using deterministic automata

example of base automaton for X = σ(Y)

1 2 X: Y:

  • X:

Y: 1

  • X:

Y: 1

  • X:

Y:

  • Example:

¬(X ⊆ Y) ∧ ∃Z. Sing(Z) ∨ ∃W. W = σ(Z)

  • T. Fiedor

Nested Antichains for WS1S AVM’15 5 / 17

slide-8
SLIDE 8

Deciding WS1S using deterministic automata

example of base automaton for X = σ(Y)

1 2 X: Y:

  • X:

Y: 1

  • X:

Y: 1

  • X:

Y:

  • Example:

¬(X ⊆ Y) ∧ ∃Z. Sing(Z) ∨ ∃W. W = σ(Z)

A1 A2 A3

  • T. Fiedor

Nested Antichains for WS1S AVM’15 5 / 17

slide-9
SLIDE 9

Deciding WS1S using deterministic automata

example of base automaton for X = σ(Y)

1 2 X: Y:

  • X:

Y: 1

  • X:

Y: 1

  • X:

Y:

  • Example:

¬(X ⊆ Y) ∧ ∃Z. Sing(Z) ∨ ∃W. W = σ(Z)

A1 project W A2 A3 A4

  • T. Fiedor

Nested Antichains for WS1S AVM’15 5 / 17

slide-10
SLIDE 10

Deciding WS1S using deterministic automata

example of base automaton for X = σ(Y)

1 2 X: Y:

  • X:

Y: 1

  • X:

Y: 1

  • X:

Y:

  • Example:

¬(X ⊆ Y) ∧ ∃Z. Sing(Z) ∨ ∃W. W = σ(Z)

A1 project W A2 ∪ A4 A2 A3 A4

  • T. Fiedor

Nested Antichains for WS1S AVM’15 5 / 17

slide-11
SLIDE 11

Deciding WS1S using deterministic automata

example of base automaton for X = σ(Y)

1 2 X: Y:

  • X:

Y: 1

  • X:

Y: 1

  • X:

Y:

  • Example:

¬(X ⊆ Y) ∧ ∃Z. Sing(Z) ∨ ∃W. W = σ(Z)

A1 project W A2 ∪ A4 A2 project Z A3 A7 A4

  • T. Fiedor

Nested Antichains for WS1S AVM’15 5 / 17

slide-12
SLIDE 12

Deciding WS1S using deterministic automata

example of base automaton for X = σ(Y)

1 2 X: Y:

  • X:

Y: 1

  • X:

Y: 1

  • X:

Y:

  • Example:

¬(X ⊆ Y) ∧ ∃Z. Sing(Z) ∨ ∃W. W = σ(Z)

A1 project W A2 ∪ A4 A2 project Z A3 complement A6 A7 A4

  • T. Fiedor

Nested Antichains for WS1S AVM’15 5 / 17

slide-13
SLIDE 13

Deciding WS1S using deterministic automata

example of base automaton for X = σ(Y)

1 2 X: Y:

  • X:

Y: 1

  • X:

Y: 1

  • X:

Y:

  • Example:

¬(X ⊆ Y) ∧ ∃Z. Sing(Z) ∨ ∃W. W = σ(Z)

A1 project W A2 ∪ A4 A2 project Z A6 ∩ A7 A3 complement A6 A7 A4

  • T. Fiedor

Nested Antichains for WS1S AVM’15 5 / 17

slide-14
SLIDE 14

How to handle quantification

issue with projection (existential quantification)

◮ after removing of the tracks not all models would be accepted ◮ so we need to adjust the final states 1 2 3 X: Y: 1

  • X:

Y:

  • X:

Y: 1

  • X:

Y:

  • AX=σ(Y)
  • T. Fiedor

Nested Antichains for WS1S AVM’15 6 / 17

slide-15
SLIDE 15

How to handle quantification

issue with projection (existential quantification)

◮ after removing of the tracks not all models would be accepted ◮ so we need to adjust the final states 1 2 3 X: Y: 1

  • X:

Y:

  • X:

Y: 1

  • X:

Y:

  • AX=σ(Y)

1 2 3 X: Y: 1

  • X:

Y:

  • X:

Y: 1

  • X:

Y:

  • → Projection
  • T. Fiedor

Nested Antichains for WS1S AVM’15 6 / 17

slide-16
SLIDE 16

How to handle quantification

issue with projection (existential quantification)

◮ after removing of the tracks not all models would be accepted ◮ so we need to adjust the final states 1 2 3 X: Y: 1

  • X:

Y:

  • X:

Y: 1

  • X:

Y:

  • AX=σ(Y)

1 2 3 X: Y: 1

  • X:

Y:

  • X:

Y: 1

  • X:

Y:

  • → Projection
  • T. Fiedor

Nested Antichains for WS1S AVM’15 6 / 17

slide-17
SLIDE 17

How to handle quantification

issue with projection (existential quantification)

◮ after removing of the tracks not all models would be accepted ◮ so we need to adjust the final states 1 2 3 X: Y: 1

  • X:

Y:

  • X:

Y: 1

  • X:

Y:

  • AX=σ(Y)

1 2 3 X: Y: 1

  • X:

Y:

  • X:

Y: 1

  • X:

Y:

  • → Projection

1 2 3 Y: [1] Y: [0] Y: [0] Y: [0]

→ Adjust states to accept models: 1, 01, 001, . . .

  • T. Fiedor

Nested Antichains for WS1S AVM’15 6 / 17

slide-18
SLIDE 18

How to handle quantification

issue with projection (existential quantification)

◮ after removing of the tracks not all models would be accepted ◮ so we need to adjust the final states 1 2 3 X: Y: 1

  • X:

Y:

  • X:

Y: 1

  • X:

Y:

  • AX=σ(Y)

1 2 3 X: Y: 1

  • X:

Y:

  • X:

Y: 1

  • X:

Y:

  • → Projection

1 2 3 Y: [1] Y: [0] Y: [0] Y: [0]

→ Adjust states to accept models: 1, 01, 001, . . .

  • T. Fiedor

Nested Antichains for WS1S AVM’15 6 / 17

slide-19
SLIDE 19

Deciding WS1S using non-deterministic automata

we consider only formulae in Prenex Normal Form (∃PNF)

◮ we focus on dealing with prefix and alternations of quantifications

based on number of alternations m ϕ = ¬ ∃Xm ¬. . . ¬ ∃X2 ¬ ∃X1 : ϕ0(X)

  • ϕ1

...

  • ϕm

(1)

  • T. Fiedor

Nested Antichains for WS1S AVM’15 7 / 17

slide-20
SLIDE 20

Deciding WS1S using non-deterministic automata

we consider only formulae in Prenex Normal Form (∃PNF)

◮ we focus on dealing with prefix and alternations of quantifications

based on number of alternations m ϕ = ¬ ∃Xm ¬. . . ¬ ∃X2 ¬ ∃X1 : ϕ0(X)

  • ϕ1

...

  • ϕm

(1) → hierarchical family of automata defined as follows:

◮ Aϕ0 = by composition of atomic automata (previously described) ◮ Aϕm = (22···2Q0

m

, ∆m, Im, Fm)

  • T. Fiedor

Nested Antichains for WS1S AVM’15 7 / 17

slide-21
SLIDE 21

The intuition behind the procedure

Key observation for ground formulae

ϕ | = iff Im ∩ Fm = ∅

slide-22
SLIDE 22

The intuition behind the procedure

Key observation for ground formulae

ϕ | = iff Im ∩ Fm = ∅ Why?

◮ eventually the symbols degenerate to empty ones . . . 1 2 3 Y: [1] Y: [0] Y: [0] Y: [0]

A∃X.X=σ(Y)

1 2 3 Y: [1] Y: [0] Y: [0] Y: [0]

→ Projection

  • T. Fiedor

Nested Antichains for WS1S AVM’15 8 / 17

slide-23
SLIDE 23

The intuition behind the procedure

Key observation for ground formulae

ϕ | = iff Im ∩ Fm = ∅ Why?

◮ eventually the symbols degenerate to empty ones . . . 1 2 3 Y: [1] Y: [0] Y: [0] Y: [0]

A∃X.X=σ(Y)

1 2 3 Y: [1] Y: [0] Y: [0] Y: [0]

→ Projection

  • T. Fiedor

Nested Antichains for WS1S AVM’15 8 / 17

slide-24
SLIDE 24

The intuition behind the procedure

Key observation for ground formulae

ϕ | = iff Im ∩ Fm = ∅ Why?

◮ eventually the symbols degenerate to empty ones . . . 1 2 3 Y: [1] Y: [0] Y: [0] Y: [0]

A∃X.X=σ(Y)

1 2 3 Y: [1] Y: [0] Y: [0] Y: [0]

→ Projection

1 2 3 [] [] [] []

A∃Y,X.X=σ(Y)

  • T. Fiedor

Nested Antichains for WS1S AVM’15 8 / 17

slide-25
SLIDE 25

The intuition behind the procedure

Key observation for ground formulae

ϕ | = iff Im ∩ Fm = ∅ Why?

◮ eventually the symbols degenerate to empty ones . . . 1 2 3 Y: [1] Y: [0] Y: [0] Y: [0]

A∃X.X=σ(Y)

1 2 3 Y: [1] Y: [0] Y: [0] Y: [0]

→ Projection

1 2 3 [] [] [] []

A∃Y,X.X=σ(Y)

  • T. Fiedor

Nested Antichains for WS1S AVM’15 8 / 17

slide-26
SLIDE 26

Construction of initial states Im

Constructing the whole automaton for ϕm is unnecessary!

◮ we construct initial/final states only ◮ and test whether they intersect

  • T. Fiedor

Nested Antichains for WS1S AVM’15 9 / 17

slide-27
SLIDE 27

Construction of initial states Im

Constructing the whole automaton for ϕm is unnecessary!

◮ we construct initial/final states only ◮ and test whether they intersect

construction of initial states is straightforward; starting from I0:

  • T. Fiedor

Nested Antichains for WS1S AVM’15 9 / 17

slide-28
SLIDE 28

Construction of initial states Im

Constructing the whole automaton for ϕm is unnecessary!

◮ we construct initial/final states only ◮ and test whether they intersect

construction of initial states is straightforward; starting from I0:

◮ I1 = {I0}

  • T. Fiedor

Nested Antichains for WS1S AVM’15 9 / 17

slide-29
SLIDE 29

Construction of initial states Im

Constructing the whole automaton for ϕm is unnecessary!

◮ we construct initial/final states only ◮ and test whether they intersect

construction of initial states is straightforward; starting from I0:

◮ I1 = {I0} ◮ I2 = {I1} = {{I0}}

  • T. Fiedor

Nested Antichains for WS1S AVM’15 9 / 17

slide-30
SLIDE 30

Construction of initial states Im

Constructing the whole automaton for ϕm is unnecessary!

◮ we construct initial/final states only ◮ and test whether they intersect

construction of initial states is straightforward; starting from I0:

◮ I1 = {I0} ◮ I2 = {I1} = {{I0}}

. . .

◮ Im = {Im−1} = {{. . . {

m

I0} . . .}}

  • based on determinisation procedure
  • T. Fiedor

Nested Antichains for WS1S AVM’15 9 / 17

slide-31
SLIDE 31

Construction of initial states Im

Constructing the whole automaton for ϕm is unnecessary!

◮ we construct initial/final states only ◮ and test whether they intersect

construction of initial states is straightforward; starting from I0:

◮ I1 = {I0} ◮ I2 = {I1} = {{I0}}

. . .

◮ Im = {Im−1} = {{. . . {

m

I0} . . .}}

  • based on determinisation procedure

final states are more tricky

◮ issue with projection (previously described) ◮ multiple levels of determinisation

  • T. Fiedor

Nested Antichains for WS1S AVM’15 9 / 17

slide-32
SLIDE 32

Introduction to the computation of final states

we already have:

◮ formula in ∃PNF: ϕ = ¬ ∃Xm ¬ . . . ¬ ∃X2 ¬ ∃X1 : ϕ0(X) ◮ base automaton for ϕ0

  • T. Fiedor

Nested Antichains for WS1S AVM’15 10 / 17

slide-33
SLIDE 33

Introduction to the computation of final states

we already have:

◮ formula in ∃PNF: ϕ = ¬ ∃Xm ¬ . . . ¬ ∃X2 ¬ ∃X1 : ϕ0(X) ◮ base automaton for ϕ0

  • ur proposed method

◮ is based on generalized backward reachability of final states ◮ works on symbolic representation of states, sets of states, sets of

sets of states . . .

  • for final states → compute their predecessors pre0

(Intuition) states reaching final states become non-final after negation

  • for non-final states → compute their controllable predecessors cpre0

(Intuition) states leading outside of non-final states become final after negation

◮ prunes states on all levels of the hierarchy to achieve minimal

representation

  • T. Fiedor

Nested Antichains for WS1S AVM’15 10 / 17

slide-34
SLIDE 34

Towards symbolic representation

Motivating example: ¬∃X.ϕ

◮ Q = {0, 1, 2, 3} ◮ F = {3} 1 2 3 X: Y: 1

  • X:

Y: 1 1

  • X:

Y: 1

  • T. Fiedor

Nested Antichains for WS1S AVM’15 11 / 17

slide-35
SLIDE 35

Towards symbolic representation

Motivating example: ¬∃X.ϕ

◮ Q = {0, 1, 2, 3} ◮ F = {3} 1 2 3 X: Y: 1

  • X:

Y: 1 1

  • X:

Y: 1

  • After projection:

◮ F ∃ = {2, 3} ◮ N∃ = Q \ F ∃ = {0, 1}

  • T. Fiedor

Nested Antichains for WS1S AVM’15 11 / 17

slide-36
SLIDE 36

Towards symbolic representation

Motivating example: ¬∃X.ϕ

◮ Q = {0, 1, 2, 3} ◮ F = {3} 1 2 3 X: Y: 1

  • X:

Y: 1 1

  • X:

Y: 1

  • After projection:

◮ F ∃ = {2, 3} ◮ N∃ = Q \ F ∃ = {0, 1}

After negation:

◮ F1 = F¬∃ = {{0}, {1}, {0, 1}} ◮ N1 = {{2}, {3}, {2, 0}, {3, 0}, . . . {2, 3, 0}, {2, 3, 1}, . . . {0, 1, 2, 3}}

  • T. Fiedor

Nested Antichains for WS1S AVM’15 11 / 17

slide-37
SLIDE 37

Towards symbolic representation

Motivating example: ¬∃X.ϕ

◮ Q = {0, 1, 2, 3} ◮ F = {3} 1 2 3 X: Y: 1

  • X:

Y: 1 1

  • X:

Y: 1

  • After projection:

◮ F ∃ = {2, 3} ◮ N∃ = Q \ F ∃ = {0, 1}

After negation:

◮ F1 = F¬∃ = {{0}, {1}, {0, 1}} ◮ N1 = {{2}, {3}, {2, 0}, {3, 0}, . . . {2, 3, 0}, {2, 3, 1}, . . . {0, 1, 2, 3}}

  • T. Fiedor

Nested Antichains for WS1S AVM’15 11 / 17

slide-38
SLIDE 38

Towards symbolic representation

Motivating example: ¬∃X.ϕ

◮ Q = {0, 1, 2, 3} ◮ F = {3} 1 2 3 X: Y: 1

  • X:

Y: 1 1

  • X:

Y: 1

  • After projection:

◮ F ∃ = {2, 3} ◮ N∃ = Q \ F ∃ = {0, 1}

After negation:

◮ F1 = F¬∃ = {{0}, {1}, {0, 1}}

= ↓ {{0, 1}}

◮ N1 = {{2}, {3}, {2, 0}, {3, 0}, . . . {2, 3, 0}, {2, 3, 1}, . . . {0, 1, 2, 3}}

= ↑ {{2}, {3}}

  • T. Fiedor

Nested Antichains for WS1S AVM’15 11 / 17

slide-39
SLIDE 39

Towards symbolic representation

Motivating example: ¬∃X.ϕ

◮ Q = {0, 1, 2, 3} ◮ F = {3} 1 2 3 X: Y: 1

  • X:

Y: 1 1

  • X:

Y: 1

  • After projection:

◮ F ∃ = {2, 3} ◮ N∃ = Q \ F ∃ = {0, 1}

After negation:

◮ F1 = F¬∃ = {{0}, {1}, {0, 1}}

= ↓ {{0, 1}}

◮ N1 = {{2}, {3}, {2, 0}, {3, 0}, . . . {2, 3, 0}, {2, 3, 1}, . . . {0, 1, 2, 3}}

= ↑ {{2}, {3}}

so why not work with this symbolic representation only?

  • T. Fiedor

Nested Antichains for WS1S AVM’15 11 / 17

slide-40
SLIDE 40

Computing final states Fm of formula ϕm

Given ϕ = ¬ ∃Xm ¬ . . . ¬ ∃X2 ¬ ∃X1 : ϕ0(X)

  • T. Fiedor

Nested Antichains for WS1S AVM’15 12 / 17

slide-41
SLIDE 41

Computing final states Fm of formula ϕm

Given ϕ = ¬ ∃Xm ¬ . . . ¬ ∃X2 ¬ ∃X1 : ϕ0(X)

1 Extend set of final states after ∃: F ∃ 0 = {µZ.F ∪ pre0(Z)}

  • T. Fiedor

Nested Antichains for WS1S AVM’15 12 / 17

slide-42
SLIDE 42

Computing final states Fm of formula ϕm

Given ϕ = ¬ ∃Xm ¬ . . . ¬ ∃X2 ¬ ∃X1 : ϕ0(X)

1 Extend set of final states after ∃: F ∃ 0 = {µZ.F ∪ pre0(Z)} 2 Negate the final states: N1 =↑ {F ∃ 0 }

  • T. Fiedor

Nested Antichains for WS1S AVM’15 12 / 17

slide-43
SLIDE 43

Computing final states Fm of formula ϕm

Given ϕ = ¬ ∃Xm ¬ . . . ¬ ∃X2 ¬ ∃X1 : ϕ0(X)

1 Extend set of final states after ∃: F ∃ 0 = {µZ.F ∪ pre0(Z)} 2 Negate the final states: N1 =↑ {F ∃ 0 } 3 Reduce set of non-final states after ∃: N∃ 1 = {νZ.N1 ∩ cpre0(Z)}

◮ Notice the duality with step 1.

∩ → ∪ cpre0 → pre0 ν → µ (2)

  • T. Fiedor

Nested Antichains for WS1S AVM’15 12 / 17

slide-44
SLIDE 44

Computing final states Fm of formula ϕm

Given ϕ = ¬ ∃Xm ¬ . . . ¬ ∃X2 ¬ ∃X1 : ϕ0(X)

1 Extend set of final states after ∃: F ∃ 0 = {µZ.F ∪ pre0(Z)} 2 Negate the final states: N1 =↑ {F ∃ 0 } 3 Reduce set of non-final states after ∃: N∃ 1 = {νZ.N1 ∩ cpre0(Z)}

◮ Notice the duality with step 1.

∩ → ∪ cpre0 → pre0 ν → µ (2)

4 Negate the non-final states: F2 =↓ {N∃ 1}

  • T. Fiedor

Nested Antichains for WS1S AVM’15 12 / 17

slide-45
SLIDE 45

Computing final states Fm of formula ϕm

Given ϕ = ¬ ∃Xm ¬ . . . ¬ ∃X2 ¬ ∃X1 : ϕ0(X)

1 Extend set of final states after ∃: F ∃ 0 = {µZ.F ∪ pre0(Z)} 2 Negate the final states: N1 =↑ {F ∃ 0 } 3 Reduce set of non-final states after ∃: N∃ 1 = {νZ.N1 ∩ cpre0(Z)}

◮ Notice the duality with step 1.

∩ → ∪ cpre0 → pre0 ν → µ (2)

4 Negate the non-final states: F2 =↓ {N∃ 1}

. . .

5 and keep alternating between computing final and non-final states

until Fm as follows:

◮ Fi+1 =↓ {νZ.Ni ∩ cpre0(Z)} ◮ Ni+1 =↑ {µZ.Fi ∪ pre0(Z)}

  • T. Fiedor

Nested Antichains for WS1S AVM’15 12 / 17

slide-46
SLIDE 46

Computing predecessors of the state

Can we compute cpre0/pre0 of symbolic states?

  • T. Fiedor

Nested Antichains for WS1S AVM’15 13 / 17

slide-47
SLIDE 47

Computing predecessors of the state

Can we compute cpre0/pre0 of symbolic states? Yes!

  • T. Fiedor

Nested Antichains for WS1S AVM’15 13 / 17

slide-48
SLIDE 48

Computing predecessors of the state

Can we compute cpre0/pre0 of symbolic states? Yes!

  • Lemma. 1

cpre0(↑ {Q}) =↑ {pre0(Q)}

CPRE pre

note that we define the dual lemma for downward closed sets

  • T. Fiedor

Nested Antichains for WS1S AVM’15 13 / 17

slide-49
SLIDE 49

Computing predecessors of the state

Can we compute cpre0/pre0 of symbolic states? Yes!

  • Lemma. 1

cpre0(↑ {Q}) =↑ {pre0(Q)}

CPRE pre

note that we define the dual lemma for downward closed sets

  • T. Fiedor

Nested Antichains for WS1S AVM’15 13 / 17

slide-50
SLIDE 50

Computing predecessors of the state

Can we compute cpre0/pre0 of symbolic states? Yes!

  • Lemma. 1

cpre0(↑ {Q}) =↑ {pre0(Q)}

CPRE

note that we define the dual lemma for downward closed sets

  • T. Fiedor

Nested Antichains for WS1S AVM’15 13 / 17

slide-51
SLIDE 51

Computing predecessors of the state

Can we compute cpre0/pre0 of symbolic states? Yes!

  • Lemma. 1

cpre0(↑ {Q}) =↑ {pre0(Q)}

CPRE

breaks the predecessors into new generators that cover the Q note that we define the dual lemma for downward closed sets

  • T. Fiedor

Nested Antichains for WS1S AVM’15 13 / 17

slide-52
SLIDE 52

Computing predecessors of the state

Can we compute cpre0/pre0 of symbolic states? Yes!

  • Lemma. 1

cpre0(↑ {Q}) =↑ {pre0(Q)}

CPRE

breaks the predecessors into new generators that cover the Q note that we define the dual lemma for downward closed sets

  • T. Fiedor

Nested Antichains for WS1S AVM’15 13 / 17

slide-53
SLIDE 53

Computing predecessors of the state

Can we compute cpre0/pre0 of symbolic states? Yes!

  • Lemma. 1

cpre0(↑ {Q}) =↑ {pre0(Q)} U

CPRE

breaks the predecessors into new generators that cover the Q note that we define the dual lemma for downward closed sets

  • T. Fiedor

Nested Antichains for WS1S AVM’15 13 / 17

slide-54
SLIDE 54

Computing predecessors of the state

Can we compute cpre0/pre0 of symbolic states? Yes!

  • Lemma. 1

cpre0(↑ {Q}) =↑ {pre0(Q)} U U U

CPRE

breaks the predecessors into new generators that cover the Q note that we define the dual lemma for downward closed sets

  • T. Fiedor

Nested Antichains for WS1S AVM’15 13 / 17

slide-55
SLIDE 55

How to achieve state space reduction

We showed the nested structure of Fm is very complex,

  • T. Fiedor

Nested Antichains for WS1S AVM’15 14 / 17

slide-56
SLIDE 56

How to achieve state space reduction

We showed the nested structure of Fm is very complex,

◮ but we only work with the symbolic representation of the generators

(with antichains)

◮ . . . and the generators of the generators and . . . ◮ this itself is the first source of space reduction

  • T. Fiedor

Nested Antichains for WS1S AVM’15 14 / 17

slide-57
SLIDE 57

How to achieve state space reduction

We showed the nested structure of Fm is very complex,

◮ but we only work with the symbolic representation of the generators

(with antichains)

◮ . . . and the generators of the generators and . . . ◮ this itself is the first source of space reduction

further we prune the generators subsumed by other generators

◮ the subsumption relation is computed on nested structure of

symbolic representation of lower levels

  • T. Fiedor

Nested Antichains for WS1S AVM’15 14 / 17

slide-58
SLIDE 58

Experimental results

implemented in dWiNA compared with MONA:

◮ on generated and real formulae ◮ in generic and ∃PNF form

MONA dWiNA Time [s] Space [states] Time [s] Space [states] real normal ∃PNF normal ∃PNF Prefix Prefix list-reverse-after-loop 0.01 0.01 179 1 326 0.01 100 list-reverse-in-loop 0.02 0.47 1 311 70 278 0.02 260 bubblesort-else 0.01 0.45 1 285 12 071 0.01 14 bubblesort-if-else 0.02 2.17 4 260 116 760 0.23 234 bubblesort-if-if 0.12 5.29 8 390 233 372 1.14 28 generated 3 alternations

  • 0.57
  • 60 924

0.01 50 4 alternations

  • 1.79
  • 145 765

0.02 58 5 alternations

  • 4.98
  • 349 314

0.02 70 6 alternations

  • TO
  • TO

0.47 90

  • T. Fiedor

Nested Antichains for WS1S AVM’15 15 / 17

slide-59
SLIDE 59

Conclusion and Future Work

Future work

◮ extension to WS2S

  • opens whole new world of tree structures

◮ generalization of symbolic tree representation

  • to process logical connectives
  • to handle general (non-∃PNF) formulae

Conclusion

◮ WS1S = Great expressivity, yet decidable! ◮ Novel approach based on antichains ◮ Encouraging results in terms of space reduction

  • T. Fiedor

Nested Antichains for WS1S AVM’15 16 / 17

slide-60
SLIDE 60

Thank you for your attention! Any questions?

  • T. Fiedor

Nested Antichains for WS1S AVM’15 17 / 17