Expressive power of pebble automata
or
Unary positive transitive closure logic on trees
Szeged
October 2006
Thomas Schwentick
Joint work with
Mikołaj Bojańczyk, Mathias Samuelides, Luc Segoufin
How do string automata generalize to trees?
Parallel Tree Automata
Sequential Tree Automata
a
a
e
e
c
e
a
e
Unary TC-logic on trees
a
a
e
c
c
e
a
c
e
Thomas Schwentick
a
a
e
c
c
Slide 1
How do string automata generalize to trees?
Parallel Tree Automata
Sequential Tree Automata
a
a
e
e
c
e
a
e
Unary TC-logic on trees
a
a
e
c
c
e
a
c
e
Thomas Schwentick
a
a
e
c
c
Slide 1
How do string automata generalize to trees?
Parallel Tree Automata
Sequential Tree Automata
a
a
e
e
c
e
a
e
Unary TC-logic on trees
a
a
e
c
c
e
a
c
e
Thomas Schwentick
a
a
e
c
c
Slide 1
How do string automata generalize to trees?
Parallel Tree Automata
Sequential Tree Automata
a
a
e
e
c
e
a
e
Unary TC-logic on trees
a
a
e
c
c
e
a
c
e
Thomas Schwentick
a
a
e
c
c
Slide 1
How do string automata generalize to trees?
Parallel Tree Automata
Sequential Tree Automata
a
a
e
e
c
e
a
e
Unary TC-logic on trees
a
a
e
c
c
e
a
c
e
Thomas Schwentick
a
a
e
c
c
Slide 1
How do string automata generalize to trees?
Parallel Tree Automata
Sequential Tree Automata
a
a
e
e
c
e
a
e
Unary TC-logic on trees
a
a
e
c
c
e
a
c
e
Thomas Schwentick
a
a
e
c
c
Slide 1
How do string automata generalize to trees?
Parallel Tree Automata
Sequential Tree Automata
a
a
e
e
c
e
a
e
Unary TC-logic on trees
a
a
e
c
c
e
a
c
e
Thomas Schwentick
a
a
e
c
c
Slide 1
How do string automata generalize to trees?
Parallel Tree Automata
Sequential Tree Automata
a
a
e
e
c
e
a
e
Unary TC-logic on trees
a
a
e
c
c
e
a
c
e
Thomas Schwentick
a
a
e
c
c
Slide 1
How do string automata generalize to trees?
Parallel Tree Automata
Sequential Tree Automata
a
a
e
e
c
e
a
e
Unary TC-logic on trees
a
a
e
c
c
e
a
c
e
Thomas Schwentick
a
a
e
c
c
Slide 1
How do string automata generalize to trees?
Parallel Tree Automata
Sequential Tree Automata
a
a
e
e
c
e
a
e
Unary TC-logic on trees
a
a
e
c
c
e
a
c
e
Thomas Schwentick
a
a
e
c
c
Slide 1
How do string automata generalize to trees?
Parallel Tree Automata
Sequential Tree Automata
a
a
e
e
c
e
a
e
Unary TC-logic on trees
a
a
e
c
c
e
a
c
e
Thomas Schwentick
a
a
e
c
c
Slide 1
How do string automata generalize to trees?
Parallel Tree Automata
Sequential Tree Automata
a
a
e
e
c
e
a
e
Unary TC-logic on trees
a
a
e
c
c
e
a
c
e
Thomas Schwentick
a
a
e
c
c
Slide 1
How do string automata generalize to trees?
Parallel Tree Automata
Sequential Tree Automata
a
a
e
e
c
e
a
e
Unary TC-logic on trees
a
a
e
c
c
e
a
c
e
Thomas Schwentick
a
a
e
c
c
Slide 1
How do string automata generalize to trees?
Parallel Tree Automata
Sequential Tree Automata
a
a
e
e
c
e
a
e
Unary TC-logic on trees
a
a
e
c
c
e
a
c
e
Thomas Schwentick
a
a
e
c
c
Slide 1
How do string automata generalize to trees?
Parallel Tree Automata
Sequential Tree Automata
a
a
e
e
c
e
a
e
Unary TC-logic on trees
a
a
e
c
c
e
a
c
e
Thomas Schwentick
a
a
e
c
c
Slide 1
How do string automata generalize to trees?
Parallel Tree Automata
Sequential Tree Automata
a
a
e
e
c
e
a
e
Unary TC-logic on trees
a
a
e
c
c
e
a
c
e
Thomas Schwentick
a
a
e
c
c
Slide 1
How do string automata generalize to trees?
Parallel Tree Automata
Sequential Tree Automata
a
a
e
e
c
e
a
e
Unary TC-logic on trees
a
a
e
c
c
e
a
c
e
Thomas Schwentick
a
a
e
c
c
Slide 1
Can sequential automata do anything useful?
Fact
Idea
• Tree-walk automata can evaluate tree-shaped
q0
Boolean circuits
∧
• 5 states
∧
Example
0
1
∧
q1
∨
∨
∧
1
∧
0
∨
1
∨
1
Unary TC-logic on trees
∨
0
0
0
∧
1
1
1
Thomas Schwentick
Slide 2
Can sequential automata do anything useful?
Fact
Idea
• Tree-walk automata can evaluate tree-shaped
q0
Boolean circuits
∧
• 5 states
∧
Example
0
∧
1
q↓
q1
∨
∨
∧
1
∧
0
∨
1
∨
1
Unary TC-logic on trees
∨
0
0
0
∧
1
1
1
Thomas Schwentick
Slide 2
Can sequential automata do anything useful?
Fact
Idea
• Tree-walk automata can evaluate tree-shaped
q0
Boolean circuits
∧
• 5 states
∧
Example
0
∧
1
q↓
q1
∨
∨
∧
1
∧
0
∨
1
∨
1
Unary TC-logic on trees
∨
0
0
0
∧
1
1
1
Thomas Schwentick
Slide 2
Can sequential automata do anything useful?
Fact
Idea
• Tree-walk automata can evaluate tree-shaped
q0
Boolean circuits
∧
• 5 states
∧
Example
0
∧
1
q↓
q1
∨
∨
∧
1
∧
0
∨
1
∨
1
Unary TC-logic on trees
∨
0
0
0
∧
1
1
1
Thomas Schwentick
Slide 2
Can sequential automata do anything useful?
Fact
Idea
• Tree-walk automata can evaluate tree-shaped
q0
Boolean circuits
∧
• 5 states
∧
Example
0
∧
1
q↓
q1
∨
∨
∧
1
∧
0
∨
1
∨
1
Unary TC-logic on trees
∨
0
0
0
∧
1
1
1
Thomas Schwentick
Slide 2
Can sequential automata do anything useful?
Fact
Idea
• Tree-walk automata can evaluate tree-shaped
q0
Boolean circuits
∧
• 5 states
∧
Example
0
∧
1
0
q%
q1
∨
∨
∧
1
∧
0
∨
1
∨
1
Unary TC-logic on trees
∨
0
0
0
∧
1
1
1
Thomas Schwentick
Slide 2
Can sequential automata do anything useful?
Fact
Idea
• Tree-walk automata can evaluate tree-shaped
q0
Boolean circuits
∧
• 5 states
∧
Example
0
∧
1
0
q%
q1
∨
∨
∧
1
∧
0
∨
1
∨
1
Unary TC-logic on trees
∨
0
0
0
∧
1
1
1
Thomas Schwentick
Slide 2
Can sequential automata do anything useful?
Fact
Idea
• Tree-walk automata can evaluate tree-shaped
q0
Boolean circuits
∧
• 5 states
∧
Example
0
∧
1
q↓
q1
∨
∨
∧
1
∨
∧
0
1
∨
1
Unary TC-logic on trees
∨
0
0
0
∧
1
1
1
Thomas Schwentick
Slide 2
Can sequential automata do anything useful?
Fact
Idea
• Tree-walk automata can evaluate tree-shaped
q0
Boolean circuits
∧
• 5 states
∧
Example
0
∧
1
q↓
q1
∨
∨
∧
1
∧
0
∨
1
∨
1
Unary TC-logic on trees
∨
0
0
0
∧
1
1
1
Thomas Schwentick
Slide 2
Can sequential automata do anything useful?
Fact
Idea
• Tree-walk automata can evaluate tree-shaped
q0
Boolean circuits
∧
• 5 states
∧
Example
0
∧
1
1
q%
q1
∨
∨
∧
1
∨
∧
0
1
∨
1
Unary TC-logic on trees
∨
0
0
0
∧
1
1
1
Thomas Schwentick
Slide 2
Can sequential automata do anything useful?
Fact
Idea
• Tree-walk automata can evaluate tree-shaped
q0
Boolean circuits
∧
• 5 states
∧
Example
0
∧
1
1
q-
q1
∨
∨
∧
1
∧
0
∨
1
∨
1
Unary TC-logic on trees
∨
0
0
0
∧
1
1
1
Thomas Schwentick
Slide 2
Can sequential automata do anything useful?
Fact
Idea
• Tree-walk automata can evaluate tree-shaped
q0
Boolean circuits
∧
• 5 states
∧
Example
0
∧
1
1
q%
q1
∨
∨
∧
1
∧
0
∨
1
∨
1
Unary TC-logic on trees
∨
0
0
0
∧
1
1
1
Thomas Schwentick
Slide 2
Can sequential automata do anything useful?
Fact
Idea
• Tree-walk automata can evaluate tree-shaped
q0
Boolean circuits
∧
• 5 states
∧
Example
0
∧
1
q↓
q1
∨
∧
∨
1
∧
0
∨
1
∨
1
Unary TC-logic on trees
∨
0
0
0
∧
1
1
1
Thomas Schwentick
Slide 2
Can sequential automata do anything useful?
Fact
Idea
• Tree-walk automata can evaluate tree-shaped
q0
Boolean circuits
∧
• 5 states
∧
Example
0
∧
1
q↓
q1
∨
∨
∧
1
∧
0
∨
∨
1
∨
1
Unary TC-logic on trees
0
0
0
∧
1
1
1
Thomas Schwentick
Slide 2
Can sequential automata do anything useful?
Fact
Idea
• Tree-walk automata can evaluate tree-shaped
q0
Boolean circuits
∧
• 5 states
∧
Example
0
∧
1
q↓
q1
∨
∨
∧
1
∧
0
∨
1
∨
1
Unary TC-logic on trees
∨
0
0
0
∧
1
1
1
Thomas Schwentick
Slide 2
Can sequential automata do anything useful?
Fact
Idea
• Tree-walk automata can evaluate tree-shaped
q0
Boolean circuits
∧
• 5 states
∧
Example
0
∧
1
0
q%
q1
∨
∨
∧
1
∧
0
∨
∨
1
∨
1
Unary TC-logic on trees
0
0
0
∧
1
1
1
Thomas Schwentick
Slide 2
Can sequential automata do anything useful?
Fact
Idea
• Tree-walk automata can evaluate tree-shaped
q0
Boolean circuits
∧
• 5 states
∧
Example
0
∧
1
q↓
q1
∨
∨
∧
1
∧
0
∨
1
∨
1
Unary TC-logic on trees
∨
0
0
0
∧
1
1
1
Thomas Schwentick
Slide 2
Can sequential automata do anything useful?
Fact
Idea
• Tree-walk automata can evaluate tree-shaped
q0
Boolean circuits
∧
• 5 states
∧
Example
0
∧
1
1
q-
q1
∨
∨
∧
1
∧
0
∨
∨
1
∨
1
Unary TC-logic on trees
0
0
0
∧
1
1
1
Thomas Schwentick
Slide 2
Can sequential automata do anything useful?
Fact
Idea
• Tree-walk automata can evaluate tree-shaped
q0
Boolean circuits
∧
• 5 states
∧
Example
0
∧
1
1
q%
q1
∨
∧
∨
1
∧
0
∨
1
∨
1
Unary TC-logic on trees
∨
0
0
0
∧
1
1
1
Thomas Schwentick
Slide 2
Can sequential automata do anything useful?
Fact
Idea
• Tree-walk automata can evaluate tree-shaped
q0
Boolean circuits
∧
• 5 states
∧
Example
0
∧
1
q↓
q1
∨
∨
∧
1
∧
0
∨
1
∨
1
Unary TC-logic on trees
∧
∨
0
0
0
1
1
1
Thomas Schwentick
Slide 2
Can sequential automata do anything useful?
Fact
Idea
• Tree-walk automata can evaluate tree-shaped
q0
Boolean circuits
∧
• 5 states
∧
Example
0
∧
1
q↓
q1
∨
∨
∧
1
∧
0
∨
1
∨
1
Unary TC-logic on trees
∨
0
0
0
∧
1
1
1
Thomas Schwentick
Slide 2
Can sequential automata do anything useful?
Fact
Idea
• Tree-walk automata can evaluate tree-shaped
q0
Boolean circuits
∧
• 5 states
∧
Example
0
∧
1
1
q%
q1
∨
∨
∧
1
∧
0
∨
1
∨
1
Unary TC-logic on trees
∧
∨
0
0
0
1
1
1
Thomas Schwentick
Slide 2
Can sequential automata do anything useful?
Fact
Idea
• Tree-walk automata can evaluate tree-shaped
q0
Boolean circuits
∧
• 5 states
∧
Example
0
∧
1
q↓
q1
∨
∨
∧
1
∧
0
∨
1
∨
1
Unary TC-logic on trees
∨
0
0
0
∧
1
1
1
Thomas Schwentick
Slide 2
Can sequential automata do anything useful?
Fact
Idea
• Tree-walk automata can evaluate tree-shaped
q0
Boolean circuits
∧
• 5 states
∧
Example
0
∧
1
1
q-
q1
∨
∨
∧
1
∧
0
∨
1
∨
1
Unary TC-logic on trees
∧
∨
0
0
0
1
1
1
Thomas Schwentick
Slide 2
Can sequential automata do anything useful?
Fact
Idea
• Tree-walk automata can evaluate tree-shaped
q0
Boolean circuits
∧
• 5 states
∧
Example
0
∧
1
1
q-
q1
∨
∧
∨
1
∧
0
∨
1
∨
1
Unary TC-logic on trees
∨
0
0
0
∧
1
1
1
Thomas Schwentick
Slide 2
Can sequential automata do anything useful?
Fact
Idea
• Tree-walk automata can evaluate tree-shaped
q0
Boolean circuits
∧
• 5 states
∧
Example
0
∧
1
1
q-
q1
∨
∨
∧
1
∧
0
∨
1
∨
1
Unary TC-logic on trees
∨
0
0
0
∧
1
1
1
Thomas Schwentick
Slide 2
What is the expressive power of sequential tree automata?
• Parallel tree automata ≡
Regular Tree Languages
• Sequential automata are clearly weaker
Unary TC-logic on trees
Thomas Schwentick
Slide 3
What is the expressive power of sequential tree automata?
• Parallel tree automata ≡
Regular Tree Languages
• Sequential automata are clearly weaker
• Clearly?
Unary TC-logic on trees
Thomas Schwentick
Slide 3
What is the expressive power of sequential tree automata?
• Parallel tree automata ≡
Regular Tree Languages
• Sequential automata are clearly weaker
• Clearly?
• Whether TWA can recognize all regular tree
languages had been open for quite some
years
Unary TC-logic on trees
Thomas Schwentick
Slide 3
What is the expressive power of sequential tree automata?
• Parallel tree automata ≡
Regular Tree Languages
• Sequential automata are clearly weaker
• Clearly?
• Whether TWA can recognize all regular tree
languages had been open for quite some
years
Theorem [Bojanczyk, Colcombet 05]
• Deterministic TWAs are weaker than
nondeterministic TWAs
• Nondeterminstic TWAs do not capture all
regular tree languages
Unary TC-logic on trees
Thomas Schwentick
Slide 3
What is the expressive power of sequential tree automata?
• Parallel tree automata ≡
Regular Tree Languages
• Sequential automata are clearly weaker
• Clearly?
• Whether TWA can recognize all regular tree
languages had been open for quite some
years
Theorem [Bojanczyk, Colcombet 05]
• Deterministic TWAs are weaker than
nondeterministic TWAs
• Nondeterminstic TWAs do not capture all
regular tree languages
• Engelfriet suggested an extension of TWAs:
What happens if we add...
Unary TC-logic on trees
Thomas Schwentick
Slide 3
What is the expressive power of sequential tree automata?
• Parallel tree automata ≡
Regular Tree Languages
• Sequential automata are clearly weaker
• Clearly?
• Whether TWA can recognize all regular tree
languages had been open for quite some
years
Theorem [Bojanczyk, Colcombet 05]
• Deterministic TWAs are weaker than
nondeterministic TWAs
• Nondeterminstic TWAs do not capture all
regular tree languages
• Engelfriet suggested an extension of TWAs:
What happens if we add...
Unary TC-logic on trees
Thomas Schwentick
Slide 3
Contents
Introduction and Overview of Results
Pebble Automata and Logic
The Behavior of Pebble Automata
On Strong Pebbles
Hierarchy Theorems
Conclusion
Unary TC-logic on trees
Thomas Schwentick
Slide 4
Pebble automata
Definition
Pebble automata :
• states Q
b
• pebbles n, . . . , 1
a
• Possible moves: D = {↑, &, .,stay,drop,lift}
c
• Depending on
c
d
c
b
– state,
– minimum pebble number,
b
b
a
e
– set of pebbles at current node,
– label,
c
d
c
f
b
– type of node:
g
{root,leftchild,rightchild} × {leaf,innernode}
Notation:
sDPAn : languages accepted by:
strong Deterministic pebble automata with n pebbles
Unary TC-logic on trees
Thomas Schwentick
Slide 5
Pebble automata
Definition
Pebble automata :
• states Q
b
• pebbles n, . . . , 1
a
• Possible moves: D = {↑, &, .,stay,drop,lift}
c
• Depending on
c
d
c
b
– state,
– minimum pebble number,
b
b
a
e
– set of pebbles at current node,
– label,
c
d
c
f
b
– type of node:
g
{root,leftchild,rightchild} × {leaf,innernode}
Notation:
sDPAn : languages accepted by:
strong Deterministic pebble automata with n pebbles
Unary TC-logic on trees
Thomas Schwentick
Slide 5
Pebble automata
Definition
Pebble automata :
• states Q
b
• pebbles n, . . . , 1
a
• Possible moves: D = {↑, &, .,stay,drop,lift}
c
• Depending on
c
d
c
b
– state,
– minimum pebble number,
b
b
a
e
– set of pebbles at current node,
– label,
c
d
c
f
b
– type of node:
g
{root,leftchild,rightchild} × {leaf,innernode}
Notation:
sDPAn : languages accepted by:
strong Deterministic pebble automata with n pebbles
Unary TC-logic on trees
Thomas Schwentick
Slide 5
Pebble automata
Definition
Pebble automata :
• states Q
b
a
• pebbles n, . . . , 1
• Possible moves: D = {↑, &, .,stay,drop,lift}
c
3
• Depending on
c
d
c
b
– state,
– minimum pebble number,
b
b
a
e
– set of pebbles at current node,
– label,
c
d
c
f
b
– type of node:
g
{root,leftchild,rightchild} × {leaf,innernode}
Notation:
sDPAn : languages accepted by:
strong Deterministic pebble automata with n pebbles
Unary TC-logic on trees
Thomas Schwentick
Slide 5
Pebble automata
Definition
Pebble automata :
• states Q
b
a
• pebbles n, . . . , 1
• Possible moves: D = {↑, &, .,stay,drop,lift}
c
3
• Depending on
c
d
c
b
– state,
– minimum pebble number,
b
b
a
e
– set of pebbles at current node,
– label,
c
d
c
f
b
– type of node:
g
{root,leftchild,rightchild} × {leaf,innernode}
Notation:
sDPAn : languages accepted by:
strong Deterministic pebble automata with n pebbles
Unary TC-logic on trees
Thomas Schwentick
Slide 5
Pebble automata
Definition
Pebble automata :
• states Q
b
a
• pebbles n, . . . , 1
• Possible moves: D = {↑, &, .,stay,drop,lift}
c
3
• Depending on
c
d
c
b
– state,
– minimum pebble number,
b
b
a
e
– set of pebbles at current node,
– label,
c
d
c
f
b
– type of node:
g
{root,leftchild,rightchild} × {leaf,innernode}
Notation:
sDPAn : languages accepted by:
strong Deterministic pebble automata with n pebbles
Unary TC-logic on trees
Thomas Schwentick
Slide 5
Pebble automata
Definition
Pebble automata :
• states Q
b
a
• pebbles n, . . . , 1
• Possible moves: D = {↑, &, .,stay,drop,lift}
c
3
• Depending on
c
d
c
b
– state,
– minimum pebble number,
2
b
b
a
e
– set of pebbles at current node,
– label,
c
d
c
f
b
– type of node:
g
{root,leftchild,rightchild} × {leaf,innernode}
Notation:
sDPAn : languages accepted by:
strong Deterministic pebble automata with n pebbles
Unary TC-logic on trees
Thomas Schwentick
Slide 5
Pebble automata
Definition
Pebble automata :
• states Q
b
a
• pebbles n, . . . , 1
• Possible moves: D = {↑, &, .,stay,drop,lift}
c
3
• Depending on
c
d
c
b
– state,
– minimum pebble number,
2
b
b
a
e
– set of pebbles at current node,
– label,
c
d
c
f
b
– type of node:
g
{root,leftchild,rightchild} × {leaf,innernode}
Notation:
sDPAn : languages accepted by:
strong Deterministic pebble automata with n pebbles
Unary TC-logic on trees
Thomas Schwentick
Slide 5
Pebble automata
Definition
Pebble automata :
• states Q
b
a
• pebbles n, . . . , 1
• Possible moves: D = {↑, &, .,stay,drop,lift}
c
3
• Depending on
c
d
c
b
– state,
– minimum pebble number,
2
b
b
a
e
– set of pebbles at current node,
– label,
c
d
c
f
b
– type of node:
g
{root,leftchild,rightchild} × {leaf,innernode}
Notation:
sDPAn : languages accepted by:
strong Deterministic pebble automata with n pebbles
Unary TC-logic on trees
Thomas Schwentick
Slide 5
Pebble automata
Definition
Pebble automata :
• states Q
b
a
• pebbles n, . . . , 1
• Possible moves: D = {↑, &, .,stay,drop,lift}
c
3
• Depending on
c
d
c
b
– state,
– minimum pebble number,
2
b
b
a
e
– set of pebbles at current node,
– label,
c
d
c
f
b
– type of node:
g
{root,leftchild,rightchild} × {leaf,innernode}
Notation:
sDPAn : languages accepted by:
strong Deterministic pebble automata with n pebbles
Unary TC-logic on trees
Thomas Schwentick
Slide 5
Pebble automata
Definition
Pebble automata :
• states Q
b
a
• pebbles n, . . . , 1
• Possible moves: D = {↑, &, .,stay,drop,lift}
c
3
• Depending on
c
d
c
b
– state,
– minimum pebble number,
2
b
b
a
e
– set of pebbles at current node,
– label,
c
d
c
f
b
– type of node:
g
{root,leftchild,rightchild} × {leaf,innernode}
Notation:
sDPAn : languages accepted by:
strong Deterministic pebble automata with n pebbles
Unary TC-logic on trees
Thomas Schwentick
Slide 5
Pebble automata
Definition
Pebble automata :
• states Q
b
a
• pebbles n, . . . , 1
• Possible moves: D = {↑, &, .,stay,drop,lift}
c
3
• Depending on
c
d
c
b
– state,
– minimum pebble number,
b
b
a
e
– set of pebbles at current node,
– label,
c
d
c
f
b
– type of node:
g
{root,leftchild,rightchild} × {leaf,innernode}
Notation:
sDPAn : languages accepted by:
strong Deterministic pebble automata with n pebbles
Unary TC-logic on trees
Thomas Schwentick
Slide 5
Pebble automata
Definition
Pebble automata :
• states Q
b
a
• pebbles n, . . . , 1
• Possible moves: D = {↑, &, .,stay,drop,lift}
c
3
• Depending on
c
d
c
b
– state,
– minimum pebble number,
b
b
a
e
– set of pebbles at current node,
– label,
c
d
c
f
b
– type of node:
g
{root,leftchild,rightchild} × {leaf,innernode}
Notation:
sDPAn : languages accepted by:
strong Deterministic pebble automata with n pebbles
Unary TC-logic on trees
Thomas Schwentick
Slide 5
Pebble automata
Definition
Pebble automata :
• states Q
b
a
• pebbles n, . . . , 1
• Possible moves: D = {↑, &, .,stay,drop,lift}
c
3
• Depending on
c
d
c
b
– state,
– minimum pebble number,
b
b
a
e
– set of pebbles at current node,
– label,
c
d
c
f
b
– type of node:
g
{root,leftchild,rightchild} × {leaf,innernode}
Notation:
sDPAn : languages accepted by:
strong Deterministic pebble automata with n pebbles
Unary TC-logic on trees
Thomas Schwentick
Slide 5
Pebble automata
Definition
Pebble automata :
• states Q
b
a
• pebbles n, . . . , 1
• Possible moves: D = {↑, &, .,stay,drop,lift}
c
3
• Depending on
c
d
c
b
– state,
– minimum pebble number,
b
b
a
e
– set of pebbles at current node,
– label,
c
d
c
f
b
– type of node:
g
{root,leftchild,rightchild} × {leaf,innernode}
Notation:
sDPAn : languages accepted by:
strong Deterministic pebble automata with n pebbles
Unary TC-logic on trees
Thomas Schwentick
Slide 5
Pebble automata
Definition
Pebble automata :
• states Q
b
a
• pebbles n, . . . , 1
• Possible moves: D = {↑, &, .,stay,drop,lift}
c
3
• Depending on
c
d
c
b
– state,
– minimum pebble number,
b
b
a
e
– set of pebbles at current node,
– label,
c
d
c
f
b
– type of node:
g
{root,leftchild,rightchild} × {leaf,innernode}
Notation:
sDPAn : languages accepted by:
strong Deterministic pebble automata with n pebbles
Unary TC-logic on trees
Thomas Schwentick
Slide 5
Pebble automata
Definition
Pebble automata :
• states Q
b
a
• pebbles n, . . . , 1
• Possible moves: D = {↑, &, .,stay,drop,lift}
c
3
• Depending on
c
d
c
b
– state,
– minimum pebble number,
b
b
a
e
2
– set of pebbles at current node,
– label,
c
d
c
f
b
– type of node:
g
{root,leftchild,rightchild} × {leaf,innernode}
Notation:
sDPAn : languages accepted by:
strong Deterministic pebble automata with n pebbles
Unary TC-logic on trees
Thomas Schwentick
Slide 5
Pebble automata
Definition
Pebble automata :
• states Q
b
a
• pebbles n, . . . , 1
• Possible moves: D = {↑, &, .,stay,drop,lift}
c
3
• Depending on
c
d
c
b
– state,
– minimum pebble number,
b
b
a
e
2
– set of pebbles at current node,
– label,
c
d
c
f
b
– type of node:
g
{root,leftchild,rightchild} × {leaf,innernode}
Notation:
sDPAn : languages accepted by:
strong Deterministic pebble automata with n pebbles
Unary TC-logic on trees
Thomas Schwentick
Slide 5
Pebble automata
Definition
Pebble automata :
• states Q
b
a
• pebbles n, . . . , 1
• Possible moves: D = {↑, &, .,stay,drop,lift}
c
3
• Depending on
c
d
c
b
– state,
– minimum pebble number,
b
b
a
e
2
– set of pebbles at current node,
– label,
c
d
c
f
b
– type of node:
g
{root,leftchild,rightchild} × {leaf,innernode}
Notation:
sDPAn : languages accepted by:
strong Deterministic pebble automata with n pebbles
Unary TC-logic on trees
Thomas Schwentick
Slide 5
Pebble automata
Definition
Pebble automata :
• states Q
b
a
• pebbles n, . . . , 1
• Possible moves: D = {↑, &, .,stay,drop,lift}
c
3
• Depending on
c
d
c
b
– state,
– minimum pebble number,
b
b
a
e
2
– set of pebbles at current node,
– label,
c
d
c
f
b
– type of node:
g
{root,leftchild,rightchild} × {leaf,innernode}
Notation:
sDPAn : languages accepted by:
strong Deterministic pebble automata with n pebbles
Unary TC-logic on trees
Thomas Schwentick
Slide 5
Pebble automata
Definition
Pebble automata :
• states Q
b
a
• pebbles n, . . . , 1
• Possible moves: D = {↑, &, .,stay,drop,lift}
c
3
• Depending on
c
d
c
b
– state,
– minimum pebble number,
b
b
a
e
2
– set of pebbles at current node,
– label,
c
d
c
f
b
– type of node:
g
{root,leftchild,rightchild} × {leaf,innernode}
Notation:
sDPAn : languages accepted by:
strong Deterministic pebble automata with n pebbles
Unary TC-logic on trees
Thomas Schwentick
Slide 5
Pebble automata
Definition
Pebble automata :
• states Q
b
a
• pebbles n, . . . , 1
• Possible moves: D = {↑, &, .,stay,drop,lift}
c
3
• Depending on
c
d
c
b
– state,
– minimum pebble number,
b
b
a
e
2
– set of pebbles at current node,
– label,
c
d
c
f
b
– type of node:
g
{root,leftchild,rightchild} × {leaf,innernode}
Notation:
sDPAn : languages accepted by:
strong Deterministic pebble automata with n pebbles
Unary TC-logic on trees
Thomas Schwentick
Slide 5
Pebble automata
Definition
Pebble automata :
• states Q
b
a
• pebbles n, . . . , 1
• Possible moves: D = {↑, &, .,stay,drop,lift}
c
3
• Depending on
c
d
c
b
– state,
– minimum pebble number,
b
b
a
e
2
– set of pebbles at current node,
– label,
c
d
c
f
b
– type of node:
g
{root,leftchild,rightchild} × {leaf,innernode}
Notation:
sDPAn : languages accepted by:
strong Deterministic pebble automata with n pebbles
Unary TC-logic on trees
Thomas Schwentick
Slide 5
Pebble automata
Definition
Pebble automata :
• states Q
b
a
• pebbles n, . . . , 1
• Possible moves: D = {↑, &, .,stay,drop,lift}
c
3
• Depending on
c
d
c
b
– state,
– minimum pebble number,
b
b
a
e
– set of pebbles at current node,
– label,
c
d
c
f
b
– type of node:
g
{root,leftchild,rightchild} × {leaf,innernode}
Notation:
sDPAn : languages accepted by:
strong Deterministic pebble automata with n pebbles
Unary TC-logic on trees
Thomas Schwentick
Slide 5
Pebble automata
Definition
Pebble automata :
• states Q
b
a
• pebbles n, . . . , 1
• Possible moves: D = {↑, &, .,stay,drop,lift}
c
3
• Depending on
c
d
c
b
– state,
– minimum pebble number,
b
b
a
e
– set of pebbles at current node,
– label,
c
d
c
f
b
– type of node:
g
{root,leftchild,rightchild} × {leaf,innernode}
Notation:
sDPAn : languages accepted by:
strong Deterministic pebble automata with n pebbles
Unary TC-logic on trees
Thomas Schwentick
Slide 5
Pebble automata
Definition
Pebble automata :
• states Q
b
a
• pebbles n, . . . , 1
• Possible moves: D = {↑, &, .,stay,drop,lift}
c
3
• Depending on
c
d
c
b
– state,
– minimum pebble number,
b
b
a
e
– set of pebbles at current node,
– label,
c
d
c
f
b
– type of node:
g
{root,leftchild,rightchild} × {leaf,innernode}
Notation:
sDPAn : languages accepted by:
strong Deterministic pebble automata with n pebbles
Unary TC-logic on trees
Thomas Schwentick
Slide 5
Pebble automata
Definition
Pebble automata :
• states Q
b
• pebbles n, . . . , 1
a
• Possible moves: D = {↑, &, .,stay,drop,lift}
c
• Depending on
c
d
c
b
– state,
– minimum pebble number,
b
b
a
e
– set of pebbles at current node,
– label,
c
d
c
f
b
– type of node:
g
{root,leftchild,rightchild} × {leaf,innernode}
Notation:
sDPAn : languages accepted by:
strong Deterministic pebble automata with n pebbles
Unary TC-logic on trees
Thomas Schwentick
Slide 5
Pebble automata
Definition
Pebble automata :
• states Q
b
• pebbles n, . . . , 1
a
• Possible moves: D = {↑, &, .,stay,drop,lift}
c
• Depending on
c
d
c
b
– state,
– minimum pebble number,
b
b
a
e
– set of pebbles at current node,
– label,
c
d
c
f
b
– type of node:
g
{root,leftchild,rightchild} × {leaf,innernode}
Notation:
sDPAn : languages accepted by:
strong Deterministic pebble automata with n pebbles
Unary TC-logic on trees
Thomas Schwentick
Slide 5
Pebble automata
Definition
Pebble automata :
• states Q
b
• pebbles n, . . . , 1
a
• Possible moves: D = {↑, &, .,stay,drop,lift}
c
• Depending on
c
d
c
b
– state,
– minimum pebble number,
b
b
a
e
– set of pebbles at current node,
– label,
c
d
c
f
b
– type of node:
g
{root,leftchild,rightchild} × {leaf,innernode}
Notation:
sDPAn : languages accepted by:
strong Deterministic pebble automata with n pebbles
Unary TC-logic on trees
Thomas Schwentick
Slide 5
Some results...
... on pebble automata
• PA ( REG
• For each n ≥ 0,
–
PAn ( PAn+1 and DPAn ( DPAn+1
–
TWA 6⊆ DPAn
–
sPAn = PAn and sDPAn = DPAn
–
sDPAn is closed under complement
... and a corollary on logics
FO+posTC1
Unary TC-logic on trees
( MSO on binary trees
Thomas Schwentick
Slide 6
Proof summary
Theorem
FO+posTC1
( MSO on binary trees
Outline
1. FO
+ posTC1 = sPA [Engelfriet, Hoogeboom 06]
2. Formalize behavior of a pebble automaton on a tree (→ type)
3. Strong pebbles do not give extra power:
sPAn = PAn
4. For each n, define Ln and show that Ln
∈ DPAn − PAn−1
(a) Towards a contradiction, fix A for Ln
(b) Show that oracle automata do not accept L1
∈ L1 , t 6∈ L1 that can not be distinguished by oracle
automaton of size ≤ m
Fix s
(c) Define s1 , . . . , sn
∈ Ln , t1 , . . . , tn 6∈ Ln
(d) Show: i-type of si and ti are identical
(otherwise: there is oracle automaton of size ≤
m distinguishing s
from t)
5. Construct L
Unary TC-logic on trees
∈ REG − PA from L1 , L2 , L3 , . . .
Thomas Schwentick
Slide 7
Contents
Introduction and Overview of Results
Pebble Automata and Logic
The Behavior of Pebble Automata
On Strong Pebbles
Hierarchy Theorems
Conclusion
Unary TC-logic on trees
Thomas Schwentick
Slide 8
Pebble automata and logic
Theorem [Engelfriet, Hoogeboom 06]
• FO + DTC1 = sDPA
• FO + posTC1 = sPA
(They prove a stronger result for multihead-automata)
Proof idea
“Logic ⇒ automaton” requires a liberal pebble lifting policy:
• To check TCx,y [ϕ(x, y, ~
z )](u, v):
– Pebbles n, . . . , k on ~
z do not move
– Pebble k
− 1 on v , pebble k − 2 on u
– Guess u1 by placing pebble k
− 3 on it
– Check ϕ(u, u1 , ~
z ) recursively
– Go back to u1 , lift pebbles k
– Put pebble k
− 2, k − 3
− 2 on u1
– Continue with u2 ...
→ strong pebbles : the minimum pebble can be lifted even
if the head is somewhere else
Unary TC-logic on trees
Thomas Schwentick
Slide 9
Contents
Introduction and Overview of Results
Pebble Automata and Logic
The Behavior of Pebble Automata
On Strong Pebbles
Hierarchy Theorems
Conclusion
Unary TC-logic on trees
Thomas Schwentick
Slide 10
Tree loops...
We fix some PA A
Basic question
What is the behavior of A on a subtree tv ?
b
a
v
c
6
c
b
b
d
c
d
c
e
a
Thomas Schwentick
5
c
f
b
Unary TC-logic on trees
c
b
g
Slide 11
Tree loops...
We fix some PA A
Basic question
What is the behavior of A on a subtree tv ?
b
Some definitions
• i-configuration : (v, p, vi+1 , . . . , vn )
a
• tree i-loop : subcomputation from
(v, p, vi+1 , . . . , vn ) to
(v, q, vi+1 , . . . , vn ), where for all
intermediate j -configurations:
–
j ≤ i, and
–
j=i ⇒
v
c
6
head below v
c
b
b
d
c
d
c
e
a
Thomas Schwentick
5
c
f
b
Unary TC-logic on trees
c
b
g
Slide 11
Tree loops...
We fix some PA A
Basic question
What is the behavior of A on a subtree tv ?
b
Some definitions
• i-configuration : (v, p, vi+1 , . . . , vn )
a
• tree i-loop : subcomputation from
(v, p, vi+1 , . . . , vn ) to
(v, q, vi+1 , . . . , vn ), where for all
intermediate j -configurations:
–
j ≤ i, and
–
j=i ⇒
v
c
6
head below v
c
b
b
d
c
d
c
e
a
Thomas Schwentick
5
c
f
b
Unary TC-logic on trees
c
b
g
Slide 11
Tree loops...
We fix some PA A
Basic question
What is the behavior of A on a subtree tv ?
b
Some definitions
• i-configuration : (v, p, vi+1 , . . . , vn )
a
• tree i-loop : subcomputation from
(v, p, vi+1 , . . . , vn ) to
(v, q, vi+1 , . . . , vn ), where for all
intermediate j -configurations:
–
j ≤ i, and
–
j=i ⇒
v
c
6
head below v
c
b
b
d
c
d
c
e
a
Thomas Schwentick
5
c
f
b
Unary TC-logic on trees
c
b
g
Slide 11
Tree loops...
We fix some PA A
Basic question
What is the behavior of A on a subtree tv ?
b
Some definitions
• i-configuration : (v, p, vi+1 , . . . , vn )
a
• tree i-loop : subcomputation from
(v, p, vi+1 , . . . , vn ) to
(v, q, vi+1 , . . . , vn ), where for all
intermediate j -configurations:
–
j ≤ i, and
–
j=i ⇒
v
c
6
head below v
c
b
b
d
c
d
c
e
a
4
Thomas Schwentick
5
c
f
b
Unary TC-logic on trees
c
b
g
Slide 11
Tree loops...
We fix some PA A
Basic question
What is the behavior of A on a subtree tv ?
b
Some definitions
• i-configuration : (v, p, vi+1 , . . . , vn )
a
• tree i-loop : subcomputation from
(v, p, vi+1 , . . . , vn ) to
(v, q, vi+1 , . . . , vn ), where for all
intermediate j -configurations:
–
j ≤ i, and
–
j=i ⇒
v
c
6
head below v
c
b
b
d
c
d
c
e
a
4
Thomas Schwentick
5
c
f
b
Unary TC-logic on trees
c
b
g
Slide 11
Tree loops...
We fix some PA A
Basic question
What is the behavior of A on a subtree tv ?
b
Some definitions
• i-configuration : (v, p, vi+1 , . . . , vn )
a
• tree i-loop : subcomputation from
(v, p, vi+1 , . . . , vn ) to
(v, q, vi+1 , . . . , vn ), where for all
intermediate j -configurations:
–
j ≤ i, and
–
j=i ⇒
v
c
6
head below v
c
b
b
d
c
d
c
e
a
4
Thomas Schwentick
5
c
f
b
Unary TC-logic on trees
c
b
g
Slide 11
Tree loops...
We fix some PA A
Basic question
What is the behavior of A on a subtree tv ?
b
Some definitions
• i-configuration : (v, p, vi+1 , . . . , vn )
a
• tree i-loop : subcomputation from
(v, p, vi+1 , . . . , vn ) to
(v, q, vi+1 , . . . , vn ), where for all
intermediate j -configurations:
–
j ≤ i, and
–
j=i ⇒
v
c
6
head below v
c
b
b
d
c
d
c
e
a
4
Thomas Schwentick
5
c
f
b
Unary TC-logic on trees
c
b
g
Slide 11
Tree loops...
We fix some PA A
Basic question
What is the behavior of A on a subtree tv ?
b
Some definitions
• i-configuration : (v, p, vi+1 , . . . , vn )
a
• tree i-loop : subcomputation from
(v, p, vi+1 , . . . , vn ) to
(v, q, vi+1 , . . . , vn ), where for all
intermediate j -configurations:
–
j ≤ i, and
–
j=i ⇒
v
c
6
head below v
c
b
b
d
c
d
c
e
a
4
Thomas Schwentick
5
c
f
b
Unary TC-logic on trees
c
b
g
Slide 11
Tree loops...
We fix some PA A
Basic question
What is the behavior of A on a subtree tv ?
b
Some definitions
• i-configuration : (v, p, vi+1 , . . . , vn )
a
• tree i-loop : subcomputation from
(v, p, vi+1 , . . . , vn ) to
(v, q, vi+1 , . . . , vn ), where for all
intermediate j -configurations:
–
j ≤ i, and
–
j=i ⇒
3
6
head below v
c
v
c
b
b
d
c
d
c
e
a
4
Thomas Schwentick
5
c
f
b
Unary TC-logic on trees
c
b
g
Slide 11
Tree loops...
We fix some PA A
Basic question
What is the behavior of A on a subtree tv ?
b
Some definitions
• i-configuration : (v, p, vi+1 , . . . , vn )
a
• tree i-loop : subcomputation from
(v, p, vi+1 , . . . , vn ) to
(v, q, vi+1 , . . . , vn ), where for all
intermediate j -configurations:
–
j ≤ i, and
–
j=i ⇒
3
6
head below v
c
v
c
b
b
d
c
d
c
e
a
4
Thomas Schwentick
5
c
f
b
Unary TC-logic on trees
c
b
g
Slide 11
Tree loops...
We fix some PA A
Basic question
What is the behavior of A on a subtree tv ?
b
Some definitions
• i-configuration : (v, p, vi+1 , . . . , vn )
a
• tree i-loop : subcomputation from
(v, p, vi+1 , . . . , vn ) to
(v, q, vi+1 , . . . , vn ), where for all
intermediate j -configurations:
–
j ≤ i, and
–
j=i ⇒
3
6
head below v
c
v
c
b
b
d
c
d
c
e
a
4
Thomas Schwentick
5
c
f
b
Unary TC-logic on trees
c
b
g
Slide 11
Tree loops...
We fix some PA A
Basic question
What is the behavior of A on a subtree tv ?
b
Some definitions
• i-configuration : (v, p, vi+1 , . . . , vn )
a
• tree i-loop : subcomputation from
(v, p, vi+1 , . . . , vn ) to
(v, q, vi+1 , . . . , vn ), where for all
intermediate j -configurations:
–
j ≤ i, and
–
j=i ⇒
3
6
head below v
c
v
c
b
b
d
c
d
c
e
a
4
Thomas Schwentick
5
c
f
b
Unary TC-logic on trees
c
b
g
Slide 11
Tree loops...
We fix some PA A
Basic question
What is the behavior of A on a subtree tv ?
b
Some definitions
• i-configuration : (v, p, vi+1 , . . . , vn )
a
• tree i-loop : subcomputation from
(v, p, vi+1 , . . . , vn ) to
(v, q, vi+1 , . . . , vn ), where for all
intermediate j -configurations:
–
j ≤ i, and
–
j=i ⇒
3
6
head below v
c
v
c
b
b
d
c
d
c
e
a
4
Thomas Schwentick
5
c
f
b
Unary TC-logic on trees
c
b
g
Slide 11
Tree loops...
We fix some PA A
Basic question
What is the behavior of A on a subtree tv ?
b
Some definitions
• i-configuration : (v, p, vi+1 , . . . , vn )
a
• tree i-loop : subcomputation from
(v, p, vi+1 , . . . , vn ) to
(v, q, vi+1 , . . . , vn ), where for all
intermediate j -configurations:
–
j ≤ i, and
–
j=i ⇒
3
6
head below v
c
v
c
b
b
d
c
d
c
e
a
4
Thomas Schwentick
5
c
f
b
Unary TC-logic on trees
c
b
2
g
Slide 11
Tree loops...
We fix some PA A
Basic question
What is the behavior of A on a subtree tv ?
b
Some definitions
• i-configuration : (v, p, vi+1 , . . . , vn )
a
• tree i-loop : subcomputation from
(v, p, vi+1 , . . . , vn ) to
(v, q, vi+1 , . . . , vn ), where for all
intermediate j -configurations:
–
j ≤ i, and
–
j=i ⇒
3
6
head below v
c
v
c
b
b
d
c
d
c
e
a
4
Thomas Schwentick
5
c
f
b
Unary TC-logic on trees
c
b
2
g
Slide 11
Tree loops...
We fix some PA A
Basic question
What is the behavior of A on a subtree tv ?
b
Some definitions
• i-configuration : (v, p, vi+1 , . . . , vn )
a
• tree i-loop : subcomputation from
(v, p, vi+1 , . . . , vn ) to
(v, q, vi+1 , . . . , vn ), where for all
intermediate j -configurations:
–
j ≤ i, and
–
j=i ⇒
3
6
head below v
c
v
c
b
b
d
c
d
c
e
a
4
Thomas Schwentick
5
c
f
b
Unary TC-logic on trees
c
b
2
g
Slide 11
Tree loops...
We fix some PA A
Basic question
What is the behavior of A on a subtree tv ?
b
Some definitions
• i-configuration : (v, p, vi+1 , . . . , vn )
a
• tree i-loop : subcomputation from
(v, p, vi+1 , . . . , vn ) to
(v, q, vi+1 , . . . , vn ), where for all
intermediate j -configurations:
–
j ≤ i, and
–
j=i ⇒
3
6
head below v
c
v
c
b
b
d
c
d
c
e
a
4
Thomas Schwentick
5
c
f
b
Unary TC-logic on trees
c
b
2
g
Slide 11
Tree loops...
We fix some PA A
Basic question
What is the behavior of A on a subtree tv ?
b
Some definitions
• i-configuration : (v, p, vi+1 , . . . , vn )
a
• tree i-loop : subcomputation from
(v, p, vi+1 , . . . , vn ) to
(v, q, vi+1 , . . . , vn ), where for all
intermediate j -configurations:
–
j ≤ i, and
–
j=i ⇒
3
6
head below v
c
v
c
b
b
d
c
d
c
e
a
4
Thomas Schwentick
5
c
f
b
Unary TC-logic on trees
c
b
2
g
Slide 11
Tree loops...
We fix some PA A
Basic question
What is the behavior of A on a subtree tv ?
b
Some definitions
• i-configuration : (v, p, vi+1 , . . . , vn )
a
• tree i-loop : subcomputation from
(v, p, vi+1 , . . . , vn ) to
(v, q, vi+1 , . . . , vn ), where for all
intermediate j -configurations:
–
j ≤ i, and
–
j=i ⇒
3
6
head below v
c
v
c
b
b
d
c
d
c
e
a
4
Thomas Schwentick
5
c
f
b
Unary TC-logic on trees
c
b
g
Slide 11
Tree loops...
We fix some PA A
Basic question
What is the behavior of A on a subtree tv ?
b
Some definitions
• i-configuration : (v, p, vi+1 , . . . , vn )
a
• tree i-loop : subcomputation from
(v, p, vi+1 , . . . , vn ) to
(v, q, vi+1 , . . . , vn ), where for all
intermediate j -configurations:
–
j ≤ i, and
–
j=i ⇒
3
6
head below v
c
v
c
b
b
d
c
d
c
e
a
4
Thomas Schwentick
5
c
f
b
Unary TC-logic on trees
c
b
g
Slide 11
Tree loops...
We fix some PA A
Basic question
What is the behavior of A on a subtree tv ?
b
Some definitions
• i-configuration : (v, p, vi+1 , . . . , vn )
a
• tree i-loop : subcomputation from
(v, p, vi+1 , . . . , vn ) to
(v, q, vi+1 , . . . , vn ), where for all
intermediate j -configurations:
–
j ≤ i, and
–
j=i ⇒
3
6
head below v
c
v
c
b
b
d
c
d
c
e
a
4
Thomas Schwentick
5
c
f
b
Unary TC-logic on trees
c
b
g
Slide 11
Tree loops...
We fix some PA A
Basic question
What is the behavior of A on a subtree tv ?
b
Some definitions
• i-configuration : (v, p, vi+1 , . . . , vn )
a
• tree i-loop : subcomputation from
(v, p, vi+1 , . . . , vn ) to
(v, q, vi+1 , . . . , vn ), where for all
intermediate j -configurations:
–
j ≤ i, and
–
j=i ⇒
3
6
head below v
c
v
c
b
b
d
c
d
c
e
a
4
Thomas Schwentick
5
c
f
b
Unary TC-logic on trees
c
b
g
Slide 11
Tree loops...
We fix some PA A
Basic question
What is the behavior of A on a subtree tv ?
b
Some definitions
• i-configuration : (v, p, vi+1 , . . . , vn )
a
• tree i-loop : subcomputation from
(v, p, vi+1 , . . . , vn ) to
(v, q, vi+1 , . . . , vn ), where for all
intermediate j -configurations:
–
j ≤ i, and
–
j=i ⇒
3
6
head below v
c
v
c
b
b
d
c
d
c
e
a
4
Thomas Schwentick
5
c
f
b
Unary TC-logic on trees
c
b
g
Slide 11
Tree loops...
We fix some PA A
Basic question
What is the behavior of A on a subtree tv ?
b
Some definitions
• i-configuration : (v, p, vi+1 , . . . , vn )
a
• tree i-loop : subcomputation from
(v, p, vi+1 , . . . , vn ) to
(v, q, vi+1 , . . . , vn ), where for all
intermediate j -configurations:
–
j ≤ i, and
–
j=i ⇒
v
c
6
head below v
c
b
b
d
c
d
c
e
a
4
Thomas Schwentick
5
c
f
b
Unary TC-logic on trees
c
b
g
Slide 11
Tree loops...
We fix some PA A
Basic question
What is the behavior of A on a subtree tv ?
b
Some definitions
• i-configuration : (v, p, vi+1 , . . . , vn )
a
• tree i-loop : subcomputation from
(v, p, vi+1 , . . . , vn ) to
(v, q, vi+1 , . . . , vn ), where for all
intermediate j -configurations:
–
j ≤ i, and
–
j=i ⇒
v
c
6
head below v
c
b
b
d
c
d
c
e
a
4
Thomas Schwentick
5
c
f
b
Unary TC-logic on trees
c
b
g
Slide 11
Tree loops...
We fix some PA A
Basic question
What is the behavior of A on a subtree tv ?
b
Some definitions
• i-configuration : (v, p, vi+1 , . . . , vn )
a
• tree i-loop : subcomputation from
(v, p, vi+1 , . . . , vn ) to
(v, q, vi+1 , . . . , vn ), where for all
intermediate j -configurations:
–
j ≤ i, and
–
j=i ⇒
v
c
6
head below v
c
b
b
d
c
d
c
e
a
4
Thomas Schwentick
5
c
f
b
Unary TC-logic on trees
c
b
g
Slide 11
Tree loops...
We fix some PA A
Basic question
What is the behavior of A on a subtree tv ?
b
Some definitions
• i-configuration : (v, p, vi+1 , . . . , vn )
a
• tree i-loop : subcomputation from
(v, p, vi+1 , . . . , vn ) to
(v, q, vi+1 , . . . , vn ), where for all
intermediate j -configurations:
–
j ≤ i, and
–
j=i ⇒
v
c
6
head below v
c
b
b
d
c
d
c
e
a
4
Thomas Schwentick
5
c
f
b
Unary TC-logic on trees
c
b
g
Slide 11
Tree loops...
We fix some PA A
Basic question
What is the behavior of A on a subtree tv ?
b
Some definitions
• i-configuration : (v, p, vi+1 , . . . , vn )
a
• tree i-loop : subcomputation from
(v, p, vi+1 , . . . , vn ) to
(v, q, vi+1 , . . . , vn ), where for all
intermediate j -configurations:
–
j ≤ i, and
–
j=i ⇒
v
c
6
head below v
c
b
b
d
c
d
c
e
a
4
Thomas Schwentick
5
c
f
b
Unary TC-logic on trees
c
b
g
Slide 11
Tree loops...
We fix some PA A
Basic question
What is the behavior of A on a subtree tv ?
b
Some definitions
• i-configuration : (v, p, vi+1 , . . . , vn )
a
• tree i-loop : subcomputation from
(v, p, vi+1 , . . . , vn ) to
(v, q, vi+1 , . . . , vn ), where for all
intermediate j -configurations:
–
j ≤ i, and
–
j=i ⇒
v
c
6
head below v
c
b
b
d
c
d
c
e
a
Thomas Schwentick
5
c
f
b
Unary TC-logic on trees
c
b
g
Slide 11
Tree loops...
We fix some PA A
Basic question
What is the behavior of A on a subtree tv ?
b
Some definitions
• i-configuration : (v, p, vi+1 , . . . , vn )
a
• tree i-loop : subcomputation from
(v, p, vi+1 , . . . , vn ) to
(v, q, vi+1 , . . . , vn ), where for all
intermediate j -configurations:
–
j ≤ i, and
–
j=i ⇒
v
c
6
head below v
c
b
b
d
c
d
c
e
a
Thomas Schwentick
5
c
f
b
Unary TC-logic on trees
c
b
g
Slide 11
Tree loops...
We fix some PA A
Basic question
What is the behavior of A on a subtree tv ?
b
Some definitions
• i-configuration : (v, p, vi+1 , . . . , vn )
a
• tree i-loop : subcomputation from
(v, p, vi+1 , . . . , vn ) to
(v, q, vi+1 , . . . , vn ), where for all
intermediate j -configurations:
–
j ≤ i, and
–
j=i ⇒
v
c
6
head below v
c
b
b
d
c
d
c
e
a
Thomas Schwentick
5
c
f
b
Unary TC-logic on trees
c
b
g
Slide 11
Tree loops...
We fix some PA A
Basic question
What is the behavior of A on a subtree tv ?
b
Some definitions
• i-configuration : (v, p, vi+1 , . . . , vn )
a
• tree i-loop : subcomputation from
(v, p, vi+1 , . . . , vn ) to
(v, q, vi+1 , . . . , vn ), where for all
intermediate j -configurations:
–
j ≤ i, and
–
j=i ⇒
v
c
6
head below v
c
b
b
d
c
d
c
e
a
c
b
5
c
f
Observations
• During an i-loop the head can leave tv
b
g
• Subcomputations on the context Cv might
depend on tv and on further pebbles in tv
→ What do we need to know of tv to simulate A?
Unary TC-logic on trees
Thomas Schwentick
Slide 11
... and types
Definition
• 0-type of tv : all pairs (p, q) such that there is a
tree 0-loop ...
b
a
v
c
6
c
b
b
d
c
d
c
e
a
Thomas Schwentick
5
c
f
b
Unary TC-logic on trees
c
b
g
Slide 12
... and types
Definition
• 0-type of tv : all pairs (p, q) such that there is a
tree 0-loop ...
b
• 1-type of tv : for each 0-type B0 of a context Cv
all pairs (p, q) such that there is a tree 1-loop ...
a
v
c
6
c
b
b
d
c
d
c
e
a
Thomas Schwentick
5
c
f
b
Unary TC-logic on trees
c
b
g
Slide 12
... and types
Definition
• 0-type of tv : all pairs (p, q) such that there is a
tree 0-loop ...
b
• 1-type of tv : for each 0-type B0 of a context Cv
all pairs (p, q) such that there is a tree 1-loop ...
a
• 2-type of tv : for each 0-type B0 and 1-type B1
of a context Cv all pairs (p, q) such that there is a
tree 2-loop ...
v
c
6
c
b
b
d
c
d
c
e
a
Thomas Schwentick
5
c
f
b
Unary TC-logic on trees
c
b
g
Slide 12
... and types
Definition
• 0-type of tv : all pairs (p, q) such that there is a
tree 0-loop ...
b
• 1-type of tv : for each 0-type B0 of a context Cv
all pairs (p, q) such that there is a tree 1-loop ...
a
• 2-type of tv : for each 0-type B0 and 1-type B1
of a context Cv all pairs (p, q) such that there is a
tree 2-loop ...
• i-type of tv : for each 0-type B0 ,..., (i − 1)-type
Bi−1 of a context Cv all pairs (p, q) such that
there is a tree i-loop ...
v
c
6
c
b
b
d
c
d
c
e
a
Thomas Schwentick
5
c
f
b
Unary TC-logic on trees
c
b
g
Slide 12
... and types
Definition
• 0-type of tv : all pairs (p, q) such that there is a
tree 0-loop ...
b
• 1-type of tv : for each 0-type B0 of a context Cv
all pairs (p, q) such that there is a tree 1-loop ...
a
• 2-type of tv : for each 0-type B0 and 1-type B1
of a context Cv all pairs (p, q) such that there is a
tree 2-loop ...
• i-type of tv : for each 0-type B0 ,..., (i − 1)-type
Bi−1 of a context Cv all pairs (p, q) such that
there is a tree i-loop ...
v
c
6
c
b
b
d
c
d
c
e
a
c
b
5
c
f
Lemma
• There are only finitely many i-types
b
g
• i-types are compositional
• i-types can be “computed” by an i-pebble PA
Unary TC-logic on trees
Thomas Schwentick
Slide 12
Contents
Introduction and Overview of Results
Pebble Automata and Logic
The Behavior of Pebble Automata
On Strong Pebbles
Hierarchy Theorems
Conclusion
Unary TC-logic on trees
Thomas Schwentick
Slide 13
Strong pebbles aren’t that strong
Theorem 1
For each n
≥ 0:
(a)
sPAn = PAn
(b)
sDPAn = DPAn
Proof idea
• Intermediate model: k-weak-PA
– pebbles k, . . . , n are strong
– pebbles 1, . . . , k
− 1 are weak
• Induction on k.
– Each k-weak n-pebble automaton A
has an equivalent (k
+ 1)-weak
automaton A0
→ we basically have to show how to simulate
a strong pebble k by a weak pebble k
(where strong pebbles k + 1, . . . , n are
fixed)
Unary TC-logic on trees
Thomas Schwentick
Slide 14
Strong pebbles aren’t that strong
Theorem 1
For each n
Proof idea (cont.)
≥ 0:
(a)
sPAn = PAn
(b)
sDPAn = DPAn
• Assume A drops strong pebble k at v and
lifts it when its head is at w (say: below v )
• Let u1 = v, u2 , . . . , vm = w path
from v to w
Proof idea
• Idea: A0 moves pebble k towards w
– When k-configuration
at ui is reached, pebble k is moved to it
• Intermediate model: k-weak-PA
– pebbles k, . . . , n are strong
– pebbles 1, . . . , k
− 1 are weak
• Induction on k.
– Each k-weak n-pebble automaton A
has an equivalent (k
– The head never moves
above pebble k
+ 1)-weak
– Behavior of
automaton A0
maintained inductively
→ we basically have to show how to simulate
a strong pebble k by a weak pebble k
(where strong pebbles k + 1, . . . , n are
fixed)
Unary TC-logic on trees
Cui is
• The deterministic case requires more care
Thomas Schwentick
Slide 14
Contents
Introduction and Overview of Results
Pebble Automata and Logic
The Behavior of Pebble Automata
On Strong Pebbles
Hierarchy Theorems
Conclusion
Unary TC-logic on trees
Thomas Schwentick
Slide 15
Hierarchy theorems
Goal of this part:
Theorem 2
PA ( REG
We first show:
Theorem 3
For each n
≥ 0, PAn ( PAn+1
We build on
Theorem [Bojańczyk, Colcombet 05]
TWA
Unary TC-logic on trees
( REG
Thomas Schwentick
Slide 16
A look at “TWA
( REG”
• Quasi-blank trees :
Alphabet {a, b}, a appears only in leaves
Unary TC-logic on trees
Thomas Schwentick
Slide 17
A look at “TWA
( REG”
• Quasi-blank trees :
Alphabet {a, b}, a appears only in leaves
• Branching structure :
t
b(t)
→
a
a
Unary TC-logic on trees
a
Thomas Schwentick
Slide 17
A look at “TWA
( REG”
• Quasi-blank trees :
Alphabet {a, b}, a appears only in leaves
• Branching structure :
t
b(t)
→
a a
a
• Lbranch : all trees t, where in b(t) all
root-to-leaf paths have even length
Unary TC-logic on trees
Thomas Schwentick
Slide 17
A look at “TWA
( REG”
• Quasi-blank trees :
Alphabet {a, b}, a appears only in leaves
• Branching structure :
t
b(t)
→
a a
a
• Lbranch : all trees t, where in b(t) all
root-to-leaf paths have even length
Theorem [Bojańczyk, Colcombet 05]
Lbranch ∈ REG − TWA
Unary TC-logic on trees
Thomas Schwentick
Slide 17
A look at “TWA
( REG”
• Quasi-blank trees :
Alphabet {a, b}, a appears only in leaves
• Branching structure :
t
b(t)
→
a a
a
• Lbranch : all trees t, where in b(t) all
root-to-leaf paths have even length
Theorem [Bojańczyk, Colcombet 05]
Lbranch ∈ REG − TWA
• Even more: for each A there are
s ∈ Lbranch and t 6∈ Lbranch such that each
root-to-root loop of A on s also exists on t
Unary TC-logic on trees
Thomas Schwentick
Slide 17
A look at “TWA
• Quasi-blank trees :
Alphabet {a, b}, a appears only in leaves
( REG”
• We need a stronger statement: the
root-to-root behavior of A on s and t should
be exactly the same
• Branching structure :
• Leven : Number of 0∗ 1-nodes v in b(t)
t
b(t)
whose subtree only has even length branches
is even
→
a a
a
• Lbranch : all trees t, where in b(t) all
root-to-leaf paths have even length
Theorem [Bojańczyk, Colcombet 05]
Lbranch ∈ REG − TWA
• Even more: for each A there are
s ∈ Lbranch and t 6∈ Lbranch such that each
root-to-root loop of A on s also exists on t
Unary TC-logic on trees
Thomas Schwentick
Slide 17
A look at “TWA
• Quasi-blank trees :
Alphabet {a, b}, a appears only in leaves
( REG”
• We need a stronger statement: the
root-to-root behavior of A on s and t should
be exactly the same
• Branching structure :
• Leven : Number of 0∗ 1-nodes v in b(t)
t
b(t)
whose subtree only has even length branches
is even
→
Proposition
For each A there are s
∈ Leven and t 6∈ Leven
such that A has the same root-to-root behavior
a a
a
• Lbranch : all trees t, where in b(t) all
on s and t
root-to-leaf paths have even length
Theorem [Bojańczyk, Colcombet 05]
Lbranch ∈ REG − TWA
• Even more: for each A there are
s ∈ Lbranch and t 6∈ Lbranch such that each
root-to-root loop of A on s also exists on t
Unary TC-logic on trees
Thomas Schwentick
Slide 17
A language separating PAn from PAn−1
• n-leveled tree :
– Alphabet {a, b, c}
– All root-to-leaf paths are in
(cb∗ )n (a + b)
c
ccc c
level 4
level 3
cccccccccc
level 2
cc
ccccccccccc ccccc
a
a
Unary TC-logic on trees
a
a
level 1
level 0
Thomas Schwentick
Slide 18
A language separating PAn from PAn−1
• n-leveled tree :
– Alphabet {a, b, c}
• L-folding :
– All root-to-leaf paths are in
(cb∗ )n (a + b)
c
ccc c
level 4
Unary TC-logic on trees
c
c
a
b
a
a
∈ L 6∈ L ∈ L
level 2
cc
ccccccccccc ccccc
a
c
⇒
level 3
cccccccccc
a
n−1
a
level 1
• Ln : all n-leveled trees whose Ln−1 -folding
is in Leven
level 0
Thomas Schwentick
Slide 18
A language separating PAn from PAn−1
• n-leveled tree :
– Alphabet {a, b, c}
• L-folding :
– All root-to-leaf paths are in
(cb∗ )n (a + b)
c
ccc c
level 4
c
c
a
b
a
a
∈ L 6∈ L ∈ L
level 2
cc
ccccccccccc ccccc
a
c
⇒
level 3
cccccccccc
a
n−1
a
level 1
• Ln : all n-leveled trees whose Ln−1 -folding
is in Leven
level 0
Main Lemma
• Ln ∈ DPAn
• Ln 6∈ PAn−1
Unary TC-logic on trees
Thomas Schwentick
Slide 18
Proof of Main Lemma
Main Lemma
• Ln ∈ DPAn
• Ln 6∈ PAn−1
Proof
• Towards a contradiction, assume
L(A) = Ln , for some (n − 1)-pebble
automaton A
• We inductively construct
–
s1 , . . . , sn ∈ Ln
–
t1 , . . . , tn 6∈ Ln
such that si and ti have equivalent i-type
wrt A
• At level i − 1, both si , ti have only
subtrees si−1 , ti−1
Unary TC-logic on trees
Thomas Schwentick
Slide 19
Proof of Main Lemma
Main Lemma
Proof (cont.)
• Ln ∈ DPAn
Intuition:
• Ln 6∈ PAn−1
• If pebble i is not in the tree, A acts like a
Proof
• Towards a contradiction, assume
L(A) = Ln , for some (n − 1)-pebble
automaton A
• We inductively construct
–
s1 , . . . , sn ∈ Ln
–
t1 , . . . , tn 6∈ Ln
TWA
• If pebble i is placed above level i − 1, A
can not distinguish si−1 -subtrees from
ti−1 -subtrees
• Subcomputations taking pebble i below level
i − 1 do not learn more than the type of the
subtree
such that si and ti have equivalent i-type
wrt A
• At level i − 1, both si , ti have only
subtrees si−1 , ti−1
Unary TC-logic on trees
Thomas Schwentick
Slide 19
Proof of Main Lemma
Main Lemma
Proof (cont.)
• Ln ∈ DPAn
Intuition:
• Ln 6∈ PAn−1
• If pebble i is not in the tree, A acts like a
Proof
• Towards a contradiction, assume
L(A) = Ln , for some (n − 1)-pebble
automaton A
• We inductively construct
–
s1 , . . . , sn ∈ Ln
–
t1 , . . . , tn 6∈ Ln
• At level i − 1, both si , ti have only
subtrees si−1 , ti−1
Unary TC-logic on trees
• If pebble i is placed above level i − 1, A
can not distinguish si−1 -subtrees from
ti−1 -subtrees
• Subcomputations taking pebble i below level
i − 1 do not learn more than the type of the
subtree
such that si and ti have equivalent i-type
wrt A
TWA
• Not very precise
→ Formalization through “oracle automata”
Thomas Schwentick
Slide 19
Oracle automata
• Oracle automaton :
– basis: tree-walking automaton
– no pebbles!
– works on folding
– structure oracle :
∗ MSO-formulas ϕ1 (x), . . . , ϕl (x)
which do not test labels
∗ transition at node v depends on
(ϕ1 (v), . . . , ϕl (v))
Proposition
∈ L1 and t 6∈ L1
such that each oracle automaton of size ≤ m
has the same root-to-root loops on s and t
For each m there are s
Proof idea for proposition
Slight extension of TWA-proof
Unary TC-logic on trees
Thomas Schwentick
Slide 20
Oracle automata
Proof of Main Lemma (cont.)
• Oracle automaton :
• i = 0: follows from Proposition
– basis: tree-walking automaton
(even TWA-case sufficient)
– no pebbles!
– works on folding
– structure oracle :
∗ MSO-formulas ϕ1 (x), . . . , ϕl (x)
which do not test labels
∗ transition at node v depends on
(ϕ1 (v), . . . , ϕl (v))
Proposition
∈ L1 and t 6∈ L1
such that each oracle automaton of size ≤ m
has the same root-to-root loops on s and t
For each m there are s
• i − 1 → i:
– Choose m large enough wrt A, i
– Pick s ∈ L1 ,t 6∈ L1 such that no
oracle automaton of size ≤ m can
distinguish s from t
– si+1 := s, where each a-leaf is
replaced by si and each b-leaf by ti
– (ti+1 accordingly)
Proof idea for proposition
Slight extension of TWA-proof
Unary TC-logic on trees
Thomas Schwentick
Slide 20
Oracle automata
Proof of Main Lemma (cont.)
• Oracle automaton :
• i = 0: follows from Proposition
– basis: tree-walking automaton
(even TWA-case sufficient)
– no pebbles!
– works on folding
– structure oracle :
∗ MSO-formulas ϕ1 (x), . . . , ϕl (x)
which do not test labels
∗ transition at node v depends on
(ϕ1 (v), . . . , ϕl (v))
Proposition
∈ L1 and t 6∈ L1
such that each oracle automaton of size ≤ m
has the same root-to-root loops on s and t
For each m there are s
• i − 1 → i:
– Choose m large enough wrt A, i
– Pick s ∈ L1 ,t 6∈ L1 such that no
oracle automaton of size ≤ m can
distinguish s from t
– si+1 := s, where each a-leaf is
replaced by si and each b-leaf by ti
– (ti+1 accordingly)
– Assumption: i-type of A distinguishes
si+1 from ti+1
Proof idea for proposition
Slight extension of TWA-proof
Unary TC-logic on trees
Thomas Schwentick
Slide 20
Oracle automata
Proof of Main Lemma (cont.)
• Oracle automaton :
• i = 0: follows from Proposition
– basis: tree-walking automaton
(even TWA-case sufficient)
– no pebbles!
– works on folding
– structure oracle :
∗ MSO-formulas ϕ1 (x), . . . , ϕl (x)
which do not test labels
∗ transition at node v depends on
(ϕ1 (v), . . . , ϕl (v))
Proposition
∈ L1 and t 6∈ L1
such that each oracle automaton of size ≤ m
has the same root-to-root loops on s and t
For each m there are s
Proof idea for proposition
Slight extension of TWA-proof
Unary TC-logic on trees
• i − 1 → i:
– Choose m large enough wrt A, i
– Pick s ∈ L1 ,t 6∈ L1 such that no
oracle automaton of size ≤ m can
distinguish s from t
– si+1 := s, where each a-leaf is
replaced by si and each b-leaf by ti
– (ti+1 accordingly)
– Assumption: i-type of A distinguishes
si+1 from ti+1
⇒ there is an oracle automaton O of size
≤ m which distinguishes s from t
⇒ contradiction
Thomas Schwentick
Slide 20
Finale
Proof of Main Lemma (cont.)
Simulation of A by O :
• 3 cases:
– all pebbles lifted, A’s head above level i:
O just does the same as A
– all pebbles lifted, A’s head moves below level
i:
→ O reads a iff subtree is si
→ transition corresponding to i-loops of A
on si and ti
–
A drops pebble i (above level i):
subcomputation can be simulated by
(i − 1)-pebble automaton A0 which does
not read labels
→ behavior of A0 can be described by formulas
ϕ1 (x), . . . , ϕl (x)
Unary TC-logic on trees
Thomas Schwentick
Slide 21
Finale
Proof of Main Lemma (cont.)
Simulation of A by O :
• 3 cases:
– all pebbles lifted, A’s head above level i:
Conclude PA
( REG
[
Ln 6∈ PA but also
n
[
Ln 6∈ REG
n
O just does the same as A
– all pebbles lifted, A’s head moves below level
i:
→ O reads a iff subtree is si
→ transition corresponding to i-loops of A
on si and ti
–
A drops pebble i (above level i):
subcomputation can be simulated by
(i − 1)-pebble automaton A0 which does
not read labels
→ behavior of A0 can be described by formulas
ϕ1 (x), . . . , ϕl (x)
Unary TC-logic on trees
Thomas Schwentick
Slide 21
Finale
Proof of Main Lemma (cont.)
Simulation of A by O :
• 3 cases:
– all pebbles lifted, A’s head above level i:
O just does the same as A →
– all pebbles lifted, A’s head moves below level
i:
⇒
→ O reads a iff subtree is si
→ transition corresponding to i-loops of A
on si and ti
–
Conclude PA
( REG
[
Ln 6∈ PA but also
n
[
Ln 6∈ REG
n
Choose L as the ”closure of Leven
under partial folding”
L ∈ REG − PA and all
sn ∈ L, tn 6∈ L
A drops pebble i (above level i):
subcomputation can be simulated by
(i − 1)-pebble automaton A0 which does
not read labels
→ behavior of A0 can be described by formulas
ϕ1 (x), . . . , ϕl (x)
Unary TC-logic on trees
Thomas Schwentick
Slide 21
Further results and conclusion
Theorem
• For each n ≥ 0,
–
DPAn ( DPAn+1
–
TWA 6⊆ DPAn
–
sDPAn = DPAn
–
sDPAn is closed under complement
Open problems
• FO + DTC ( FO + posTC?
• FO + posTC ( FO + TC?
• FO + TC ( REG?
Unary TC-logic on trees
Thomas Schwentick
Slide 22
© Copyright 2026 Paperzz