• Non ci sono risultati.

First-order theories Gabriele Puppis

N/A
N/A
Protected

Academic year: 2021

Condividi "First-order theories Gabriele Puppis"

Copied!
35
0
0

Testo completo

(1)

First-order theories

Gabriele Puppis

LaBRI / CNRS

(2)

Definition

Fix a class C of structures (e.g. graphs) and a logic L (e.g. FO).

The LLL-theory of CCC is the set of all formulas in L that can be satisfied by some structure inC .

The theory is decidable if there is an algorithm that receives formulas as input and tells whether they are in the theory or not.

Examples

first-order theory of the class of all graphs monadic theory of the class of all linear orders monadic theory of N

monadic theory of the grid

(3)

Definition

Fix a class C of structures (e.g. graphs) and a logic L (e.g. FO).

The LLL-theory of CCC is the set of all formulas in L that can be satisfied by some structure inC .

The theory is decidable if there is an algorithm that receives formulas as input and tells whether they are in the theory or not.

Examples

first-order theory of the class of all graphs monadic theory of the class of all linear orders monadic theory of N

monadic theory of the grid

(4)

Undecidability of first-order theory

One cannot decide whether a given formula of FO[Σ, E1, E2]

FO[Σ, E1, E2]

FO[Σ, E1, E2] is satisfied over some labelled gridlabelled gridlabelled grid.

(and equally for MSO[EMSO[EMSO[E111, E, E, E222]]]over the grid N × NN × NN × N)

Given a Turing machine M, construct ψψψMMM defining its halting runs:

1 encode initial configuration by top row

2 encode next configurations by next rows

3 find a row with halting configuration

MSO can even guess the labelling!

⋮ ⋮ ⋮ ⋮

⋯ qhalt

qqhalthalt

(5)

Undecidability of first-order theory

One cannot decide whether a given formula of FO[Σ, E1, E2]

FO[Σ, E1, E2]

FO[Σ, E1, E2] is satisfied over some labelled gridlabelled gridlabelled grid.

(and equally for MSO[EMSO[EMSO[E111, E, E, E222]]]over the grid N × NN × NN × N)

Given a Turing machine M, construct ψψψMMM defining its halting runs:

1 encode initial configuration by top row

2 encode next configurations by next rows

3 find a row with halting configuration

MSO can even guess the labelling!

⋮ ⋮ ⋮ ⋮

⋯ qhalt

qqhalthalt

(6)

Undecidability of first-order theory

One cannot decide whether a given formula of FO[Σ, E1, E2]

FO[Σ, E1, E2]

FO[Σ, E1, E2] is satisfied over some labelled gridlabelled gridlabelled grid.

(and equally for MSO[EMSO[EMSO[E111, E, E, E222]]]over the grid N × NN × NN × N)

Given a Turing machine M, construct ψψψMMM defining its halting runs:

1 encode initial configuration by top row

2 encode next configurations by next rows

3 find a row with halting configuration

MSO can even guess the labelling!

⋮ ⋮ ⋮ ⋮

⋱ q0

q0

q0 ⊔⊔⊔ ⊔⊔⊔ ⊔⊔⊔

qhalt qqhalthalt

(7)

Undecidability of first-order theory

One cannot decide whether a given formula of FO[Σ, E1, E2]

FO[Σ, E1, E2]

FO[Σ, E1, E2] is satisfied over some labelled gridlabelled gridlabelled grid.

(and equally for MSO[EMSO[EMSO[E111, E, E, E222]]]over the grid N × NN × NN × N)

Given a Turing machine M, construct ψψψMMM defining its halting runs:

1 encode initial configuration by top row

2 encode next configurations by next rows

3 find a row with halting configuration

MSO can even guess the labelling!

⋮ ⋮ ⋮ ⋮

⋱ q0

q0

q0 ⊔⊔⊔ ⊔⊔⊔ ⊔⊔⊔ aaa qqq111 ⊔⊔⊔ ⊔⊔⊔ aaa bbb qqq222 ⊔⊔⊔ aaa qqq333 bbb ⊔⊔⊔

qhalt qqhalthalt

(8)

Undecidability of first-order theory

One cannot decide whether a given formula of FO[Σ, E1, E2]

FO[Σ, E1, E2]

FO[Σ, E1, E2] is satisfied over some labelled gridlabelled gridlabelled grid.

(and equally for MSO[EMSO[EMSO[E111, E, E, E222]]]over the grid N × NN × NN × N)

Given a Turing machine M, construct ψψψMMM defining its halting runs:

1 encode initial configuration by top row

2 encode next configurations by next rows

3 find a row with halting configuration

MSO can even guess the labelling!

⋮ ⋮ ⋮ ⋮

⋱ q0

q0

q0 ⊔⊔⊔ ⊔⊔⊔ ⊔⊔⊔ aaa qqq111 ⊔⊔⊔ ⊔⊔⊔ aaa bbb qqq222 ⊔⊔⊔ aaa qqq333 bbb ⊔⊔⊔

qhalt qqhalthalt

(9)

Undecidability of first-order theory

One cannot decide whether a given formula of FO[Σ, E1, E2]

FO[Σ, E1, E2]

FO[Σ, E1, E2] is satisfied over some labelled gridlabelled gridlabelled grid.

(and equally for MSO[EMSO[EMSO[E111, E, E, E222]]]over the grid N × NN × NN × N)

Given a Turing machine M, construct ψψψMMM defining its halting runs:

1 encode initial configuration by top row

2 encode next configurations by next rows

3 find a row with halting configuration

MSO can even guess the labelling!

⋮ ⋮ ⋮ ⋮

⋱ q0

q0

q0 ⊔⊔⊔ ⊔⊔⊔ ⊔⊔⊔ aaa qqq111 ⊔⊔⊔ ⊔⊔⊔ aaa bbb qqq222 ⊔⊔⊔ aaa qqq333 bbb ⊔⊔⊔

qhalt qqhalthalt

(10)

Undecidability of first-order theory

One cannot decide whether a given formula of FO[Σ, E1, E2]

FO[Σ, E1, E2]

FO[Σ, E1, E2] is satisfied over some labelled gridlabelled gridlabelled grid.

(and equally for MSO[EMSO[EMSO[E111, E, E, E222]]]over the grid N × NN × NN × N)

Given a Turing machine M, construct ψψψMMM defining its halting runs:

1 encode initial configuration by top row

2 encode next configurations by next rows

3 find a row with halting configuration

MSO can even guess the labelling!

⋮ ⋮ ⋮ ⋮

⋱ q0

q0

q0 ⊔⊔⊔ ⊔⊔⊔ ⊔⊔⊔ aaa qqq111 ⊔⊔⊔ ⊔⊔⊔ aaa bbb qqq222 ⊔⊔⊔ aaa qqq333 bbb ⊔⊔⊔

qhalt qqhalthalt

(11)

Consequences (Church ’36, Turing ’37, Trakhtenbrot ’50, ...) The FO theory of the class of all finite structures is undecidable (provided that signature contains a binary predicate besides =).

The MSO theory of any class of graphs with unbounded grids as minors

unbounded grids as minorsunbounded grids as minors is undecidable. The MSO theory of (N, +)((N, +)N, +) is undecidable.

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

n

4n+20

(12)

Consequences (Church ’36, Turing ’37, Trakhtenbrot ’50, ...) The FO theory of the class of all finite structures is undecidable (provided that signature contains a binary predicate besides =).

The MSO theory of any class of graphs with unbounded grids as minors

unbounded grids as minorsunbounded grids as minors is undecidable.

The MSO theory of (N, +)((N, +)N, +) is undecidable.

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

n

4n+20

(13)

Consequences (Church ’36, Turing ’37, Trakhtenbrot ’50, ...) The FO theory of the class of all finite structures is undecidable (provided that signature contains a binary predicate besides =).

The MSO theory of any class of graphs with unbounded grids as minors

unbounded grids as minorsunbounded grids as minors is undecidable.

The MSO theory of (N, +)((N, +)N, +) is undecidable.

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

n n+1 n+2 n+3 n+4

2n 2n+2 2n+4 2n+6 2n+8

3n 3n+3 3n+6 3n+9 3n+12

4n 4n+4 4n+8 4n+16 4n+20

(14)

Definition

Presburger arithmetic is the first-order theory of (N, +)((N, +)N, +)

Examples of Presburger formulas

ψ0 = ∃x . ∀y . (x + y = y ) ϕ(x , y ) = ∃z . (y = x + z ) ϕ(x , y ) = (x + x = y )

ψω = ∀x . ∃y . (x ≤ y ∧ ¬x = y )

(15)

Decidability of Presburger arithmetic (Presburger ’29) One can decide if a Presburger sentence ψ holds over (N, +).

Originally proved by quantifier elimination. Here we use automata!

1 Encode numbers x ∈ N by reverse binary expansions [x] ∈ B[[x ] ∈ Bx ] ∈ B e.g. [4] = 001, [0] = ε, . . .

2 Encode sum relation + ⊆ N × N × N by language LLL+++⊆ (⊆ (⊆ (B × B × B)B × B × B)B × B × B) e.g. [ + (3,1,4)] = [3] ⊗ [1] ⊗ [4] = (

1 1 0) (

1 0 0) (

0 0 1)

A+

p q

(

0 0 0), (10

1), (01

1) (

1 0 0), (01

0), (11

1) (

1 1 0) (

0 0 1)

(16)

Decidability of Presburger arithmetic (Presburger ’29) One can decide if a Presburger sentence ψ holds over (N, +).

Originally proved by quantifier elimination. Here we use automata!

1 Encode numbers x ∈ N by reverse binary expansions [x] ∈ B[[x ] ∈ Bx ] ∈ B e.g. [4] = 001, [0] = ε, . . .

2 Encode sum relation + ⊆ N × N × N by language LLL+++⊆ (⊆ (⊆ (B × B × B)B × B × B)B × B × B) e.g. [ + (3,1,4)] = [3] ⊗ [1] ⊗ [4] = (

1 1 0) (

1 0 0) (

0 0 1)

A+

p q

(

0 0 0), (10

1), (01

1) (

1 0 0), (01

0), (11

1) (

1 1 0) (

0 0 1)

(17)

Decidability of Presburger arithmetic (Presburger ’29) One can decide if a Presburger sentence ψ holds over (N, +).

Originally proved by quantifier elimination. Here we use automata!

1 Encode numbers x ∈ N by reverse binary expansions [x] ∈ B[[x ] ∈ Bx ] ∈ B e.g. [4] = 001, [0] = ε, . . .

2 Encode sum relation + ⊆ N × N × N by language LLL+++⊆ (⊆ (⊆ (B × B × B)B × B × B)B × B × B) e.g. [ + (3,1,4)] = [3] ⊗ [1] ⊗ [4] = (

1 1 0) (

1 0 0) (

0 0 1)

A+

p q

(

0 0 0), (10

1), (01

1) (

1 0 0), (01

0), (11

1) (

1 1 0) (

0 0 1)

(18)

Decidability of Presburger arithmetic (Presburger ’29) One can decide if a Presburger sentence ψ holds over (N, +).

Originally proved by quantifier elimination. Here we use automata!

1 Encode numbers x ∈ N by reverse binary expansions [x] ∈ B[[x ] ∈ Bx ] ∈ B e.g. [4] = 001, [0] = ε, . . .

2 Encode sum relation + ⊆ N × N × N by language LLL+++⊆ (⊆ (⊆ (B × B × B)B × B × B)B × B × B) e.g. [ + (3,1,4)] = [3] ⊗ [1] ⊗ [4] = (

1 1 0) (

1 0 0) (

0 0 1)

A+

p q

(

0 0 0), (10

1), (01

1) (

1 0 0), (01

0), (11

1) (

1 1 0) (

0 0 1)

(19)

Decidability of Presburger arithmetic (Presburger ’29) One can decide if a Presburger sentence ψ holds over (N, +).

We inductively translate every Presburger formula ϕ(x1, ..., xm) into a finite automaton Aϕ over Σm =Bm such that

L (Aϕ) = { [x1] ⊗ ⋅ ⋅ ⋅ ⊗ [xm] ∈Σm ∣ (N, +) ⊧ ϕ(x1, ..., xm) } L (Aϕ) = { [x1] ⊗ ⋅ ⋅ ⋅ ⊗ [xm] ∈Σm ∣ (N, +) ⊧ ϕ(x1, ..., xm) } L (Aϕ) = { [x1] ⊗ ⋅ ⋅ ⋅ ⊗ [xm] ∈Σm ∣ (N, +) ⊧ ϕ(x1, ..., xm) } so as to reduce satisfiability of ϕ to emptiness of L(Aϕ).

For atomic formulas x = y and +(x , y , z ), use automata A=and A+ For disjunction ϕ1(¯x ) ∨ ϕ2(¯x ), compute union of Aϕ1 and Aϕ2

For negation ¬ϕ(¯x ), compute the complement of Aϕ

For existential quantification ∃y . ϕ(¯x , y ), project Aϕ from Σm+1 to Σm

(×111000) (111

1 1

×1)

(20)

Decidability of Presburger arithmetic (Presburger ’29) One can decide if a Presburger sentence ψ holds over (N, +).

We inductively translate every Presburger formula ϕ(x1, ..., xm) into a finite automaton Aϕ over Σm =Bm such that

L (Aϕ) = { [x1] ⊗ ⋅ ⋅ ⋅ ⊗ [xm] ∈Σm ∣ (N, +) ⊧ ϕ(x1, ..., xm) } L (Aϕ) = { [x1] ⊗ ⋅ ⋅ ⋅ ⊗ [xm] ∈Σm ∣ (N, +) ⊧ ϕ(x1, ..., xm) } L (Aϕ) = { [x1] ⊗ ⋅ ⋅ ⋅ ⊗ [xm] ∈Σm ∣ (N, +) ⊧ ϕ(x1, ..., xm) } so as to reduce satisfiability of ϕ to emptiness of L(Aϕ).

For atomic formulas x = y and +(x , y , z ), use automata A=and A+

For disjunction ϕ1(¯x ) ∨ ϕ2(¯x ), compute union of Aϕ1 and Aϕ2

For negation ¬ϕ(¯x ), compute the complement of Aϕ

For existential quantification ∃y . ϕ(¯x , y ), project Aϕ from Σm+1 to Σm

(×111000) (111

1 1

×1)

(21)

Decidability of Presburger arithmetic (Presburger ’29) One can decide if a Presburger sentence ψ holds over (N, +).

We inductively translate every Presburger formula ϕ(x1, ..., xm) into a finite automaton Aϕ over Σm =Bm such that

L (Aϕ) = { [x1] ⊗ ⋅ ⋅ ⋅ ⊗ [xm] ∈Σm ∣ (N, +) ⊧ ϕ(x1, ..., xm) } L (Aϕ) = { [x1] ⊗ ⋅ ⋅ ⋅ ⊗ [xm] ∈Σm ∣ (N, +) ⊧ ϕ(x1, ..., xm) } L (Aϕ) = { [x1] ⊗ ⋅ ⋅ ⋅ ⊗ [xm] ∈Σm ∣ (N, +) ⊧ ϕ(x1, ..., xm) } so as to reduce satisfiability of ϕ to emptiness of L(Aϕ).

For atomic formulas x = y and +(x , y , z ), use automata A=and A+

For disjunction ϕ1(¯x ) ∨ ϕ2(¯x ), compute union of Aϕ1 and Aϕ2

For negation ¬ϕ(¯x ), compute the complement of Aϕ

For existential quantification ∃y . ϕ(¯x , y ), project Aϕ from Σm+1 to Σm

(×111000) (111

1 1

×1)

(22)

Decidability of Presburger arithmetic (Presburger ’29) One can decide if a Presburger sentence ψ holds over (N, +).

We inductively translate every Presburger formula ϕ(x1, ..., xm) into a finite automaton Aϕ over Σm =Bm such that

L (Aϕ) = { [x1] ⊗ ⋅ ⋅ ⋅ ⊗ [xm] ∈Σm ∣ (N, +) ⊧ ϕ(x1, ..., xm) } L (Aϕ) = { [x1] ⊗ ⋅ ⋅ ⋅ ⊗ [xm] ∈Σm ∣ (N, +) ⊧ ϕ(x1, ..., xm) } L (Aϕ) = { [x1] ⊗ ⋅ ⋅ ⋅ ⊗ [xm] ∈Σm ∣ (N, +) ⊧ ϕ(x1, ..., xm) } so as to reduce satisfiability of ϕ to emptiness of L(Aϕ).

For atomic formulas x = y and +(x , y , z ), use automata A=and A+

For disjunction ϕ1(¯x ) ∨ ϕ2(¯x ), compute union of Aϕ1 and Aϕ2

For negation ¬ϕ(¯x ), compute the complement of Aϕ

For existential quantification ∃y . ϕ(¯x , y ), project Aϕ from Σm+1 to Σm

(×111000) (111

1 1

×1)

(23)

Decidability of Presburger arithmetic (Presburger ’29) One can decide if a Presburger sentence ψ holds over (N, +).

We inductively translate every Presburger formula ϕ(x1, ..., xm) into a finite automaton Aϕ over Σm =Bm such that

L (Aϕ) = { [x1] ⊗ ⋅ ⋅ ⋅ ⊗ [xm] ∈Σm ∣ (N, +) ⊧ ϕ(x1, ..., xm) } L (Aϕ) = { [x1] ⊗ ⋅ ⋅ ⋅ ⊗ [xm] ∈Σm ∣ (N, +) ⊧ ϕ(x1, ..., xm) } L (Aϕ) = { [x1] ⊗ ⋅ ⋅ ⋅ ⊗ [xm] ∈Σm ∣ (N, +) ⊧ ϕ(x1, ..., xm) } so as to reduce satisfiability of ϕ to emptiness of L(Aϕ).

For atomic formulas x = y and +(x , y , z ), use automata A=and A+

For disjunction ϕ1(¯x ) ∨ ϕ2(¯x ), compute union of Aϕ1 and Aϕ2

For negation ¬ϕ(¯x ), compute the complement of Aϕ

For existential quantification ∃y . ϕ(¯x , y ), project Aϕ from Σm+1 to Σm

(×111000) (111

1 1

×1)

(24)

Example of translation

Consider the (unsatisfiable) formula

ψ = ∃x .¬∃y . (y =x +1) ψ = ∃x . ¬∃y . (y =x+1) ψ = ∃x .¬∃y . (y =x+1)

1 Start from automaton Ayyy=x+1=x+1=x+1

2 Project away the encoding of yyy, thus capturing∃y .∃y .∃y .(y(y(y ===xxx+++1)1)1)

3 Complement the det. automaton, thus capturing ¬¬¬∃y .∃y .∃y . (y(y(y ===xxx+++1)1)1)

4 Project away the encoding of xxx, thus getting ∃x .∃x .∃x .¬¬¬∃y .∃y .∃y . (y(y(y ===xxx+++1)1)1)

p q

(111

0 00)

(000

111)

(000000), (111111)

What’s wrong??

Languages of encodings should be closed under padding with 0’s After complement, keep only final states that are stable under 0.

(25)

Example of translation

Consider the (unsatisfiable) formula

ψ = ∃x .¬∃y . (y =x +1) ψ = ∃x . ¬∃y . (y =x+1) ψ = ∃x .¬∃y . (y =x+1)

1 Start from automaton Ay=x+1yy=x+1=x+1

2 Project away the encoding of yyy, thus capturing∃y .∃y .∃y .(y(y(y ===xxx+++1)1)1)

3 Complement the det. automaton, thus capturing ¬¬¬∃y .∃y .∃y . (y(y(y ===xxx+++1)1)1)

4 Project away the encoding of xxx, thus getting ∃x .∃x .∃x .¬¬¬∃y .∃y .∃y . (y(y(y ===xxx+++1)1)1)

p q

(111

0 00)

(000

111)

(000000), (111111)

What’s wrong??

Languages of encodings should be closed under padding with 0’s After complement, keep only final states that are stable under 0.

(26)

Example of translation

Consider the (unsatisfiable) formula

ψ = ∃x .¬∃y . (y =x +1) ψ = ∃x . ¬∃y . (y =x+1) ψ = ∃x .¬∃y . (y =x+1)

1 Start from automaton Ay=x+1yy=x+1=x+1

2 Project away the encoding of yyy, thus capturing∃y .∃y .∃y . (y(y(y ===xxx+++1)1)1)

3 Complement the det. automaton, thus capturing ¬¬¬∃y .∃y .∃y . (y(y(y ===xxx+++1)1)1)

4 Project away the encoding of xxx, thus getting ∃x .∃x .∃x .¬¬¬∃y .∃y .∃y . (y(y(y ===xxx+++1)1)1)

p q

(111

0 00

×)

(000

111

×)

(000000

×), (

1 1 1 1 1

×1)

What’s wrong??

Languages of encodings should be closed under padding with 0’s After complement, keep only final states that are stable under 0.

(27)

Example of translation

Consider the (unsatisfiable) formula

ψ = ∃x .¬∃y . (y =x +1) ψ = ∃x . ¬∃y . (y =x+1) ψ = ∃x .¬∃y . (y =x+1)

1 Start from automaton Ay=x+1yy=x+1=x+1

2 Project away the encoding of yyy, thus capturing∃y .∃y .∃y . (y(y(y ===xxx+++1)1)1)

3 Complement the det. automaton, thus capturing ¬¬¬∃y .∃y .∃y . (y(y(y ===xxx+++1)1)1)

4 Project away the encoding of xxx, thus getting ∃x .∃x .∃x .¬¬¬∃y .∃y .∃y . (y(y(y ===xxx+++1)1)1)

p q

(101100

×)

(000

111

×)

(000

0 0 0

×), (

11 1 1 1 1

×)

What’s wrong??

Languages of encodings should be closed under padding with 0’s After complement, keep only final states that are stable under 0.

(28)

Example of translation

Consider the (unsatisfiable) formula

ψ = ∃x .¬∃y . (y =x +1) ψ = ∃x . ¬∃y . (y =x+1) ψ = ∃x .¬∃y . (y =x+1)

1 Start from automaton Ay=x+1yy=x+1=x+1

2 Project away the encoding of yyy, thus capturing∃y .∃y .∃y . (y(y(y ===xxx+++1)1)1)

3 Complement the det. automaton, thus capturing ¬¬¬∃y .∃y .∃y . (y(y(y ===xxx+++1)1)1)

4 Project away the encoding of xxx, thus getting ∃x .∃x .∃x .¬¬¬∃y .∃y .∃y . (y(y(y ===xxx+++1)1)1)

p q

111

000

×)

000

111

×)

000

0 0 0

×), (

11 1

×

1 1 1

×)

What’s wrong??

Languages of encodings should be closed under padding with 0’s After complement, keep only final states that are stable under 0.

(29)

Example of translation

Consider the (unsatisfiable) formula

ψ = ∃x .¬∃y . (y =x +1) ψ = ∃x . ¬∃y . (y =x+1) ψ = ∃x .¬∃y . (y =x+1)

1 Start from automaton Ay=x+1yy=x+1=x+1

2 Project away the encoding of yyy, thus capturing∃y .∃y .∃y . (y(y(y ===xxx+++1)1)1)

3 Complement the det. automaton, thus capturing ¬¬¬∃y .∃y .∃y . (y(y(y ===xxx+++1)1)1)

4 Project away the encoding of xxx, thus getting ∃x .∃x .∃x .¬¬¬∃y .∃y .∃y . (y(y(y ===xxx+++1)1)1)

p q

111

000

×)

000

111

×)

000

0 0 0

×), (

11 1

×

1 1 1

×)

What’s wrong??

Languages of encodings should be closed under padding with 0’s After complement, keep only final states that are stable under 0.

(30)

Example of translation

Consider the (unsatisfiable) formula

ψ = ∃x .¬∃y . (y =x +1) ψ = ∃x . ¬∃y . (y =x+1) ψ = ∃x .¬∃y . (y =x+1)

1 Start from automaton Ay=x+1yy=x+1=x+1

2 Project away the encoding of yyy, thus capturing∃y .∃y .∃y . (y(y(y ===xxx+++1)1)1)

3 Complement the det. automaton, thus capturing ¬¬¬∃y .∃y .∃y . (y(y(y ===xxx+++1)1)1)

4 Project away the encoding of xxx, thus getting ∃x .∃x .∃x .¬¬¬∃y .∃y .∃y . (y(y(y ===xxx+++1)1)1)

p q

111

000

×)

000

111

×)

000

0 0 0

×), (

11 1

×

1 1 1

×)

What’s wrong??

Languages of encodings should be closed under padding with 0’s After complement, keep only final states that are stable under 0.

(31)

The previous result can be generalized to many other structures:

Definition

An automatic structure is a structure that is isomorphic to (L, R1, . . . , Rn)

where

L is a regular language of words over Σ

(each word identifies a precise element of the structure) each relation Ri has arity ki and is represented

by a regular language Li over (Σ ⊎ {#})ki (e.g. (ab,abb) ∈Ri iff (aa)(bb)(#

b) ∈Li )

Examples of automatic structures (N, +, ∣p)

(N, +, ∣p)

(N, +, ∣p), with x ∣p y iff x = pn divides y

Binary tree with successor, ancestor, and equi-level predicates Unlabelled grid (N × N, →, ↓)((N × N, →, ↓)N × N, →, ↓)

(32)

The previous result can be generalized to many other structures:

Definition

An automatic structure is a structure that is isomorphic to (L, R1, . . . , Rn)

where

L is a regular language of words over Σ

(each word identifies a precise element of the structure) each relation Ri has arity ki and is represented

by a regular language Li over (Σ ⊎ {#})ki (e.g. (ab,abb) ∈Ri iff (aa)(bb)(#

b) ∈Li ) Examples of automatic structures

(N, +, ∣p) (N, +, ∣p)

(N, +, ∣p), with x ∣p y iff x = pn divides y

Binary tree with successor, ancestor, and equi-level predicates Unlabelled grid (N × N, →, ↓)((N × N, →, ↓)N × N, →, ↓)

(33)

Theorem (B¨uchi ’60, Hodgson ’76, Khoussainov & Nerode ’94) Every automatic structure has a decidable first-order theory.

On the other hand...

Theorem

Some automatic structures have an undecidable reachability problem.

The transition graphtransition graphtransition graph of a Turing machine is automatic! configurations are encoded by words aaa111...a...a...ai −1i −1i −1qqqaaaiiiaaai +1i +1i +1...a...a...annn

transitions are of the following forms

a1...ai −1qqqaaaiiiai +1...an a1...ai −1qqqaaaiiiai +1...an a1...ai −1aaaiiiqqqai +1...an

↓↓ ↓↓↓ ↓↓↓

a1...ai −1qqqaaaiiiai +1...an a1...ai −1aaaiiiqqqai +1...an a1...ai −1qqqaaaiiiai +1...an

(34)

Theorem (B¨uchi ’60, Hodgson ’76, Khoussainov & Nerode ’94) Every automatic structure has a decidable first-order theory.

On the other hand...

Theorem

Some automatic structures have an undecidable reachability problem.

The transition graphtransition graphtransition graph of a Turing machine is automatic!

configurations are encoded by words aaa111...a...a...ai −1i −1i −1qqqaaaiiiaaai +1i +1i +1...a...a...annn

transitions are of the following forms

a1...ai −1qqqaaaiiiai +1...an a1...ai −1qqqaaaiiiai +1...an a1...ai −1aaaiiiqqqai +1...an

↓↓ ↓↓↓ ↓↓↓

a1...ai −1qqqaaaiiiai +1...an a1...ai −1aaaiiiqqqai +1...an a1...ai −1qqqaaaiiiai +1...an

(35)

Next

Riferimenti

Documenti correlati

(interpretations, context-free and prefix-rewriting graphs, unfoldings, Caucal hierarchy, recursive program schemes). 6 Reachability

We can recursively factorize factors until we get single characters only a few nested factorizations a few nested factorizations a few nested factorizations (linear in ∣S ∣,

Need of non-determinism and stronger acceptance

The graphs that can be defined in the binary tree using rational restrictions and inverse finite / rational mappings are context-free / prefix-recognizable.... We just

A path connecting two sets, if exists, can be found in finitely many steps..

It was self-administered among young adult women aged 19-22 attending their bachelor at the universities of Pisa and Florence with the purpose of measuring the

Sono i due nuovi coinquilini della vecchia casa di Thomas e Emma, che sentono “the piano playing / Just as a ghost might play”, infatti, il poeta