On the Upward/Downward Closures of Petri Nets Mohammed Faouzi Atig 1 - - PowerPoint PPT Presentation

on the upward downward closures of petri nets
SMART_READER_LITE
LIVE PREVIEW

On the Upward/Downward Closures of Petri Nets Mohammed Faouzi Atig 1 - - PowerPoint PPT Presentation

Prakash Saivasan 2 August 25, MFCS 2017, Aalborg 1 Uppsala University, Sweden mohamed_faouzi.atig@it.uu.se 2 TU Braunschweig, Germany {roland.meyer, s.muskalla, p.saivasan}@tu-bs.de On the Upward/Downward Closures of Petri Nets Mohammed


slide-1
SLIDE 1

On the Upward/Downward Closures of Petri Nets

Mohammed Faouzi Atig1, Roland Meyer2, Sebastian Muskalla2 and Prakash Saivasan2 August 25, MFCS 2017, Aalborg

1 Uppsala University, Sweden mohamed_faouzi.atig@it.uu.se 2 TU Braunschweig, Germany {roland.meyer, s.muskalla, p.saivasan}@tu-bs.de

slide-2
SLIDE 2

Goal

Goal Study the upward and downward closures of Petri net coverability languages

1

slide-3
SLIDE 3

Goal

Goal Study the upward and downward closures of Petri net coverability languages Why? Petri nets are an important model for concurrent systems Upward and downward closures are useful approximations for verification purposes

1

slide-4
SLIDE 4

Goal

Goal Study the upward and downward closures of Petri net coverability languages Upward/Downward closures in general Good: Always simply regular Bad: Representations might be not be effectively computable

  • r very large

1

slide-5
SLIDE 5

Goal

Goal Study the upward and downward closures of Petri net coverability languages Upward/Downward closures in general Good: Always simply regular Bad: Representations might be not be effectively computable

  • r very large

1

slide-6
SLIDE 6

Goal

Goal Study the upward and downward closures of Petri net coverability languages Upward/Downward closures in general Good: Always simply regular Bad: Representations might be not be effectively computable

  • r very large

1

slide-7
SLIDE 7

Goal

Goal Study the upward and downward closures of Petri net coverability languages Here: Closures effectively regular Want to construct finite state automata (FSA) as representations Time needed for the construction? Size of the minimal FSAs?

1

slide-8
SLIDE 8

Goal

Goal Study the upward and downward closures of Petri net coverability languages Here: Closures effectively regular Want to construct finite state automata (FSA) as representations ↰ Time needed for the construction? ↰ Size of the minimal FSAs?

1

slide-9
SLIDE 9

Petri Net Coverability Languages and their Closures

slide-10
SLIDE 10

(Labeled) Petri Nets

p0 t0

ε

p1 t1

ε

p2 t2

ε

p3 tf

a

pf 2 2 2

N = ( a { p0, p1, p2, p3, pf }

  • places P

, { t0, t1, t2, tf }

  • transitions T

, F )

2

slide-11
SLIDE 11

(Labeled) Petri Nets

p0 t0

ε

p1 t1

ε

p2 t2

ε

p3 tf

a

pf 2 2 2

N = ( a { p0, p1, p2, p3, pf }

  • places P

, { t0, t1, t2, tf }

  • transitions T

, F )         1         = M0

2

slide-12
SLIDE 12

(Labeled) Petri Nets

p0 t0

ε

p1 t1

ε

p2 t2

ε

p3 tf

a

pf 2 2 2

N = ( a { p0, p1, p2, p3, pf }

  • places P

, { t0, t1, t2, tf }

  • transitions T

, F )         1         = M0 [t0⟩

2

slide-13
SLIDE 13

(Labeled) Petri Nets

p0 t0

ε

p1 t1

ε

p2 t2

ε

p3 tf

a

pf 2 2 2

N = ( a { p0, p1, p2, p3, pf }

  • places P

, { t0, t1, t2, tf }

  • transitions T

, F )         1         = M0 [t0⟩         23         = Mf

2

slide-14
SLIDE 14

(Labeled) Petri Nets

p0 t0

ε

p1 t1

ε

p2 t2

ε

p3 tf

a

pf 2 2 2

N = ( a { p0, p1, p2, p3, pf }

  • places P

, { t0, t1, t2, tf }

  • transitions T

, F )         1         = M0 [t0t1t1⟩         23         = Mf

2

slide-15
SLIDE 15

(Labeled) Petri Nets

p0 t0

ε

p1 t1

ε

p2 t2

ε

p3 tf

a

pf 2 2 2

N = ( a { p0, p1, p2, p3, pf }

  • places P

, { t0, t1, t2, tf }

  • transitions T

, F )         1         = M0 [t0t1t1t2t2t2t2⟩         23         = Mf

2

slide-16
SLIDE 16

(Labeled) Petri Nets

p0 t0

ε

p1 t1

ε

p2 t2

ε

p3 tf

a

pf 2 2 2

N = ( a { p0, p1, p2, p3, pf }

  • places P

, { t0, t1, t2, tf }

  • transitions T

, F )         1         = M0 [t0t1t1t2t2t2t2tftftftftftftftf⟩         23         = Mf

2

slide-17
SLIDE 17

(Labeled) Petri Nets

p0 t0

ε

p1 t1

ε

p2 t2

ε

p3 tf

a

pf 2 2 2

N = ( a { p0, p1, p2, p3, pf }

  • places P

, { t0, t1, t2, tf }

  • transitions T

, F )         1         = M0 [t0t1t1t2t2t2t2tftftftftftftftf⟩         23         = Mf         8         ⩾

2

slide-18
SLIDE 18

(Labeled) Petri Nets

p0 t0

ε

p1 t1

ε

p2 t2

ε

p3 tf

a

pf 2 2 2

N = ( {a}, { p0, p1, p2, p3, pf }

  • places P

, { t0, t1, t2, tf }

  • transitions T

, F, λ )         1         = M0 [t0t1t1t2t2t2t2tftftftftftftftf⟩         23         = Mf         8         ⩾

2

slide-19
SLIDE 19

(Labeled) Petri Nets

p0 t0

ε

p1 t1

ε

p2 t2

ε

p3 tf

a

pf 2 2 2

N = ( {a}, { p0, p1, p2, p3, pf }

  • places P

, { t0, t1, t2, tf }

  • transitions T

, F, λ )         1         = M0 [t0t1t1t2t2t2t2tftftftftftftftf⟩         23         = Mf         8         ⩾

λ εεεεεεεaaaaaaaa = a8

2

slide-20
SLIDE 20

Coverability Language

(N, M0, Mf) Petri net with initial and final marking Coverability language L ( N, M0, Mf ) = { λ(σ)

  • M0[σ⟩M, M ⩾ Mf

}

3

slide-21
SLIDE 21

Coverability Language

(N, M0, Mf) Petri net with initial and final marking Coverability language L ( N, M0, Mf ) = { λ(σ)

  • M0[σ⟩M, M ⩾ Mf

} In the example: L ( N, M0, Mf ) = { a8}

3

slide-22
SLIDE 22

Upward and Downward Closure

Subword relation v⪯ w iff v obtained from w by deleting letters iff w obtained from v by inserting letters

4

slide-23
SLIDE 23

Upward and Downward Closure

Subword relation v⪯ w iff v obtained from w by deleting letters iff w obtained from v by inserting letters Upward closure L↑ = {w | ∃v ∈ L: v⪯ w}

4

slide-24
SLIDE 24

Upward and Downward Closure

Subword relation v⪯ w iff v obtained from w by deleting letters iff w obtained from v by inserting letters Upward closure L↑ = {w | ∃v ∈ L: v⪯ w} Downward closure L↓ = {w | ∃v ∈ L: w⪯ v}

4

slide-25
SLIDE 25

Upward and Downward Closure

Subword relation v⪯ w iff v obtained from w by deleting letters iff w obtained from v by inserting letters Upward closure L↑ = {w | ∃v ∈ L: v⪯ w} Downward closure L↓ = {w | ∃v ∈ L: w⪯ v} In the example: L ( N, M0, Mf ) ↑ = { ak k ⩾ 8 } L ( N, M0, Mf ) ↓ = { ak k ⩽ 8 }

4

slide-26
SLIDE 26

Computing the Upward Closure

slide-27
SLIDE 27

Computing the Upward Closure

Computing the Upward Closure Given: Petri net (N, M0, Mf). Compute: FSA A with L(A) = L ( N, M0, Mf ) ↑.

5

slide-28
SLIDE 28

Computing the Upward Closure

Computing the Upward Closure Given: Petri net (N, M0, Mf). Compute: FSA A with L(A) = L ( N, M0, Mf ) ↑. Theorem Upper bound: One can compute an FSA of doubly exponential size representing the upward closure in doubly exponential time. Lower bound: This is optimal.

5

slide-29
SLIDE 29

Computing the Upward Closure - Upper Bound

Lemma (Upper Bound) One can compute an FSA of doubly exponential size for the upward closure in doubly exponential time.

6

slide-30
SLIDE 30

Computing the Upward Closure - Upper Bound

Lemma (Upper Bound) One can compute an FSA of doubly exponential size for the upward closure in doubly exponential time. Theorem (Rackoff 1978) Petri net coverability can be solved using exponential space (and doubly exponential time).

6

slide-31
SLIDE 31

Computing the Upward Closure - Upper Bound

Theorem (Rackoff 1978) Petri net coverability can be solved using exponential space (and doubly exponential time).

7

slide-32
SLIDE 32

Computing the Upward Closure - Upper Bound

Theorem (Rackoff 1978) Petri net coverability can be solved using exponential space (and doubly exponential time). Assume places are ordered, P = [1..ℓ].

7

slide-33
SLIDE 33

Computing the Upward Closure - Upper Bound

Theorem (Rackoff 1978) Petri net coverability can be solved using exponential space (and doubly exponential time). Assume places are ordered, P = [1..ℓ]. Consider i-bounded computations: Allow negative values on the places [i + 1..ℓ]

7

slide-34
SLIDE 34

Computing the Upward Closure - Upper Bound

Theorem (Rackoff 1978) Petri net coverability can be solved using exponential space (and doubly exponential time). Assume places are ordered, P = [1..ℓ]. Consider i-bounded computations: Allow negative values on the places [i + 1..ℓ] Define f(i) upper bound on the length of an i-bounded, i-covering computation from an arbitrary initial marking

7

slide-35
SLIDE 35

Computing the Upward Closure - Upper Bound

Theorem (Rackoff 1978) Petri net coverability can be solved using exponential space (and doubly exponential time). Assume places are ordered, P = [1..ℓ]. Consider i-bounded computations: Allow negative values on the places [i + 1..ℓ] Define f(i) upper bound on the length of an i-bounded, i-covering computation from an arbitrary initial marking Prove f(ℓ) ⩽ 22O(n·log n)

7

slide-36
SLIDE 36

Computing the Upward Closure - Upper Bound

Theorem (Rackoff 1978) Petri net coverability can be solved using exponential space (and doubly exponential time). Assume places are ordered, P = [1..ℓ]. Consider i-bounded computations: Allow negative values on the places [i + 1..ℓ] Define f(i) upper bound on the length of an i-bounded, i-covering computation from an arbitrary initial marking Prove f(ℓ) ⩽ 22O(n·log n) Show f(i + 1) ⩽ (2nf(i))i+1 + f(i)

7

slide-37
SLIDE 37

Computing the Upward Closure - Upper Bound

f(i + 1) ⩽ (2nf(i))i+1 + f(i) Take an arbitrary (i + 1)-bounded, (i + 1)-covering computation

8

slide-38
SLIDE 38

Computing the Upward Closure - Upper Bound

f(i + 1) ⩽ (2nf(i))i+1 + f(i) Take an arbitrary (i + 1)-bounded, (i + 1)-covering computation 1st case: Values on all places [1..i + 1] bounded by 2n · f(i): Identify repetitions Delete loops Obtain new computation of length at most 2nf i

i 1

2nf(i)

8

slide-39
SLIDE 39

Computing the Upward Closure - Upper Bound

f(i + 1) ⩽ (2nf(i))i+1 + f(i) Take an arbitrary (i + 1)-bounded, (i + 1)-covering computation 1st case: Values on all places [1..i + 1] bounded by 2n · f(i): Identify repetitions Delete loops Obtain new computation of length at most 2nf i

i 1

2nf(i)

8

slide-40
SLIDE 40

Computing the Upward Closure - Upper Bound

f(i + 1) ⩽ (2nf(i))i+1 + f(i) Take an arbitrary (i + 1)-bounded, (i + 1)-covering computation 1st case: Values on all places [1..i + 1] bounded by 2n · f(i): Identify repetitions Delete loops Obtain new computation of length at most 2nf i

i 1

2nf(i)

8

slide-41
SLIDE 41

Computing the Upward Closure - Upper Bound

f(i + 1) ⩽ (2nf(i))i+1 + f(i) Take an arbitrary (i + 1)-bounded, (i + 1)-covering computation 1st case: Values on all places [1..i + 1] bounded by 2n · f(i): Identify repetitions Delete loops ↰ Obtain new computation of length at most (2nf(i))i+1 2nf(i) ⩽ (2nf(i))i+1

8

slide-42
SLIDE 42

Computing the Upward Closure - Upper Bound

2nd case: Some place, say i + 1, exceeds 2n · f(i): Treat first part as in 1st case Replace second part by i-covering, i-bounded computation of length f i 2nf(i)

9

slide-43
SLIDE 43

Computing the Upward Closure - Upper Bound

2nd case: Some place, say i + 1, exceeds 2n · f(i): Treat first part as in 1st case Replace second part by i-covering, i-bounded computation of length f i 2nf(i) ⩽ (2nf(i))i+1

9

slide-44
SLIDE 44

Computing the Upward Closure - Upper Bound

2nd case: Some place, say i + 1, exceeds 2n · f(i): Treat first part as in 1st case Replace second part by i-covering, i-bounded computation of length ⩽ f(i) 2nf(i) ⩽ (2nf(i))i+1

9

slide-45
SLIDE 45

Computing the Upward Closure - Upper Bound

2nd case: Some place, say i + 1, exceeds 2n · f(i): Treat first part as in 1st case Replace second part by i-covering, i-bounded computation of length ⩽ f(i) 2nf(i) ⩽ (2nf(i))i+1 ⩽ f(i)

9

slide-46
SLIDE 46

Computing the Upward Closure - Upper Bound

What do we need to change? Definition of f i : upper bound on the length of a i-bounded, i-covering computations from an arbitrary initial marking that generate all minimal words 1st case: Deleting loops creates a subword 2nd case: Replacing second part of the computation handle with care

10

slide-47
SLIDE 47

Computing the Upward Closure - Upper Bound

What do we need to change? Definition of f(i): upper bound on the length of a i-bounded, i-covering computations from an arbitrary initial marking that generate all minimal words 1st case: Deleting loops creates a subword 2nd case: Replacing second part of the computation handle with care

10

slide-48
SLIDE 48

Computing the Upward Closure - Upper Bound

What do we need to change? Definition of f(i): upper bound on the length of a i-bounded, i-covering computations from an arbitrary initial marking that generate all minimal words 1st case: Deleting loops creates a subword ✓ 2nd case: Replacing second part of the computation handle with care

10

slide-49
SLIDE 49

Computing the Upward Closure - Upper Bound

What do we need to change? Definition of f(i): upper bound on the length of a i-bounded, i-covering computations from an arbitrary initial marking that generate all minimal words 1st case: Deleting loops creates a subword ✓ 2nd case: Replacing second part of the computation ✗ handle with care

10

slide-50
SLIDE 50

Computing the Upward Closure - Upper Bound

What do we need to change? Definition of f(i): upper bound on the length of a i-bounded, i-covering computations from an arbitrary initial marking that generate all minimal words 1st case: Deleting loops creates a subword ✓ 2nd case: Replacing second part of the computation ✗ ↰ handle with care

10

slide-51
SLIDE 51

Computing the Upward Closure - Upper Bound

Finally: The minimal words of L ( N, M0, Mf ) ↑ have a computation of length ⩽ f(ℓ) ⩽ 22O(n·log n).

11

slide-52
SLIDE 52

Computing the Upward Closure - Upper Bound

Finally: The minimal words of L ( N, M0, Mf ) ↑ have a computation of length ⩽ f(ℓ) ⩽ 22O(n·log n). FSA can simulate the net for f(ℓ) steps to accept them (and their upward-closure)

11

slide-53
SLIDE 53

Computing the Upward Closure - Lower Bound

Lemma (Lower Bound) There is a family of Petri nets such that the upward closure cannot be represented by an FSA of less than doubly exponential size.

12

slide-54
SLIDE 54

Computing the Upward Closure - Lower Bound

Lemma (Lower Bound) There is a family of Petri nets such that the upward closure cannot be represented by an FSA of less than doubly exponential size. Theorem (Lipton 1976) Petri net reachability is EXPSPACE-hard.

12

slide-55
SLIDE 55

Computing the Upward Closure - Lower Bound

Theorem (Lipton 1976) Petri net reachability is EXPSPACE-hard.

13

slide-56
SLIDE 56

Computing the Upward Closure - Lower Bound

Theorem (Lipton 1976) Petri net reachability is EXPSPACE-hard. In the proof, a Petri net of size polynomial in n simulates a counter machine with counter values bounded by 22n (including zero tests!)

13

slide-57
SLIDE 57

Computing the Upward Closure - Lower Bound

Theorem (Lipton 1976) Petri net reachability is EXPSPACE-hard. In the proof, a Petri net of size polynomial in n simulates a counter machine with counter values bounded by 22n (including zero tests!) Using this idea, we construct for each n ∈ N a Petri net with L ( N(n), M0, Mf ) = { a22n} .

13

slide-58
SLIDE 58

Computing the Upward Closure - Lower Bound

Theorem (Lipton 1976) Petri net reachability is EXPSPACE-hard. In the proof, a Petri net of size polynomial in n simulates a counter machine with counter values bounded by 22n (including zero tests!) Using this idea, we construct for each n ∈ N a Petri net with L ( N(n), M0, Mf ) = { a22n} . We obtain L ( N(n), M0, Mf ) ↑ = { ak

  • k ⩾ 22n}

.

13

slide-59
SLIDE 59

Computing the Downward Closure

slide-60
SLIDE 60

Computing the Downward Closure

Computing the Downward Closure Given: Petri net (N, M0, Mf). Compute: FSA A with L(A) = L ( N, M0, Mf ) ↓.

14

slide-61
SLIDE 61

Computing the Downward Closure

Computing the Downward Closure Given: Petri net (N, M0, Mf). Compute: FSA A with L(A) = L ( N, M0, Mf ) ↓. Theorem Upper bound: One can compute an FSA of non-primitive recursive size representing the downward closure (in non-primitive recursive time). Lower bound: This is optimal.

14

slide-62
SLIDE 62

Computing the Downward Closure - Upper Bound

Lemma (Upper Bound) One can compute an FSA of non-primitive recursive size representing the downward closure.

15

slide-63
SLIDE 63

Computing the Downward Closure - Upper Bound

Lemma (Upper Bound) One can compute an FSA of non-primitive recursive size representing the downward closure. Proof Sketch. The Karp-Miller tree (coverability graph) of the Petri net can be seen as finite automaton KMT Its language is a subset of the downward closure, N M0 Mf KMT N M0 Mf KMT N M0 Mf Its size might be non-primitive recursive

15

slide-64
SLIDE 64

Computing the Downward Closure - Upper Bound

Lemma (Upper Bound) One can compute an FSA of non-primitive recursive size representing the downward closure. Proof Sketch. The Karp-Miller tree (coverability graph) of the Petri net can be seen as finite automaton KMT Its language is a subset of the downward closure, N M0 Mf KMT N M0 Mf KMT N M0 Mf Its size might be non-primitive recursive

15

slide-65
SLIDE 65

Computing the Downward Closure - Upper Bound

Lemma (Upper Bound) One can compute an FSA of non-primitive recursive size representing the downward closure. Proof Sketch. The Karp-Miller tree (coverability graph) of the Petri net can be seen as finite automaton KMT Its language is a subset of the downward closure, L ( N, M0, Mf ) ⊆ L(KMT) ⊆ L ( N, M0, Mf ) ↓ KMT N M0 Mf Its size might be non-primitive recursive

15

slide-66
SLIDE 66

Computing the Downward Closure - Upper Bound

Lemma (Upper Bound) One can compute an FSA of non-primitive recursive size representing the downward closure. Proof Sketch. The Karp-Miller tree (coverability graph) of the Petri net can be seen as finite automaton KMT Its language is a subset of the downward closure, L ( N, M0, Mf ) ⊆ L(KMT) ⊆ L ( N, M0, Mf ) ↓ L(KMT)↓= L ( N, M0, Mf ) ↓ Its size might be non-primitive recursive

15

slide-67
SLIDE 67

Computing the Downward Closure - Upper Bound

Lemma (Upper Bound) One can compute an FSA of non-primitive recursive size representing the downward closure. Proof Sketch. The Karp-Miller tree (coverability graph) of the Petri net can be seen as finite automaton KMT Its language is a subset of the downward closure, L ( N, M0, Mf ) ⊆ L(KMT) ⊆ L ( N, M0, Mf ) ↓ L(KMT)↓= L ( N, M0, Mf ) ↓ Its size might be non-primitive recursive

15

slide-68
SLIDE 68

Computing the Downward Closure - Lower Bound

Lemma (Lower Bound) There is a family of Petri nets such that the downward closure cannot be represented by an FSA of primitive recursive size.

16

slide-69
SLIDE 69

Computing the Downward Closure - Lower Bound

Lemma (Lower Bound) There is a family of Petri nets such that the downward closure cannot be represented by an FSA of primitive recursive size. Inductive construction from [Mayr, Meyer 1981], adapted to labeled Petri nets: ∀n, x ∈ N ∃ ( N(n), M(x)

0 , Mf

) polynomial in (n + x) such that L ( N(n), M(x)

0 , Mf

) = { ak

  • k ⩽ Acker(n, x)

} = L ( N(n), M(x)

0 , Mf

) ↓

16

slide-70
SLIDE 70

Computing the Downward Closure - Lower Bound

Lemma (Lower Bound) There is a family of Petri nets such that the downward closure cannot be represented by an FSA of primitive recursive size. Inductive construction from [Mayr, Meyer 1981], adapted to labeled Petri nets: ∀n, x ∈ N ∃ ( N(n), M(x)

0 , Mf

) polynomial in (n + x) such that L ( N(n), M(x)

0 , Mf

) = { ak

  • k ⩽ Acker(n, x)

} = L ( N(n), M(x)

0 , Mf

) ↓

in0 tcp0

  • ut0

strt0 tstrt0 cp0 tstp0 stp0

inn+1 strtn+1 ANn inn strtn

  • utn

stpn tstrtn+1 tswpn+1 swpn+1 trestartn+1 tinn+1 tcpn+1 ttmpn+1 tmpn+1 tstpn+1 stpn+1

  • utn+1

16

slide-71
SLIDE 71

SRE in Downward Closure

slide-72
SLIDE 72

Simple Regular Expression

Simple regular expression sre ::= p sre + sre p ::= a (a + ε) Γ∗ p.p where Γ ⊆ Σ Known: Downward and upward closures can be described by SREs

17

slide-73
SLIDE 73

SRE in Downward Closure

SRE in Downward Closure Given: SRE sre, Petri net (N, M0, Mf). Decide: L(sre) ⊆ L ( N, M0, Mf ) ↓ ?

18

slide-74
SLIDE 74

SRE in Downward Closure

SRE in Downward Closure Given: SRE sre, Petri net (N, M0, Mf). Decide: L(sre) ⊆ L ( N, M0, Mf ) ↓ ? Theorem SRE in Downward Closure is EXPSPACE-complete.

18

slide-75
SLIDE 75

SRE in Downward Closure - Upper Bound

Lemma (Upper Bound) SRE in Downward Closure can be solved in EXPSPACE.

19

slide-76
SLIDE 76

SRE in Downward Closure - Upper Bound

Lemma (Upper Bound) SRE in Downward Closure can be solved in EXPSPACE. SRE is a choice among products sre ::= p sre + sre Show inclusion for each product separately p a a p p Problem: Need to enforce that for each word in , a covering computation exists

19

slide-77
SLIDE 77

SRE in Downward Closure - Upper Bound

Lemma (Upper Bound) SRE in Downward Closure can be solved in EXPSPACE. SRE is a choice among products sre ::= p sre + sre Show inclusion for each product separately p ::= a (a + ε) Γ∗ p.p Problem: Need to enforce that for each word in , a covering computation exists

19

slide-78
SLIDE 78

SRE in Downward Closure - Upper Bound

Lemma (Upper Bound) SRE in Downward Closure can be solved in EXPSPACE. SRE is a choice among products sre ::= p sre + sre Show inclusion for each product separately p ::= a (a + ε) Γ∗ p.p Problem: Need to enforce that for each word in Γ∗, a covering computation exists

19

slide-79
SLIDE 79

SRE in Downward Closure - Upper Bound

[Zetzsche 2015]: Downward closures computable iff a certain unboundedness problem decidable

20

slide-80
SLIDE 80

SRE in Downward Closure - Upper Bound

[Zetzsche 2015]: Downward closures computable iff a certain unboundedness problem decidable Theorem (Demri 2013) The Simultaneous Unboundedness Problem for Petri Nets is EXPSPACE-complete.

20

slide-81
SLIDE 81

SRE in Downward Closure - Upper Bound

[Zetzsche 2015]: Downward closures computable iff a certain unboundedness problem decidable Theorem (Demri 2013) The Simultaneous Unboundedness Problem for Petri Nets is EXPSPACE-complete. Simultaneous Unboundedness Problem for Petri Nets Given: Petri net N, marking M0, set of places X ⊆ P Decide: ∀n ∈ N ∃M0[σ⟩M with M(p) ⩾ n ∀p ∈ X?

20

slide-82
SLIDE 82

SRE in Downward Closure - Upper Bound

Lemma (Upper Bound) SRE in Downward Closure can be solved in EXPSPACE. Handle each product p separately For each expression in p, add a place that tracks

  • ccurrence of all symbols in

(also track the rest of p) Check whether the places for the are simultaneously unbounded

21

slide-83
SLIDE 83

SRE in Downward Closure - Upper Bound

Lemma (Upper Bound) SRE in Downward Closure can be solved in EXPSPACE. Handle each product p separately For each expression Γ∗ in p, add a place that tracks

  • ccurrence of all symbols in Γ

(also track the rest of p) Check whether the places for the are simultaneously unbounded

21

slide-84
SLIDE 84

SRE in Downward Closure - Upper Bound

Lemma (Upper Bound) SRE in Downward Closure can be solved in EXPSPACE. Handle each product p separately For each expression Γ∗ in p, add a place that tracks

  • ccurrence of all symbols in Γ

(also track the rest of p) Check whether the places for the Γ∗ are simultaneously unbounded

21

slide-85
SLIDE 85

SRE in Downward Closure - Lower Bound

Lemma (Lower Bound) SRE in Downward Closure is EXPSPACE-hard.

22

slide-86
SLIDE 86

SRE in Downward Closure - Lower Bound

Lemma (Lower Bound) SRE in Downward Closure is EXPSPACE-hard. Proof. Coverability for (unlabeled) Petri nets is EXPSPACE-hard Label all transitions by Note: N M0 Mf iff Mf coverable, else N M0 Mf iff Mf coverable

22

slide-87
SLIDE 87

SRE in Downward Closure - Lower Bound

Lemma (Lower Bound) SRE in Downward Closure is EXPSPACE-hard. Proof. Coverability for (unlabeled) Petri nets is EXPSPACE-hard Label all transitions by Note: N M0 Mf iff Mf coverable, else N M0 Mf iff Mf coverable

22

slide-88
SLIDE 88

SRE in Downward Closure - Lower Bound

Lemma (Lower Bound) SRE in Downward Closure is EXPSPACE-hard. Proof. Coverability for (unlabeled) Petri nets is EXPSPACE-hard Label all transitions by ε Note: N M0 Mf iff Mf coverable, else N M0 Mf iff Mf coverable

22

slide-89
SLIDE 89

SRE in Downward Closure - Lower Bound

Lemma (Lower Bound) SRE in Downward Closure is EXPSPACE-hard. Proof. Coverability for (unlabeled) Petri nets is EXPSPACE-hard Label all transitions by ε Note: L ( N, M0, Mf ) = {ε} iff Mf coverable, ∅ else N M0 Mf iff Mf coverable

22

slide-90
SLIDE 90

SRE in Downward Closure - Lower Bound

Lemma (Lower Bound) SRE in Downward Closure is EXPSPACE-hard. Proof. Coverability for (unlabeled) Petri nets is EXPSPACE-hard Label all transitions by ε Note: L ( N, M0, Mf ) = {ε} iff Mf coverable, ∅ else L(∅∗) = {ε} ⊆ L ( N, M0, Mf ) ↓ iff Mf coverable

22

slide-91
SLIDE 91

SRE in Upward Closure

slide-92
SLIDE 92

SRE in Upward Closure

SRE in Upward Closure Given: SRE sre, Petri net (N, M0, Mf). Decide: L(sre) ⊆ L ( N, M0, Mf ) ↑ ?

23

slide-93
SLIDE 93

SRE in Upward Closure

SRE in Upward Closure Given: SRE sre, Petri net (N, M0, Mf). Decide: L(sre) ⊆ L ( N, M0, Mf ) ↑ ? Theorem SRE in Upward Closure is EXPSPACE-complete.

23

slide-94
SLIDE 94

SRE in Upward Closure

SRE in Upward Closure Given: SRE sre, Petri net (N, M0, Mf). Decide: L(sre) ⊆ L ( N, M0, Mf ) ↑ ? Theorem SRE in Upward Closure is EXPSPACE-complete. Note: Lower bound (EXPSPACE-hardness) as for SRE in Downward Closure

23

slide-95
SLIDE 95

SRE in Upward Closure - Upper Bound

Lemma (Upper Bound) SRE in Upward Closure can be solved in EXPSPACE.

24

slide-96
SLIDE 96

SRE in Upward Closure - Upper Bound

Lemma (Upper Bound) SRE in Upward Closure can be solved in EXPSPACE. SRE sre is a choice among products p Check inclusion p N M0 Mf for each product For each product, compute its minimal word: min a a min p p min p min p min a min Check this using a coverability query in a modified net

24

slide-97
SLIDE 97

SRE in Upward Closure - Upper Bound

Lemma (Upper Bound) SRE in Upward Closure can be solved in EXPSPACE. SRE sre is a choice among products p Check inclusion L(p) ⊆ L ( N, M0, Mf ) ↑ for each product For each product, compute its minimal word: min a a min p p min p min p min a min Check this using a coverability query in a modified net

24

slide-98
SLIDE 98

SRE in Upward Closure - Upper Bound

Lemma (Upper Bound) SRE in Upward Closure can be solved in EXPSPACE. SRE sre is a choice among products p Check inclusion L(p) ⊆ L ( N, M0, Mf ) ↑ for each product For each product, compute its minimal word: min(a) = a min(p.p′) = min(p).min(p′) min(a + ε) = ε min(Γ∗) = ε Check this using a coverability query in a modified net

24

slide-99
SLIDE 99

SRE in Upward Closure - Upper Bound

Lemma (Upper Bound) SRE in Upward Closure can be solved in EXPSPACE. SRE sre is a choice among products p Check inclusion L(p) ⊆ L ( N, M0, Mf ) ↑ for each product For each product, compute its minimal word: min(a) = a min(p.p′) = min(p).min(p′) min(a + ε) = ε min(Γ∗) = ε We have L(p) ⊆ L ( N, M0, Mf ) ↑ iff min(p) ∈ L ( N, M0, Mf ) ↑ Check this using a coverability query in a modified net

24

slide-100
SLIDE 100

SRE in Upward Closure - Upper Bound

Lemma (Upper Bound) SRE in Upward Closure can be solved in EXPSPACE. SRE sre is a choice among products p Check inclusion L(p) ⊆ L ( N, M0, Mf ) ↑ for each product For each product, compute its minimal word: min(a) = a min(p.p′) = min(p).min(p′) min(a + ε) = ε min(Γ∗) = ε We have L(p) ⊆ L ( N, M0, Mf ) ↑ iff min(p) ∈ L ( N, M0, Mf ) ↑ Check this using a coverability query in a modified net

24

slide-101
SLIDE 101

Being Downward/Upward closed

slide-102
SLIDE 102

Being DC/UC

Being Downward/Upward Closed Given: Petri net (N, M0, Mf). Decide: L ( N, M0, Mf ) = L ( N, M0, Mf ) ↓ /↑ ?

25

slide-103
SLIDE 103

Being DC/UC

Being Downward/Upward Closed Given: Petri net (N, M0, Mf). Decide: L ( N, M0, Mf ) = L ( N, M0, Mf ) ↓ /↑ ? Theorem Being DC and Being UC are decidable.

25

slide-104
SLIDE 104

Being DC/UC

Being Downward/Upward Closed Given: Petri net (N, M0, Mf). Decide: L ( N, M0, Mf ) = L ( N, M0, Mf ) ↓ /↑ ? Theorem Being DC and Being UC are decidable. Note: L ⊆ L↑ and L ⊆ L↓ always hold and are effectively regular

25

slide-105
SLIDE 105

Being DC/UC

Being Downward/Upward Closed Given: Petri net (N, M0, Mf). Decide: L ( N, M0, Mf ) = L ( N, M0, Mf ) ↓ /↑ ? Theorem Being DC and Being UC are decidable. Note: L ⊆ L↑ and L ⊆ L↓ always hold L↑ and L↓ are effectively regular

25

slide-106
SLIDE 106

REG-IN-PNCOV

Regular lang. included in PN coverability lang. Given: Petri net (N, M0, Mf), FSA A. Decide: L(A) ⊆ L ( N, M0, Mf ) ?

26

slide-107
SLIDE 107

REG-IN-PNCOV

Regular lang. included in PN coverability lang. Given: Petri net (N, M0, Mf), FSA A. Decide: L(A) ⊆ L ( N, M0, Mf ) ? Theorem Regular lang. included in PN coverability lang. is decidable.

26

slide-108
SLIDE 108

REG-IN-PNCOV

Regular lang. included in PN coverability lang. Given: Petri net (N, M0, Mf), FSA A. Decide: L(A) ⊆ L ( N, M0, Mf ) ? Theorem Regular lang. included in PN coverability lang. is decidable. Theorem (Jancar, Esparza, Moller 1999) Given Petri net (N, M0) and FSA A. T (A) ⊆ T (N, M0) is decidable.

26

slide-109
SLIDE 109

Reducing to Trace Inclusion

Theorem (Jancar, Esparza, Moller 1999) Given Petri net (N′, M0) and FSA B. T (B) ⊆ T (N′, M0) is decidable

27

slide-110
SLIDE 110

Reducing to Trace Inclusion

Theorem (Jancar, Esparza, Moller 1999) Given Petri net (N′, M0) and FSA B. T (B) ⊆ T (N′, M0) is decidable where T (B) = { w

  • q0

w

− → q for some state q } , T (N′, M0) = {w | M0[σ⟩M for some M and σ, λ(σ) = w}.

27

slide-111
SLIDE 111

Reducing to Trace Inclusion

Theorem (Jancar, Esparza, Moller 1999) Given Petri net (N′, M0) and FSA B. T (B) ⊆ T (N′, M0) is decidable where T (B) = { w

  • q0

w

− → q for some state q } , T (N′, M0) = {w | M0[σ⟩M for some M and σ, λ(σ) = w}. Lemma L(A) ⊆ L ( N, M0, Mf ) iff T (A.a) ⊆ T (N.a, M0).

27

slide-112
SLIDE 112

Reducing to Trace Inclusion

Theorem (Jancar, Esparza, Moller 1999) Given Petri net (N′, M0) and FSA B. T (B) ⊆ T (N′, M0) is decidable where T (B) = { w

  • q0

w

− → q for some state q } , T (N′, M0) = {w | M0[σ⟩M for some M and σ, λ(σ) = w}. Lemma L(A) ⊆ L ( N, M0, Mf ) iff T (A.a) ⊆ T (N.a, M0). where a fresh letter A.a reduced FSA for L(A).a N.a = N plus a-labeled transition tf consuming Mf

27

slide-113
SLIDE 113

BPP Nets

slide-114
SLIDE 114

Results

Petri nets Compute UC Doubly exponential∗ Compute DC Non-prim. rec.∗ SRE in DC EXPSPACE-compl. SRE in UC EXPSPACE-compl. Being DC/UC Decidable

∗ : Time for construction & size of minimal FSA 28

slide-115
SLIDE 115

BPP Nets - Negative Example

In a BPP net, each transition consumes at most one token. 2 2 2

29

slide-116
SLIDE 116

BPP Nets - Positive Example

In a BPP net, each transition consumes at most one token.

p0 t0

ε

p1 t1

ε

p2 t2

ε

p3 tf

a

pf 2 2 2

30

slide-117
SLIDE 117

Results

Petri nets Compute UC Doubly exponential∗ Compute DC Non-prim. rec.∗ SRE in DC EXPSPACE-compl. SRE in UC EXPSPACE-compl. Being DC/UC Decidable ∗ : Time for construction & size of minimal FSA 31

slide-118
SLIDE 118

Results

Petri nets BPP nets Compute UC Doubly exponential∗ Exponential∗ Compute DC Non-prim. rec.∗ Exponential∗ SRE in DC EXPSPACE-compl. NP-compl. SRE in UC EXPSPACE-compl. NP-compl. Being DC/UC Decidable ∗ : Time for construction & size of minimal FSA 31

slide-119
SLIDE 119

Results

Petri nets BPP nets Techniques for upper bound lower bound Compute UC Doubly exponential∗ Exponential∗ Unfoldings Initial ex. Compute DC Non-prim. rec.∗ Exponential∗ Unfoldings Initial ex. SRE in DC EXPSPACE-compl. NP-compl. Presburger Coverability SRE in UC EXPSPACE-compl. NP-compl. Coverability Coverability Being DC/UC Decidable ∗ : Time for construction & size of minimal FSA 31

slide-120
SLIDE 120

Thank you!

31

slide-121
SLIDE 121

Questions?

31