Slides: Decidability and Complexity of Tree Share Formulas - - PDF document

slides decidability and complexity of tree share formulas
SMART_READER_LITE
LIVE PREVIEW

Slides: Decidability and Complexity of Tree Share Formulas - - PDF document

See discussions, stats, and author profiles for this publication at: https://www.researchgate.net/publication/318959731 Slides: Decidability and Complexity of Tree Share Formulas Presentation December 2016 CITATIONS READS 0 16 3 authors ,


slide-1
SLIDE 1

See discussions, stats, and author profiles for this publication at: https://www.researchgate.net/publication/318959731

Slides: Decidability and Complexity of Tree Share Formulas

Presentation · December 2016

CITATIONS READS

16

3 authors, including: Some of the authors of this publication are also working on these related projects: Tree Share Structure in Program Verification View project Bach Xuan Le National University of Singapore

9 PUBLICATIONS 25 CITATIONS

SEE PROFILE

Anthony Widjaja Lin University of Oxford

56 PUBLICATIONS 556 CITATIONS

SEE PROFILE

All content following this page was uploaded by Bach Xuan Le on 07 August 2017.

The user has requested enhancement of the downloaded file.

slide-2
SLIDE 2

Decidability and Complexity of Tree Share Formulas

Decidability and Complexity of Tree Share Formulas

Xuan Bach Le1 Aquinas Hobor1 Anthony W. Lin2

1 National University of Singapore 2 University of Oxford

December 14, 2016

1 / 30

slide-3
SLIDE 3

Decidability and Complexity of Tree Share Formulas Introduction

tree(x,τ) ∧ WRITE(τ) tree(x,τ1) ∧ READ(τ1) tree(x,τ2) ∧ READ(τ2) tree(x,τ) ∧ WRITE(τ)

2 / 30

slide-4
SLIDE 4

Decidability and Complexity of Tree Share Formulas Introduction

Shares

Shares are embedded into separation logic to reason about resource accounting: addr

τ1⊕τ2

↦ val ⇔ addr

τ1

↦ val ⋆ addr

τ2

↦ val

3 / 30

slide-5
SLIDE 5

Decidability and Complexity of Tree Share Formulas Introduction

Shares

Shares are embedded into separation logic to reason about resource accounting: addr

τ1⊕τ2

↦ val ⇔ addr

τ1

↦ val ⋆ addr

τ2

↦ val Allow resources to be split and shared in large scale:

tree(ℓ,τ) def

=

(ℓ = null ∧ emp) ∨ ∃ℓl,ℓr. (ℓ

τ

↦ (ℓl,ℓr) ⋆ tree(ℓl,τ) ⋆ tree(ℓr,τ))

tree(ℓ,τ1 ⊕ τ2) ⇔ tree(ℓ,τ1) ⋆ tree(ℓ,τ2)

3 / 30

slide-6
SLIDE 6

Decidability and Complexity of Tree Share Formulas Introduction

Shares

Shares are embedded into separation logic to reason about resource accounting: addr

τ1⊕τ2

↦ val ⇔ addr

τ1

↦ val ⋆ addr

τ2

↦ val Allow resources to be split and shared in large scale:

tree(ℓ,τ) def

=

(ℓ = null ∧ emp) ∨ ∃ℓl,ℓr. (ℓ

τ

↦ (ℓl,ℓr) ⋆ tree(ℓl,τ) ⋆ tree(ℓr,τ))

tree(ℓ,τ1 ⊕ τ2) ⇔ tree(ℓ,τ1) ⋆ tree(ℓ,τ2) Share policies to reason about permissions for single writer and multiple readers: WRITE(τ) READ(τ)

Write- Read

READ(τ) ∃τ1,τ2. τ1 ⊕ τ2 = τ ∧ READ(τ1) ∧ READ(τ2)

Split- Read

3 / 30

slide-7
SLIDE 7

Decidability and Complexity of Tree Share Formulas Introduction

Shares

Shares enable resource reasoning in concurrent programming

4 / 30

slide-8
SLIDE 8

Decidability and Complexity of Tree Share Formulas Introduction

Shares

Shares enable resource reasoning in concurrent programming Rational numbers [Boyland (2003)]: disjointness problem makes tree split equivalence false: ¬(tree(ℓ,τ1 ⊕ τ2) ⇐ tree(ℓ,τ1) ⋆ tree(ℓ,τ2))

4 / 30

slide-9
SLIDE 9

Decidability and Complexity of Tree Share Formulas Introduction

Shares

Shares enable resource reasoning in concurrent programming Rational numbers [Boyland (2003)]: disjointness problem makes tree split equivalence false: ¬(tree(ℓ,τ1 ⊕ τ2) ⇐ tree(ℓ,τ1) ⋆ tree(ℓ,τ2)) Subsets of natural numbers [Parkinson (2005)]

Finite sets: recursion depth is finite Infinite sets: intersections may not be in the model

4 / 30

slide-10
SLIDE 10

Decidability and Complexity of Tree Share Formulas Introduction

Tree Share Definition

A tree share τ ∈ T is a boolean binary tree equipped with the reduction rules R1 and R2 (their inverses are E1,E2 resp.): τ

def

= ○ ∣ ● ∣ τ τ R1 ∶ ●

  • ↦ ●

R2 ∶ ○ ○ ↦ ○ The tree domain T contains canonical trees which are irreducible with respect to the reduction rules.

5 / 30

slide-11
SLIDE 11

Decidability and Complexity of Tree Share Formulas Introduction

Tree Share Definition

A tree share τ ∈ T is a boolean binary tree equipped with the reduction rules R1 and R2 (their inverses are E1,E2 resp.): τ

def

= ○ ∣ ● ∣ τ τ R1 ∶ ●

  • ↦ ●

R2 ∶ ○ ○ ↦ ○ The tree domain T contains canonical trees which are irreducible with respect to the reduction rules.

○ ○

Ri

↦ ● ○ ○

Ri

↦ ● ○

5 / 30

slide-12
SLIDE 12

Decidability and Complexity of Tree Share Formulas Introduction

Tree Share Definition

A tree share τ ∈ T is a boolean binary tree equipped with the reduction rules R1 and R2 (their inverses are E1,E2 resp.): τ

def

= ○ ∣ ● ∣ τ τ R1 ∶ ●

  • ↦ ●

R2 ∶ ○ ○ ↦ ○ The tree domain T contains canonical trees which are irreducible with respect to the reduction rules.

○ ○

Ri

↦ ● ○ ○

Ri

↦ ● ○

○ is the empty tree, and ● the full tree.

5 / 30

slide-13
SLIDE 13

Decidability and Complexity of Tree Share Formulas Introduction

Tree Share Definition

A tree share τ ∈ T is a boolean binary tree equipped with the reduction rules R1 and R2 (their inverses are E1,E2 resp.): τ

def

= ○ ∣ ● ∣ τ τ R1 ∶ ●

  • ↦ ●

R2 ∶ ○ ○ ↦ ○ The tree domain T contains canonical trees which are irreducible with respect to the reduction rules.

○ ○

Ri

↦ ● ○ ○

Ri

↦ ● ○

○ is the empty tree, and ● the full tree. READ(τ)

def

= τ ≠ ○ WRITE(τ)

def

= τ = ●

5 / 30

slide-14
SLIDE 14

Decidability and Complexity of Tree Share Formulas Introduction

Tree Share Operators

The complement :

6 / 30

slide-15
SLIDE 15

Decidability and Complexity of Tree Share Formulas Introduction

Tree Share Operators

The complement :

  • 1

○2 ○3

¬

↦ ○1

  • 2
  • 3

6 / 30

slide-16
SLIDE 16

Decidability and Complexity of Tree Share Formulas Introduction

Tree Share Operators

The complement :

  • 1

○2 ○3

¬

↦ ○1

  • 2
  • 3

The Boolean function union ⊔ and intersection ⊓ operator:

6 / 30

slide-17
SLIDE 17

Decidability and Complexity of Tree Share Formulas Introduction

Tree Share Operators

The complement :

  • 1

○2 ○3

¬

↦ ○1

  • 2
  • 3

The Boolean function union ⊔ and intersection ⊓ operator:

Ei

  • 1
  • 2

○3

  • 4

⊔ ○1

  • 2

○3 ○4

  • 1
  • 2

○3

  • 4

Ri

↦ ● ○

  • 6 / 30
slide-18
SLIDE 18

Decidability and Complexity of Tree Share Formulas Introduction

Tree Share Operators

The complement :

  • 1

○2 ○3

¬

↦ ○1

  • 2
  • 3

The Boolean function union ⊔ and intersection ⊓ operator:

Ei

  • 1
  • 2

○3

  • 4

⊔ ○1

  • 2

○3 ○4

  • 1
  • 2

○3

  • 4

Ri

↦ ● ○

Ei

  • 1
  • 2

○3

  • 4

⊓ ○1

  • 2

○3 ○4

↦ ○1

  • 2

○3 ○4

Ri

↦ ○

6 / 30

slide-19
SLIDE 19

Decidability and Complexity of Tree Share Formulas Introduction

Properties of ⊔, ⊓ and

M = (⊔,⊓,,●,○) forms a Boolean Algebra [Dockins et al. (2009)]:

  • B1a. (τ1 ⊓ τ2) ⊓ τ3 = τ1 ⊓ (τ2 ⊓ τ3)
  • B1b. (τ1 ⊔ τ2) ⊔ τ3 = τ1 ⊔ (τ2 ⊔ τ3)

(associativity)

  • B2a. τ1 ⊓ τ2 = τ2 ⊓ τ1
  • B2b. τ1 ⊔ τ2 = τ2 ⊔ τ1

(commutativity)

  • B3a. τ1 ⊓ (τ2 ⊔ τ3) = (τ1 ⊓ τ2) ⊔ (τ1 ⊓ τ3)
  • B3b. τ1 ⊔ (τ2 ⊓ τ3) = (τ1 ⊔ τ2) ⊓ (τ1 ⊔ τ3)

(distributivity)

  • B4a. τ1 ⊓ (τ1 ⊔ τ2) = τ1
  • B4b. τ1 ⊔ (τ1 ⊓ τ2) = τ1

(absorption)

  • B5a. τ ⊓ ● = τ
  • B5b. τ ⊔ ○ = τ

(identity)

  • B6a. τ ⊓ τ = ○
  • B6b. τ ⊔ τ = ●

(complement)

7 / 30

slide-20
SLIDE 20

Decidability and Complexity of Tree Share Formulas Introduction

Tree Share Operators(cont.)

The partial join function ⊕:

8 / 30

slide-21
SLIDE 21

Decidability and Complexity of Tree Share Formulas Introduction

Tree Share Operators(cont.)

The partial join function ⊕: τ1 ⊕ τ2 = τ3

def

= τ1 ⊔ τ2 = τ3 ∧ τ1 ⊓ τ2 = ○

8 / 30

slide-22
SLIDE 22

Decidability and Complexity of Tree Share Formulas Introduction

Tree Share Operators(cont.)

The partial join function ⊕: τ1 ⊕ τ2 = τ3

def

= τ1 ⊔ τ2 = τ3 ∧ τ1 ⊓ τ2 = ○

  • ⊕ ○

Ei

  • 1

○2 ○3

  • 4

⊕ ○1 ○2

  • 3

○4

  • 1

○2

  • 3
  • 4

Ri

  • 8 / 30
slide-23
SLIDE 23

Decidability and Complexity of Tree Share Formulas Introduction

Properties of ⊕

O = (T,⊕) for fractional permission in Separation Logic [Dockins et al. (2009)]:

  • J1. τ1 ⊕ τ2 = τ3 ⇒ τ1 ⊕ τ2 = τ ′

3 ⇒ τ3 = τ ′ 3

(functionality)

  • J2. τ1 ⊕ τ2 = τ2 ⊕ τ1

(commutativity)

  • J3. τ1 ⊕ (τ2 ⊕ τ3) = (τ1 ⊕ τ2) ⊕ τ3

(associativity)

  • J4. τ1 ⊕ τ2 = τ3 ⇒ τ ′

1 ⊕ τ2 = τ3 ⇒ τ1 = τ ′ 1

(cancellation)

  • J5. ∃u. ∀τ. τ ⊕ u = τ

(unit)

  • J6. τ1 ⊕ τ1 = τ2 ⇒ τ1 = τ2

(disjointness)

  • J7. a ⊕ b = z ∧ c ⊕ d = z ⇒ ∃ac,ad,bc,bd.

a b ac ad bd bc c d

ac ⊕ ad = a ∧ bc ⊕ bd = b ∧ ac ⊕ bc = c ∧ ad ⊕ bd = d

(cross split)

  • J8. τ ≠ ○ ⇒ ∃τ1,τ2. τ1 ≠ ○ ∧ τ2 ≠ ○ ∧ τ1 ⊕ τ2 = τ

(infinite split)

9 / 30

slide-24
SLIDE 24

Decidability and Complexity of Tree Share Formulas Introduction

Tree Share Operators(cont.)

The injection bowtie function ⋈ replaces ● with tree:

10 / 30

slide-25
SLIDE 25

Decidability and Complexity of Tree Share Formulas Introduction

Tree Share Operators(cont.)

The injection bowtie function ⋈ replaces ● with tree:

  • ⋈ ○
  • =

  • ⋈ ○
  • =

○ ○

  • 10 / 30
slide-26
SLIDE 26

Decidability and Complexity of Tree Share Formulas Introduction

Tree Share Operators(cont.)

The injection bowtie function ⋈ replaces ● with tree:

  • ⋈ ○
  • =

  • ⋈ ○
  • =

○ ○

  • Allow resources to be split uniformly:

τ1 ⋅ tree(ℓ,τ2)

def

= tree(ℓ,τ2 ⋈ τ1) (τ1 ⊕ τ2) ⋅ tree(ℓ,τ) ⇔ τ1 ⋅ tree(ℓ,τ) ⋆ τ2 ⋅ tree(ℓ,τ) τ1 ⋅ tree(ℓ,τ2 ⋈ τ3) ⇔ (τ3 ⋈ τ1) ⋅ tree(ℓ,τ2)

10 / 30

slide-27
SLIDE 27

Decidability and Complexity of Tree Share Formulas Introduction

Tree Share Operators(cont.)

The injection bowtie function ⋈ replaces ● with tree:

  • ⋈ ○
  • =

  • ⋈ ○
  • =

○ ○

  • Allow resources to be split uniformly:

τ1 ⋅ tree(ℓ,τ2)

def

= tree(ℓ,τ2 ⋈ τ1) (τ1 ⊕ τ2) ⋅ tree(ℓ,τ) ⇔ τ1 ⋅ tree(ℓ,τ) ⋆ τ2 ⋅ tree(ℓ,τ) τ1 ⋅ tree(ℓ,τ2 ⋈ τ3) ⇔ (τ3 ⋈ τ1) ⋅ tree(ℓ,τ2) ⋈ can be hard to think about. Is this equation satisfiable? v1 ⋈ v2 ⋈ ○

= ○

⋈ v2 ⋈ v1

10 / 30

slide-28
SLIDE 28

Decidability and Complexity of Tree Share Formulas Introduction

Properties of ⋈

S = (⋈,●) forms an Monoid with additional properties [Dockins et al. (2009)]:

  • M1. (τ1 ⋈ τ2) ⋈ τ3 = τ1 ⋈ (τ2 ⋈ τ3)

(associativity)

  • M2. τ ⋈ ● = ● ⋈ τ = τ

(identity)

  • M3. τ ⋈ ○ = ○ ⋈ τ = ○

(collapse point)

  • M4. τ1 ⋈ (τ2 ◇ τ3) = (τ1 ◇ τ2) ⋈ (τ1 ◇ τ3), ◇ ∈ {⊓,⊔,⊕}

(distributivity)

  • M5. τ ⋈ τ1 = τ ⋈ τ2 ⇒ τ ≠ ○ ⇒ τ1 = τ2

(left cancellation)

  • M6. τ1 ⋈ τ = τ2 ⋈ τ ⇒ τ ≠ ○ ⇒ τ1 = τ2

(right cancellation)

11 / 30

slide-29
SLIDE 29

Decidability and Complexity of Tree Share Formulas Introduction

tree(x,τ) (● ○ ⊕ ○

  • ) ⋅ tree(x,τ)
  • ○ ⋅ tree(x,τ)

  • ⋅ tree(x,τ)

(● ○ ⊕ ○

  • ) ⋅ tree(x,τ)

12 / 30

slide-30
SLIDE 30

Decidability and Complexity of Tree Share Formulas Decidability and Complexity results

Outline

1 Introduction 2 Decidability and Complexity results

Model for Countable Atomless Boolean Algebra From ⋈ to string concatenation Tree Automatic Structures

3 Conclusion

13 / 30

slide-31
SLIDE 31

Decidability and Complexity of Tree Share Formulas Decidability and Complexity results Model for Countable Atomless Boolean Algebra

Tree Shares as Countable Atomless Boolean Algebra

M = (⊔,⊓,,●,○) is Countable Boolean Algebra because the domain T is countable.

14 / 30

slide-32
SLIDE 32

Decidability and Complexity of Tree Share Formulas Decidability and Complexity results Model for Countable Atomless Boolean Algebra

Tree Shares as Countable Atomless Boolean Algebra

M = (⊔,⊓,,●,○) is Countable Boolean Algebra because the domain T is countable. Atomless properties of M:

Let τ1 ≠ τ2, we denote τ1 τ2 iff τ1 ⊔ τ2 = τ2.

14 / 30

slide-33
SLIDE 33

Decidability and Complexity of Tree Share Formulas Decidability and Complexity results Model for Countable Atomless Boolean Algebra

Tree Shares as Countable Atomless Boolean Algebra

M = (⊔,⊓,,●,○) is Countable Boolean Algebra because the domain T is countable. Atomless properties of M:

Let τ1 ≠ τ2, we denote τ1 τ2 iff τ1 ⊔ τ2 = τ2. M is atomless if for τ1 τ3, there exists τ2 such that τ1 τ2 τ3.

14 / 30

slide-34
SLIDE 34

Decidability and Complexity of Tree Share Formulas Decidability and Complexity results Model for Countable Atomless Boolean Algebra

Tree Shares as Countable Atomless Boolean Algebra

M = (⊔,⊓,,●,○) is Countable Boolean Algebra because the domain T is countable. Atomless properties of M:

Let τ1 ≠ τ2, we denote τ1 τ2 iff τ1 ⊔ τ2 = τ2. M is atomless if for τ1 τ3, there exists τ2 such that τ1 τ2 τ3. Let τ1 = ○

  • ○ and τ3 = ●

○ then τ1 τ3. We extend τ3 to the shape of τ1: τ3

Ei

14 / 30

slide-35
SLIDE 35

Decidability and Complexity of Tree Share Formulas Decidability and Complexity results Model for Countable Atomless Boolean Algebra

Tree Shares as Countable Atomless Boolean Algebra

M = (⊔,⊓,,●,○) is Countable Boolean Algebra because the domain T is countable. Atomless properties of M:

Let τ1 ≠ τ2, we denote τ1 τ2 iff τ1 ⊔ τ2 = τ2. M is atomless if for τ1 τ3, there exists τ2 such that τ1 τ2 τ3. Let τ1 = ○

  • ○ and τ3 = ●

○ then τ1 τ3. We extend τ3 to the shape of τ1: τ3

Ei

then replace one of the ● leaves of τ3 that is not in τ1 with

  • ○:
  • ○ ↦

14 / 30

slide-36
SLIDE 36

Decidability and Complexity of Tree Share Formulas Decidability and Complexity results Model for Countable Atomless Boolean Algebra

Decidability of M The first-order theory of M is decidable. The lower bound for its complexity is ⋃c<ω STA(∗,2cn,n) [Kozen (1980)].

15 / 30

slide-37
SLIDE 37

Decidability and Complexity of Tree Share Formulas Decidability and Complexity results From ⋈ to string concatenation

Decidability of ⋈

Decidability of S = (T,⋈) Let S = (T,⋈) then: The existential theory of S is decidable in PSPACE. The existential theory of S is NP-hard. The general first-order theory over S is undecidable.

16 / 30

slide-38
SLIDE 38

Decidability and Complexity of Tree Share Formulas Decidability and Complexity results From ⋈ to string concatenation

Decidability of ⋈

Decidability of S = (T,⋈) Let S = (T,⋈) then: The existential theory of S is decidable in PSPACE. The existential theory of S is NP-hard. The general first-order theory over S is undecidable. Decidability of S+ = (T/{○},⋈) Let S+ = (T/{○},⋈) then: The existential theory of S+ is decidable in PSPACE. The existential theory of S+ is NP-hard. The general first-order theory over S+ is undecidable.

16 / 30

slide-39
SLIDE 39

Decidability and Complexity of Tree Share Formulas Decidability and Complexity results From ⋈ to string concatenation

Isomorphism between ⋈ and ⋅

To prove these results on S+ = (T/{○},⋈), we will construct an isomorphism between S+ equations and word equations.

17 / 30

slide-40
SLIDE 40

Decidability and Complexity of Tree Share Formulas Decidability and Complexity results From ⋈ to string concatenation

Isomorphism between ⋈ and ⋅

To prove these results on S+ = (T/{○},⋈), we will construct an isomorphism between S+ equations and word equations. In particular, we will transform ⋈ into string concatenation. The trick is that we must find an “alphabet” for S+ equations.

17 / 30

slide-41
SLIDE 41

Decidability and Complexity of Tree Share Formulas Decidability and Complexity results From ⋈ to string concatenation

Review of Word Equations

Let A = {a,b,...} be the finite set of alphabet and V = {v1,v2,...} the set of variables.

18 / 30

slide-42
SLIDE 42

Decidability and Complexity of Tree Share Formulas Decidability and Complexity results From ⋈ to string concatenation

Review of Word Equations

Let A = {a,b,...} be the finite set of alphabet and V = {v1,v2,...} the set of variables. A word w is a string in (A ∪ V)∗. A word equation E is a pair

  • f words w1 = w2.

18 / 30

slide-43
SLIDE 43

Decidability and Complexity of Tree Share Formulas Decidability and Complexity results From ⋈ to string concatenation

Review of Word Equations

Let A = {a,b,...} be the finite set of alphabet and V = {v1,v2,...} the set of variables. A word w is a string in (A ∪ V)∗. A word equation E is a pair

  • f words w1 = w2.

E has a solution if there exists a homomorphism f ∶ A ∪ V ↦ A∗ that maps each letter in A to itself.

18 / 30

slide-44
SLIDE 44

Decidability and Complexity of Tree Share Formulas Decidability and Complexity results From ⋈ to string concatenation

Review of Word Equations

Let A = {a,b,...} be the finite set of alphabet and V = {v1,v2,...} the set of variables. A word w is a string in (A ∪ V)∗. A word equation E is a pair

  • f words w1 = w2.

E has a solution if there exists a homomorphism f ∶ A ∪ V ↦ A∗ that maps each letter in A to itself. For example, the equation v1v2ab = bav2v1 has a solution: f (v1) = b,f (v2) = a

18 / 30

slide-45
SLIDE 45

Decidability and Complexity of Tree Share Formulas Decidability and Complexity results From ⋈ to string concatenation

Review of Word Equations

Let A = {a,b,...} be the finite set of alphabet and V = {v1,v2,...} the set of variables. A word w is a string in (A ∪ V)∗. A word equation E is a pair

  • f words w1 = w2.

E has a solution if there exists a homomorphism f ∶ A ∪ V ↦ A∗ that maps each letter in A to itself. For example, the equation v1v2ab = bav2v1 has a solution: f (v1) = b,f (v2) = a The satisfiability problem of word equation: checking whether a word equation E has a solution.

18 / 30

slide-46
SLIDE 46

Decidability and Complexity of Tree Share Formulas Decidability and Complexity results From ⋈ to string concatenation

Word Equation Results

Decidability and Complexity of Word Equation The satisfiability problem of word equation is decidable. The lower bound is NP-complete while the upper bound is PSPACE [Plandowski (1999)].

19 / 30

slide-47
SLIDE 47

Decidability and Complexity of Tree Share Formulas Decidability and Complexity results From ⋈ to string concatenation

Word Equation Results

Decidability and Complexity of Word Equation The satisfiability problem of word equation is decidable. The lower bound is NP-complete while the upper bound is PSPACE [Plandowski (1999)]. The satisfiability of a system of word equations with regular constraints vi ∈ REGi can be reduced to the satisfiability of a single word equation [Schulz (1990)].

19 / 30

slide-48
SLIDE 48

Decidability and Complexity of Tree Share Formulas Decidability and Complexity results From ⋈ to string concatenation

Word Equation Results

Decidability and Complexity of Word Equation The satisfiability problem of word equation is decidable. The lower bound is NP-complete while the upper bound is PSPACE [Plandowski (1999)]. The satisfiability of a system of word equations with regular constraints vi ∈ REGi can be reduced to the satisfiability of a single word equation [Schulz (1990)]. The existential theory of string concatenation is decidable with lower bound NP-complete and upper bound PSPACE. The first-order theory of string concatenation is undecidable (forklore).

19 / 30

slide-49
SLIDE 49

Decidability and Complexity of Tree Share Formulas Decidability and Complexity results From ⋈ to string concatenation

Tree factorization

Prime trees A tree τ ∈ T/{●,○} is prime iff τ = τ1 ⋈ τ2 then either τ1 = ● or τ2 = ●.

20 / 30

slide-50
SLIDE 50

Decidability and Complexity of Tree Share Formulas Decidability and Complexity results From ⋈ to string concatenation

Tree factorization

Prime trees A tree τ ∈ T/{●,○} is prime iff τ = τ1 ⋈ τ2 then either τ1 = ● or τ2 = ●. A tree share τ can be factorized into prime trees using ⋈:

20 / 30

slide-51
SLIDE 51

Decidability and Complexity of Tree Share Formulas Decidability and Complexity results From ⋈ to string concatenation

Tree factorization

Prime trees A tree τ ∈ T/{●,○} is prime iff τ = τ1 ⋈ τ2 then either τ1 = ● or τ2 = ●. A tree share τ can be factorized into prime trees using ⋈:

○ ○

slide-52
SLIDE 52

Decidability and Complexity of Tree Share Formulas Decidability and Complexity results From ⋈ to string concatenation

Tree factorization

Prime trees A tree τ ∈ T/{●,○} is prime iff τ = τ1 ⋈ τ2 then either τ1 = ● or τ2 = ●. A tree share τ can be factorized into prime trees using ⋈:

○ ○

= ○

slide-53
SLIDE 53

Decidability and Complexity of Tree Share Formulas Decidability and Complexity results From ⋈ to string concatenation

Tree factorization

Prime trees A tree τ ∈ T/{●,○} is prime iff τ = τ1 ⋈ τ2 then either τ1 = ● or τ2 = ●. A tree share τ can be factorized into prime trees using ⋈:

○ ○

= ○

= ○

  • ⋈ ●

20 / 30

slide-54
SLIDE 54

Decidability and Complexity of Tree Share Formulas Decidability and Complexity results From ⋈ to string concatenation

Tree factorization(cont.)

Unique factorization Let τ ∈ T/{○,●} then there exists a unique sequence of prime trees τ1,...,τn such that: τ = τ1 ⋈ ... ⋈ τn Furthermore, the factorization problem is in PTIME. Proof sketch: By induction on the structure of the tree.

21 / 30

slide-55
SLIDE 55

Decidability and Complexity of Tree Share Formulas Decidability and Complexity results From ⋈ to string concatenation

Infinite alphabet

Let Tp ⊂ T be the set of prime trees then Tp is countably infinite.

22 / 30

slide-56
SLIDE 56

Decidability and Complexity of Tree Share Formulas Decidability and Complexity results From ⋈ to string concatenation

Infinite alphabet

Let Tp ⊂ T be the set of prime trees then Tp is countably infinite. Tp is our alphabet for the word equation but we need to reduce it to finite alphabet.

22 / 30

slide-57
SLIDE 57

Decidability and Complexity of Tree Share Formulas Decidability and Complexity results From ⋈ to string concatenation

Infinite alphabet(cont.)

From infinity to finite Let Σ be the set of word equations and inequations over infinite alphabet A then Σ has a solution iff it has a solution over some finite alphabet B ⊂ A such that:

1 A(Σ) ⊂ B 2 ∣B∣ = ∣A(Σ)∣ + n where n is the number of inequations in Σ.

The choice of the extra letters in B is not important.

23 / 30

slide-58
SLIDE 58

Decidability and Complexity of Tree Share Formulas Decidability and Complexity results From ⋈ to string concatenation

Example

v1 ⋈ v2 ⋈ ○

= ○

⋈ v2 ⋈ v1

24 / 30

slide-59
SLIDE 59

Decidability and Complexity of Tree Share Formulas Decidability and Complexity results From ⋈ to string concatenation

Example

v1 ⋈ v2 ⋈ ○

= ○

⋈ v2 ⋈ v1 v1 ⋈ v2 ⋈ ● ○ ⋈ ○

  • =

  • ⋈ ●

○ ⋈ v2 ⋈ v1

24 / 30

slide-60
SLIDE 60

Decidability and Complexity of Tree Share Formulas Decidability and Complexity results From ⋈ to string concatenation

Example

v1 ⋈ v2 ⋈ ○

= ○

⋈ v2 ⋈ v1 v1 ⋈ v2 ⋈ ● ○ ⋈ ○

  • =

  • ⋈ ●

○ ⋈ v2 ⋈ v1 v1v2ab = bav2v1

24 / 30

slide-61
SLIDE 61

Decidability and Complexity of Tree Share Formulas Decidability and Complexity results From ⋈ to string concatenation

Example

v1 ⋈ v2 ⋈ ○

= ○

⋈ v2 ⋈ v1 v1 ⋈ v2 ⋈ ● ○ ⋈ ○

  • =

  • ⋈ ●

○ ⋈ v2 ⋈ v1 v1v2ab = bav2v1 solution: v1 = b, v2 = a

24 / 30

slide-62
SLIDE 62

Decidability and Complexity of Tree Share Formulas Decidability and Complexity results From ⋈ to string concatenation

Example

v1 ⋈ v2 ⋈ ○

= ○

⋈ v2 ⋈ v1 v1 ⋈ v2 ⋈ ● ○ ⋈ ○

  • =

  • ⋈ ●

○ ⋈ v2 ⋈ v1 v1v2ab = bav2v1 solution: v1 = b, v2 = a ○

  • ⋈ ●

○ ⋈ ● ○ ⋈ ○

  • =

  • ⋈ ●

○ ⋈ ● ○ ⋈ ○

  • 24 / 30
slide-63
SLIDE 63

Decidability and Complexity of Tree Share Formulas Decidability and Complexity results From ⋈ to string concatenation

Find a decidable fragment for ⋈

Since the first-order theory of S = (T,⋈) is undecidable, we want to find a decidable fragment of ⋈ together with (⊔,⊓, ¯ ).

25 / 30

slide-64
SLIDE 64

Decidability and Complexity of Tree Share Formulas Decidability and Complexity results Tree Automatic Structures

Connection to Tree Automatic Structures

Let ⋈τ be the unary function over trees such that ⋈τ(τ ′) = τ ′ ⋈ τ

26 / 30

slide-65
SLIDE 65

Decidability and Complexity of Tree Share Formulas Decidability and Complexity results Tree Automatic Structures

Connection to Tree Automatic Structures

Let ⋈τ be the unary function over trees such that ⋈τ(τ ′) = τ ′ ⋈ τ Example: ⋈ ○

  • (●

) = ●

⋈ ○

  • =

26 / 30

slide-66
SLIDE 66

Decidability and Complexity of Tree Share Formulas Decidability and Complexity results Tree Automatic Structures

Connection to Tree Automatic Structures

Let ⋈τ be the unary function over trees such that ⋈τ(τ ′) = τ ′ ⋈ τ Example: ⋈ ○

  • (●

) = ●

⋈ ○

  • =

Tree automatic structure Let T = (T,⊔,⊓, ¯ ,⋈τ) then T is tree automatic, i.e., its domain and relations are recognized by tree automata. Consequently, the first-order theory of T is decidable [Blumensath (1999); Blumensath and Gradel (2004)].

26 / 30

slide-67
SLIDE 67

Decidability and Complexity of Tree Share Formulas Conclusion

Outline

1 Introduction 2 Decidability and Complexity results

Model for Countable Atomless Boolean Algebra From ⋈ to string concatenation Tree Automatic Structures

3 Conclusion

27 / 30

slide-68
SLIDE 68

Decidability and Complexity of Tree Share Formulas Conclusion

Contributions

We show that M = (⊔,⊓,,●,○) forms a Countably Atomless Boolean Algebra. We reduce ⋈ to string concatenation. We show T = (T,⊔,⊓, ¯ ,⋈τ) is tree-automatic.

28 / 30

slide-69
SLIDE 69

Decidability and Complexity of Tree Share Formulas Conclusion

Future Work

Complexity of (T,⊓,⊔) (∃-theory and first-order theory). Decidability of (T,⊓,⊔,⋈) (∃-theory). Complexity of T = (T,⊔,⊓, ¯ ,⋈τ) (∃-theory and first-order theory). Extension of word equation to tree equation.

Thank you!

29 / 30

slide-70
SLIDE 70

Decidability and Complexity of Tree Share Formulas Conclusion

Proof sketch: Let f be a solution of Σ. For each inequation w1 ≠ w2 to hold, it suffices to have a single position where they differs.

30 / 30

slide-71
SLIDE 71

Decidability and Complexity of Tree Share Formulas Conclusion

Proof sketch: Let f be a solution of Σ. For each inequation w1 ≠ w2 to hold, it suffices to have a single position where they differs. Therefore, there is at most one letter ai / ∈ A(Σ) in each inequation that we need to preserve.

30 / 30

slide-72
SLIDE 72

Decidability and Complexity of Tree Share Formulas Conclusion

Proof sketch: Let f be a solution of Σ. For each inequation w1 ≠ w2 to hold, it suffices to have a single position where they differs. Therefore, there is at most one letter ai / ∈ A(Σ) in each inequation that we need to preserve. For other letters bi / ∈ A(Σ), we simply replace them with a letter in A(Σ).

30 / 30

slide-73
SLIDE 73

Decidability and Complexity of Tree Share Formulas Conclusion

Proof sketch: Let f be a solution of Σ. For each inequation w1 ≠ w2 to hold, it suffices to have a single position where they differs. Therefore, there is at most one letter ai / ∈ A(Σ) in each inequation that we need to preserve. For other letters bi / ∈ A(Σ), we simply replace them with a letter in A(Σ). As a result, the new solution satisfies the alphabet constraint.

30 / 30

slide-74
SLIDE 74

Decidability and Complexity of Tree Share Formulas References

  • A. Blumensath. Automatic Structures. PhD thesis, RWTH

Aachen, 1999.

  • A. Blumensath and E. Gradel. Finite presentations of infinite

structures: automata and interpretations. In Theory of Computer Systems, pages 641–674, 2004. John Boyland. Checking interference with fractional permissions. In Static Analysis, 10th International Symposium, SAS 2003, San Diego, CA, USA, June 11-13, 2003, Proceedings, pages 55–72, 2003. doi: 10.1007/3-540-44898-5 4. URL http://dx.doi.org/10.1007/3-540-44898-5_4. Robert Dockins, Aquinas Hobor, and Andrew W. Appel. A fresh look at separation algebras and share accounting. In Programming Languages and Systems, 7th Asian Symposium, APLAS 2009, Seoul, Korea, December 14-16, 2009. Proceedings, pages 161–177, 2009. doi: 10.1007/978-3-642-10672-9 13. URL http://dx.doi.org/10.1007/978-3-642-10672-9_13.

30 / 30

slide-75
SLIDE 75

Decidability and Complexity of Tree Share Formulas Conclusion

Dexter Kozen. Complexity of boolean algebras. In Theoretical Computer Science 10, pages 221–247, 1980. Matthew Parkinson. Local Reasoning for Java. PhD thesis, University of Cambridge, 2005. Wojciech Plandowski. Satisfiability of word equations with constants is in PSPACE. In 40th Annual Symposium on Foundations of Computer Science, FOCS ’99, 17-18 October, 1999, New York, NY, USA, pages 495–500, 1999. doi: 10.1109/SFFCS.1999.814622. URL http://dx.doi.org/10.1109/SFFCS.1999.814622. Klaus U. Schulz. Makanin’s algorithm for word equations - two improvements and a generalization. In Word Equations and Related Topics, First International Workshop, IWWERT ’90, T¨ ubingen, Germany, October 1-3, 1990, Proceedings, pages 85–150, 1990. doi: 10.1007/3-540-55124-7 4. URL http://dx.doi.org/10.1007/3-540-55124-7_4.

30 / 30

View publication stats View publication stats