Listings and Logics Yijia Chen Shanghai Jiaotong University June, - - PowerPoint PPT Presentation

listings and logics
SMART_READER_LITE
LIVE PREVIEW

Listings and Logics Yijia Chen Shanghai Jiaotong University June, - - PowerPoint PPT Presentation

Listings and Logics Yijia Chen Shanghai Jiaotong University June, 2011 (Joint work with J org Flum , Freiburg) This is a follow-up to Theorem (Kraj cek and Pudl ak, 1989; Sadowski, 2002; C. and Flum, 2010) The following are all


slide-1
SLIDE 1

Listings and Logics

Yijia Chen Shanghai Jiaotong University June, 2011 (Joint work with J¨

  • rg Flum, Freiburg)
slide-2
SLIDE 2

This is a follow-up to

Theorem (Kraj´ ı˘ cek and Pudl´ ak, 1989; Sadowski, 2002; C. and Flum, 2010)

The following are all equivalent.

◮ List(P, TAUT, P). ◮ LFPinv captures P. ◮ TAUT has a polynomial optimal proof system. ◮ TAUT has an almost optimal algorithm.

slide-3
SLIDE 3

Contents

Background Listings Logics Optimality

slide-4
SLIDE 4

Logics for P

slide-5
SLIDE 5

Logics for P

There is an effective enumeration of all polynomial time computable subsets of graphs in terms of corresponding polynomial time machines M1, M2, . . . .

slide-6
SLIDE 6

Logics for P

There is an effective enumeration of all polynomial time computable subsets of graphs in terms of corresponding polynomial time machines M1, M2, . . . . For two isomorphic graphs G and H, the machine Mi might accept G but reject H. I.e., Mi does not necessarily decide a class of graphs that are closed under isomorphism, or a graph property.

slide-7
SLIDE 7

Logics for P

There is an effective enumeration of all polynomial time computable subsets of graphs in terms of corresponding polynomial time machines M1, M2, . . . . For two isomorphic graphs G and H, the machine Mi might accept G but reject H. I.e., Mi does not necessarily decide a class of graphs that are closed under isomorphism, or a graph property.

Question (Chandra and Harel, 1982)

Is there an effective enumeration of polynomial time computable graph properties in terms of corresponding polynomial time machines?

slide-8
SLIDE 8

Logics for P

There is an effective enumeration of all polynomial time computable subsets of graphs in terms of corresponding polynomial time machines M1, M2, . . . . For two isomorphic graphs G and H, the machine Mi might accept G but reject H. I.e., Mi does not necessarily decide a class of graphs that are closed under isomorphism, or a graph property.

Question (Chandra and Harel, 1982)

Is there an effective enumeration of polynomial time computable graph properties in terms of corresponding polynomial time machines?

Question (Gurevich, 1988)

Is there a logic capturing P?

slide-9
SLIDE 9

Logics for any complexity class C

slide-10
SLIDE 10

Logics for any complexity class C

We can replace P by any complexity class.

slide-11
SLIDE 11

Logics for any complexity class C

We can replace P by any complexity class.

Theorem (Fagin, 1974)

Existential second-order logic captures NP. Therefore, we have an effective enumeration of nondeterministic polynomial time computable graph properties in terms of corresponding nondeterministic polynomial time machines.

slide-12
SLIDE 12

Logics for any complexity class C

We can replace P by any complexity class.

Theorem (Fagin, 1974)

Existential second-order logic captures NP. Therefore, we have an effective enumeration of nondeterministic polynomial time computable graph properties in terms of corresponding nondeterministic polynomial time machines. But for any natural complexity class C ⊆ P it not known whether there is a logic capturing C, which is equivalent to the question: Is there an effective enumeration of graph properties in C in terms of corresponding machines with resource bound according to C, or C-machines?

slide-13
SLIDE 13

Immerman and Vardi’s Theorems

slide-14
SLIDE 14

Immerman and Vardi’s Theorems

Theorem

For C = L, NL, P we have an effective enumeration of ordered graph properties in C in terms of corresponding C-machines.

slide-15
SLIDE 15

Immerman and Vardi’s Theorems

Theorem

For C = L, NL, P we have an effective enumeration of ordered graph properties in C in terms of corresponding C-machines.

◮ DTC, deterministic transitive closure logic, captures L on ordered

structures.

◮ TC, transitive closure logic, captures NL on ordered structures. ◮ LFP, least fixed-point logic, captures P on ordered structures.

slide-16
SLIDE 16

Logics for any complexity class C (cont’d)

slide-17
SLIDE 17

Logics for any complexity class C (cont’d)

For two complexity classes C ⊆ C ′: Is there an effective enumeration of graph properties in C in terms of corresponding C ′-machines?

slide-18
SLIDE 18

Logics for any complexity class C (cont’d)

For two complexity classes C ⊆ C ′: Is there an effective enumeration of graph properties in C in terms of corresponding C ′-machines?

Theorem (C. and Flum, 2009)

We have an effective enumeration of graph properties in P in terms of corresponding NP-machines.

slide-19
SLIDE 19

Listings

slide-20
SLIDE 20

Listings

Definition

Let C and C ′ be complexity classes, and Q ⊆ Σ∗. A listing of the C-subsets of Q by C ′-machines is an algorithm L that outputs Turing machines M1, M2, . . .

  • f type C ′ such that
  • L(Mi) | i ≥ 1
  • =
  • X ⊆ Q | X ∈ C
  • ,

where L(Mi) is the language accepted by Mi,

slide-21
SLIDE 21

Listings

Definition

Let C and C ′ be complexity classes, and Q ⊆ Σ∗. A listing of the C-subsets of Q by C ′-machines is an algorithm L that outputs Turing machines M1, M2, . . .

  • f type C ′ such that
  • L(Mi) | i ≥ 1
  • =
  • X ⊆ Q | X ∈ C
  • ,

where L(Mi) is the language accepted by Mi, We write List(C, Q, C ′) if there is a listing of the C-subsets of Q by C ′-machines.

slide-22
SLIDE 22

Our previous results

slide-23
SLIDE 23

Our previous results

Theorem (C. and Flum, 2010)

If List(P, TAUT, P), then there is a logic for P.

slide-24
SLIDE 24

Our previous results

Theorem (C. and Flum, 2010)

If List(P, TAUT, P), then there is a logic for P. List(P, TAUT, P) if and only if the logic LFPinv, the “order-invariant least fixed-point logic LFP,” [Blass and Gurevich, 1988] captures P.

slide-25
SLIDE 25

Our previous results

Theorem (C. and Flum, 2010)

If List(P, TAUT, P), then there is a logic for P. List(P, TAUT, P) if and only if the logic LFPinv, the “order-invariant least fixed-point logic LFP,” [Blass and Gurevich, 1988] captures P.

What if we replace P by L or NL?

slide-26
SLIDE 26

List(L, TAUT, L)

Theorem

Assume List(L, TAUT, L). Then List(P, TAUT, P). Hence, LFPinv captures P.

slide-27
SLIDE 27

List(L, TAUT, L)

Theorem

Assume List(L, TAUT, L). Then List(P, TAUT, P). Hence, LFPinv captures P. We will need the following fact:

Lemma

TAUT has padding: there is a function pad : Σ∗ × Σ∗ → Σ∗ such that: (i) It is computable in logarithmic space. (ii) For any x, y ∈ Σ∗,

  • pad(x, y) ∈ TAUT ⇐

⇒ x ∈ TAUT

  • .

(iii) For any x, y ∈ Σ∗, |pad(x, y)| > |x| + |y|. (iv) There is a logspace algorithm which, given pad(x, y) recovers y.

slide-28
SLIDE 28

List(L, TAUT, L)

Theorem

Assume List(L, TAUT, L). Then List(P, TAUT, P). Hence, LFPinv captures P. We will need the following fact:

Lemma

TAUT has padding: there is a function pad : Σ∗ × Σ∗ → Σ∗ such that: (i) It is computable in logarithmic space. (ii) For any x, y ∈ Σ∗,

  • pad(x, y) ∈ TAUT ⇐

⇒ x ∈ TAUT

  • .

(iii) For any x, y ∈ Σ∗, |pad(x, y)| > |x| + |y|. (iv) There is a logspace algorithm which, given pad(x, y) recovers y.

Remark

In all the following results, the only properties we need for TAUT: 1) it’s coNP-completeness; 2) it has padding.

slide-29
SLIDE 29

Proof of List(L, TAUT, L) ⇒ List(P, TAUT, P)

slide-30
SLIDE 30

Proof of List(L, TAUT, L) ⇒ List(P, TAUT, P)

Let M be a machine. We set Comp(M) :=

  • pad(x,x, c)

| x ∈ Σ∗ and c is a computation of M accepting x

  • .
slide-31
SLIDE 31

Proof of List(L, TAUT, L) ⇒ List(P, TAUT, P)

Let M be a machine. We set Comp(M) :=

  • pad(x,x, c)

| x ∈ Σ∗ and c is a computation of M accepting x

  • .

Note from pad(x, x, c) we can recover both x and c in logarithmic space.

slide-32
SLIDE 32

Proof of List(L, TAUT, L) ⇒ List(P, TAUT, P)

Let M be a machine. We set Comp(M) :=

  • pad(x,x, c)

| x ∈ Σ∗ and c is a computation of M accepting x

  • .

Note from pad(x, x, c) we can recover both x and c in logarithmic space.

  • comp(M) is in L.
  • comp(M) ⊆ TAUT if and only if L(M) is a subset of TAUT.
slide-33
SLIDE 33

Proof of List(L, TAUT, L) ⇒ List(P, TAUT, P) (cont’d)

slide-34
SLIDE 34

Proof of List(L, TAUT, L) ⇒ List(P, TAUT, P) (cont’d)

For two machines D and D′ let D′(D) be a machine that on every input x

  • 1. simulates D on x and let c be the corresponding computation;
  • 2. simulates D′ on pad(x, x, c).
slide-35
SLIDE 35

Proof of List(L, TAUT, L) ⇒ List(P, TAUT, P) (cont’d)

For two machines D and D′ let D′(D) be a machine that on every input x

  • 1. simulates D on x and let c be the corresponding computation;
  • 2. simulates D′ on pad(x, x, c).

Let D be a P-machine that accepts a subset of TAUT. Then comp(D) is accepted by an L-machine D′. It is easy to see L(D′(D)) = L(D).

slide-36
SLIDE 36

Proof of List(L, TAUT, L) ⇒ List(P, TAUT, P) (cont’d)

For two machines D and D′ let D′(D) be a machine that on every input x

  • 1. simulates D on x and let c be the corresponding computation;
  • 2. simulates D′ on pad(x, x, c).

Let D be a P-machine that accepts a subset of TAUT. Then comp(D) is accepted by an L-machine D′. It is easy to see L(D′(D)) = L(D). If D′ accepts a subset of TAUT, then so does D′(D) for every D.

slide-37
SLIDE 37

Proof of List(L, TAUT, L) ⇒ List(P, TAUT, P) (cont’d)

For two machines D and D′ let D′(D) be a machine that on every input x

  • 1. simulates D on x and let c be the corresponding computation;
  • 2. simulates D′ on pad(x, x, c).

Let D be a P-machine that accepts a subset of TAUT. Then comp(D) is accepted by an L-machine D′. It is easy to see L(D′(D)) = L(D). If D′ accepts a subset of TAUT, then so does D′(D) for every D. Then the following enumeration witnesses List(P, TAUT, P):

  • D′

j(Di)

  • i,j≥1,

where (Di)i≥1 is an enumeration of P-clocked machines and (D′

j)j≥1 witnesses

List(L, TAUT, L).

slide-38
SLIDE 38

Order invariance

slide-39
SLIDE 39

Order invariance

Let L be one of DTC, TC and LFP.

slide-40
SLIDE 40

Order invariance

Let L be one of DTC, TC and LFP. For every vocabulary τ we let τ< := τ ˙ ∪ {<}.

slide-41
SLIDE 41

Order invariance

Let L be one of DTC, TC and LFP. For every vocabulary τ we let τ< := τ ˙ ∪ {<}. Let ϕ be an L[τ<]-sentence and n ≥ 1. ϕ is ≤ n-invariant if for all τ-structures A with |A| ≤ n and all orderings <1 and <2 on A we have (A, <1) | =L ϕ ⇐ ⇒ (A, <2) | =L ϕ.

slide-42
SLIDE 42

Order invariance

Let L be one of DTC, TC and LFP. For every vocabulary τ we let τ< := τ ˙ ∪ {<}. Let ϕ be an L[τ<]-sentence and n ≥ 1. ϕ is ≤ n-invariant if for all τ-structures A with |A| ≤ n and all orderings <1 and <2 on A we have (A, <1) | =L ϕ ⇐ ⇒ (A, <2) | =L ϕ. We define L-Inv :=

  • (ϕ, n) | ϕ L-sentence, n ≥ 1, and ϕ ≤ n-invariant
  • .
slide-43
SLIDE 43

The invariant logics Linv

slide-44
SLIDE 44

The invariant logics Linv

For every vocabulary τ we set Linv[τ] := L[τ<]

slide-45
SLIDE 45

The invariant logics Linv

For every vocabulary τ we set Linv[τ] := L[τ<] For every ϕ ∈ Linv[τ] and every τ-structure A A | =Linv ϕ ⇐ ⇒

  • (ϕ, |A|) ∈ L-Inv and (A, <) |

=L ϕ for some/all orderings < on A

  • .
slide-46
SLIDE 46

The invariant logics Linv (cont’d)

slide-47
SLIDE 47

The invariant logics Linv (cont’d)

Question

Does LFPinv/TCinv/DTCinv capture P/NL/L?

slide-48
SLIDE 48

The invariant logics Linv (cont’d)

Question

Does LFPinv/TCinv/DTCinv capture P/NL/L?

Lemma

Let K be a class of structures. K is in P/NL/L ⇐ ⇒ for some ϕ ∈ LFPinv/TCinv/DTCinv K =

  • A | A |

=LFPinv/TCinv/DTCinv ϕ

  • .
slide-49
SLIDE 49

The invariant logics Linv (cont’d)

Question

Does LFPinv/TCinv/DTCinv capture P/NL/L?

Lemma

Let K be a class of structures. K is in P/NL/L ⇐ ⇒ for some ϕ ∈ LFPinv/TCinv/DTCinv K =

  • A | A |

=LFPinv/TCinv/DTCinv ϕ

  • .

Question

Is there an algorithm A deciding (ϕ, |A|) ∈ L-Inv in such a way that for every fixed ϕ ∈ L:

◮ if L = LFP, then A runs in time AO(1); ◮ if L = TC, then A runs in nondeterministic space O(log A); ◮ if L = DTC, then A runs in deterministic space O(log A)?

slide-50
SLIDE 50

Linking Listings to Linv

Recall:

Theorem (C. and Flum, 2010)

List(P, TAUT, P) if and only if LFPinv captures P.

slide-51
SLIDE 51

Linking Listings to Linv

Recall:

Theorem (C. and Flum, 2010)

List(P, TAUT, P) if and only if LFPinv captures P.

Theorem

◮ List(NL, TAUT, NL) if and only if TCinv captures NL. ◮ List(L, TAUT, L) if and only if DTCinv captures L.

slide-52
SLIDE 52

Linking Listings to Linv

Recall:

Theorem (C. and Flum, 2010)

List(P, TAUT, P) if and only if LFPinv captures P.

Theorem

◮ List(NL, TAUT, NL) if and only if TCinv captures NL. ◮ List(L, TAUT, L) if and only if DTCinv captures L.

Corollary

DTCinv captures L = ⇒ TCinv captures NL = ⇒ LFPinv captures P.

slide-53
SLIDE 53

Linking Listings to Linv

Recall:

Theorem (C. and Flum, 2010)

List(P, TAUT, P) if and only if LFPinv captures P.

Theorem

◮ List(NL, TAUT, NL) if and only if TCinv captures NL. ◮ List(L, TAUT, L) if and only if DTCinv captures L.

Corollary

DTCinv captures L = ⇒ TCinv captures NL = ⇒ LFPinv captures P.

Remark

It is not known whether the existence of a logic capturing P is implied by the existence of a logic capturing L.

slide-54
SLIDE 54

List(L, TAUT, L) implies that DTCinv captures L

slide-55
SLIDE 55

List(L, TAUT, L) implies that DTCinv captures L

Recall for every ϕ ∈ DTCinv[τ] and every τ-structure A A | =DTCinv ϕ ⇐ ⇒

  • (ϕ, |A|) ∈ L-Inv and (A, <) |

=L ϕ for some < on A

  • .
slide-56
SLIDE 56

List(L, TAUT, L) implies that DTCinv captures L

Recall for every ϕ ∈ DTCinv[τ] and every τ-structure A A | =DTCinv ϕ ⇐ ⇒

  • (ϕ, |A|) ∈ L-Inv and (A, <) |

=L ϕ for some < on A

  • .

So our goal is to construct an algorithm A deciding (ϕ, |A|) ∈ DTC-Inv in such a way that for every fixed ϕ ∈ DTC the algorithm A runs in deterministic space O(log A) = O(log |A|).

slide-57
SLIDE 57

List(L, TAUT, L) implies that DTCinv captures L (cont’d)

slide-58
SLIDE 58

List(L, TAUT, L) implies that DTCinv captures L (cont’d)

Recall that (ϕ, n) ∈ DTC-Inv, i.e., ϕ is ≤ n-invariant, if for all τ-structures A with |A| ≤ n and all orderings <1 and <2 on A we have (A, <1) | =DTC ϕ ⇐ ⇒ (A, <2) | =DTC ϕ.

slide-59
SLIDE 59

List(L, TAUT, L) implies that DTCinv captures L (cont’d)

Recall that (ϕ, n) ∈ DTC-Inv, i.e., ϕ is ≤ n-invariant, if for all τ-structures A with |A| ≤ n and all orderings <1 and <2 on A we have (A, <1) | =DTC ϕ ⇐ ⇒ (A, <2) | =DTC ϕ. Therefore the following padded version of DTC-Inv is in coNP: Q :=

  • ϕ, n, 1 · · · 1

n|ϕ| times

  • (ϕ, n) ∈ DTC-Inv
  • .
slide-60
SLIDE 60

List(L, TAUT, L) implies that DTCinv captures L (cont’d)

Recall that (ϕ, n) ∈ DTC-Inv, i.e., ϕ is ≤ n-invariant, if for all τ-structures A with |A| ≤ n and all orderings <1 and <2 on A we have (A, <1) | =DTC ϕ ⇐ ⇒ (A, <2) | =DTC ϕ. Therefore the following padded version of DTC-Inv is in coNP: Q :=

  • ϕ, n, 1 · · · 1

n|ϕ| times

  • (ϕ, n) ∈ DTC-Inv
  • .

Hence, there is a logspace reduction α from Q to TAUT: (ϕ, n, . . .) → α(ϕ, n, . . .). Since TAUT is paddable, we can assume that ϕ and n can be recovered from α(ϕ, n, . . .).

slide-61
SLIDE 61

List(L, TAUT, L) implies that DTCinv captures L (cont’d)

slide-62
SLIDE 62

List(L, TAUT, L) implies that DTCinv captures L (cont’d)

Let ϕ ∈ DTC.

slide-63
SLIDE 63

List(L, TAUT, L) implies that DTCinv captures L (cont’d)

Let ϕ ∈ DTC. We consider the set Q(ϕ) :=

  • α(ϕ, n, . . .)
  • n ∈ N and (ϕ, n) ∈ DTC-Inv
  • .
slide-64
SLIDE 64

List(L, TAUT, L) implies that DTCinv captures L (cont’d)

Let ϕ ∈ DTC. We consider the set Q(ϕ) :=

  • α(ϕ, n, . . .)
  • n ∈ N and (ϕ, n) ∈ DTC-Inv
  • .

Assume that (ϕ, n) ∈ DTC-Inv for all n ∈ N.

slide-65
SLIDE 65

List(L, TAUT, L) implies that DTCinv captures L (cont’d)

Let ϕ ∈ DTC. We consider the set Q(ϕ) :=

  • α(ϕ, n, . . .)
  • n ∈ N and (ϕ, n) ∈ DTC-Inv
  • .

Assume that (ϕ, n) ∈ DTC-Inv for all n ∈ N. Recall we can recover ϕ and n from α(ϕ, n, . . .) in logspace. So Q(ϕ) is infinite and in L.

slide-66
SLIDE 66

List(L, TAUT, L) implies that DTCinv captures L (cont’d)

Let ϕ ∈ DTC. We consider the set Q(ϕ) :=

  • α(ϕ, n, . . .)
  • n ∈ N and (ϕ, n) ∈ DTC-Inv
  • .

Assume that (ϕ, n) ∈ DTC-Inv for all n ∈ N. Recall we can recover ϕ and n from α(ϕ, n, . . .) in logspace. So Q(ϕ) is infinite and in L. Then List(L, TAUT, L) implies that Q(ϕ) is one of the L(Mi) in the corresponding listing: M1, M2, . . . , say Miϕ.

slide-67
SLIDE 67

List(L, TAUT, L) implies that DTCinv captures L (cont’d)

slide-68
SLIDE 68

List(L, TAUT, L) implies that DTCinv captures L (cont’d)

Now we consider a first algorithm I which on every instance (ϕ, n) of DTC-Inv

  • 1. k ← 1;
  • 2. generates the machine Mk in the listing List(L, TAUT, L);
  • 3. simulates all M1, . . . , Mk on input (ϕ, n, 1 · · · 1) using space k · log n;

4. if one Mi accepts α(ϕ, n, . . .), then accepts;

  • 5. k ← k + 1 and goes to 2.
slide-69
SLIDE 69

List(L, TAUT, L) implies that DTCinv captures L (cont’d)

Now we consider a first algorithm I which on every instance (ϕ, n) of DTC-Inv

  • 1. k ← 1;
  • 2. generates the machine Mk in the listing List(L, TAUT, L);
  • 3. simulates all M1, . . . , Mk on input (ϕ, n, 1 · · · 1) using space k · log n;

4. if one Mi accepts α(ϕ, n, . . .), then accepts;

  • 5. k ← k + 1 and goes to 2.

If (ϕ, n) ∈ DTC-Inv for all n ∈ N, recall Miϕ decides

  • α(ϕ, n, . . .)
  • n ∈ N
  • in

logspace,

slide-70
SLIDE 70

List(L, TAUT, L) implies that DTCinv captures L (cont’d)

Now we consider a first algorithm I which on every instance (ϕ, n) of DTC-Inv

  • 1. k ← 1;
  • 2. generates the machine Mk in the listing List(L, TAUT, L);
  • 3. simulates all M1, . . . , Mk on input (ϕ, n, 1 · · · 1) using space k · log n;

4. if one Mi accepts α(ϕ, n, . . .), then accepts;

  • 5. k ← k + 1 and goes to 2.

If (ϕ, n) ∈ DTC-Inv for all n ∈ N, recall Miϕ decides

  • α(ϕ, n, . . .)
  • n ∈ N
  • in

logspace, i.e., O   log

  • ϕ, n, 1 · · · 1

n|ϕ| times

  = O(|ϕ| · log n) = O(log n), where the second equality is by that ϕ is fixed.

slide-71
SLIDE 71

List(L, TAUT, L) implies that DTCinv captures L (cont’d)

Now we consider a first algorithm I which on every instance (ϕ, n) of DTC-Inv

  • 1. k ← 1;
  • 2. generates the machine Mk in the listing List(L, TAUT, L);
  • 3. simulates all M1, . . . , Mk on input (ϕ, n, 1 · · · 1) using space k · log n;

4. if one Mi accepts α(ϕ, n, . . .), then accepts;

  • 5. k ← k + 1 and goes to 2.

If (ϕ, n) ∈ DTC-Inv for all n ∈ N, recall Miϕ decides

  • α(ϕ, n, . . .)
  • n ∈ N
  • in

logspace, i.e., O   log

  • ϕ, n, 1 · · · 1

n|ϕ| times

  = O(|ϕ| · log n) = O(log n), where the second equality is by that ϕ is fixed. Hence, the algorithm I also uses space O(log n).

slide-72
SLIDE 72

List(L, TAUT, L) implies that DTCinv captures L (cont’d)

slide-73
SLIDE 73

List(L, TAUT, L) implies that DTCinv captures L (cont’d)

We consider a second algorithm B which on every instance (ϕ, n):

slide-74
SLIDE 74

List(L, TAUT, L) implies that DTCinv captures L (cont’d)

We consider a second algorithm B which on every instance (ϕ, n):

  • 1. for every i = 1, 2, 3, . . ., every A and every two orderings <1 and <2

checks whether

  • (A, <1) |

=DTC ϕ ⇐ ⇒ (A, <1) | =DTC ϕ

  • ; stops once

the equivalence does not hold;

  • 2. if n < i, then accepts else rejects.
slide-75
SLIDE 75

List(L, TAUT, L) implies that DTCinv captures L (cont’d)

We consider a second algorithm B which on every instance (ϕ, n):

  • 1. for every i = 1, 2, 3, . . ., every A and every two orderings <1 and <2

checks whether

  • (A, <1) |

=DTC ϕ ⇐ ⇒ (A, <1) | =DTC ϕ

  • ; stops once

the equivalence does not hold;

  • 2. if n < i, then accepts else rejects.

If (ϕ, n) / ∈ DTC-Inv for some n ∈ N, then Step 1 eventually halts with the minimum i with (ϕ, i) / ∈ DTC-Inv.

slide-76
SLIDE 76

List(L, TAUT, L) implies that DTCinv captures L (cont’d)

We consider a second algorithm B which on every instance (ϕ, n):

  • 1. for every i = 1, 2, 3, . . ., every A and every two orderings <1 and <2

checks whether

  • (A, <1) |

=DTC ϕ ⇐ ⇒ (A, <1) | =DTC ϕ

  • ; stops once

the equivalence does not hold;

  • 2. if n < i, then accepts else rejects.

If (ϕ, n) / ∈ DTC-Inv for some n ∈ N, then Step 1 eventually halts with the minimum i with (ϕ, i) / ∈ DTC-Inv. Thus Step 2 answers correctly.

slide-77
SLIDE 77

List(L, TAUT, L) implies that DTCinv captures L (cont’d)

We consider a second algorithm B which on every instance (ϕ, n):

  • 1. for every i = 1, 2, 3, . . ., every A and every two orderings <1 and <2

checks whether

  • (A, <1) |

=DTC ϕ ⇐ ⇒ (A, <1) | =DTC ϕ

  • ; stops once

the equivalence does not hold;

  • 2. if n < i, then accepts else rejects.

If (ϕ, n) / ∈ DTC-Inv for some n ∈ N, then Step 1 eventually halts with the minimum i with (ϕ, i) / ∈ DTC-Inv. Thus Step 2 answers correctly. The space used by B in the first step only depends on ϕ, hence by fixing ϕ the total space that B needs is O(log n).

slide-78
SLIDE 78

List(L, TAUT, L) implies that DTCinv captures L (cont’d)

slide-79
SLIDE 79

List(L, TAUT, L) implies that DTCinv captures L (cont’d)

Recall our goal is to construct an algorithm A deciding (ϕ, n) ∈ DTC-Inv in such a way that for every fixed ϕ ∈ DTC the algorithm A runs in deterministic space O(log n).

slide-80
SLIDE 80

List(L, TAUT, L) implies that DTCinv captures L (cont’d)

Recall our goal is to construct an algorithm A deciding (ϕ, n) ∈ DTC-Inv in such a way that for every fixed ϕ ∈ DTC the algorithm A runs in deterministic space O(log n). The desired algorithm A on every instance (ϕ, n)

  • 1. ℓ ← 1;
  • 2. simulates both I and B using space at most ℓ;
  • 3. if one of the simulation halts, then accepts or rejects accordingly;
  • 4. otherwise ℓ ← ℓ + 1 and goes to 1.
slide-81
SLIDE 81

List(L, TAUT, L) implies that DTCinv captures L (cont’d)

Recall our goal is to construct an algorithm A deciding (ϕ, n) ∈ DTC-Inv in such a way that for every fixed ϕ ∈ DTC the algorithm A runs in deterministic space O(log n). The desired algorithm A on every instance (ϕ, n)

  • 1. ℓ ← 1;
  • 2. simulates both I and B using space at most ℓ;
  • 3. if one of the simulation halts, then accepts or rejects accordingly;
  • 4. otherwise ℓ ← ℓ + 1 and goes to 1.

Then for every fixed ϕ ∈ DTC

slide-82
SLIDE 82

List(L, TAUT, L) implies that DTCinv captures L (cont’d)

Recall our goal is to construct an algorithm A deciding (ϕ, n) ∈ DTC-Inv in such a way that for every fixed ϕ ∈ DTC the algorithm A runs in deterministic space O(log n). The desired algorithm A on every instance (ϕ, n)

  • 1. ℓ ← 1;
  • 2. simulates both I and B using space at most ℓ;
  • 3. if one of the simulation halts, then accepts or rejects accordingly;
  • 4. otherwise ℓ ← ℓ + 1 and goes to 1.

Then for every fixed ϕ ∈ DTC

◮ if (ϕ, n) ∈ DTC-Inv for all n ∈ N, then I uses space O(log n), and so does

A;

slide-83
SLIDE 83

List(L, TAUT, L) implies that DTCinv captures L (cont’d)

Recall our goal is to construct an algorithm A deciding (ϕ, n) ∈ DTC-Inv in such a way that for every fixed ϕ ∈ DTC the algorithm A runs in deterministic space O(log n). The desired algorithm A on every instance (ϕ, n)

  • 1. ℓ ← 1;
  • 2. simulates both I and B using space at most ℓ;
  • 3. if one of the simulation halts, then accepts or rejects accordingly;
  • 4. otherwise ℓ ← ℓ + 1 and goes to 1.

Then for every fixed ϕ ∈ DTC

◮ if (ϕ, n) ∈ DTC-Inv for all n ∈ N, then I uses space O(log n), and so does

A;

◮ if (ϕ, n) /

∈ DTC-Inv for some n ∈ N, then B uses space O(log n), and so does A.

slide-84
SLIDE 84

Optimality

Theorem (Kraj´ ı˘ cek and Pudl´ ak, 1989; Sadowski, 2002; C. and Flum, 2010)

The following are all equivalent.

◮ List(P, TAUT, P). ◮ LFPinv captures P. ◮ TAUT has a polynomial optimal proof system. ◮ TAUT has an almost optimal algorithm.

slide-85
SLIDE 85

Space optimality

Theorem

The following are all equivalent.

◮ List(L, TAUT, L). ◮ DTCinv captures L. ◮ TAUT has a space optimal logspace proof system. ◮ TAUT has an almost space optimal algorithm.

slide-86
SLIDE 86

Logspace proof systems

slide-87
SLIDE 87

Logspace proof systems

Definition

  • 1. A logspace proof system for TAUT is a surjective function

P : Σ∗ → TAUT computable in logarithmic space.

slide-88
SLIDE 88

Logspace proof systems

Definition

  • 1. A logspace proof system for TAUT is a surjective function

P : Σ∗ → TAUT computable in logarithmic space.

  • 2. Let P, P′ : Σ∗ → TAUT be logspace proof systems for TAUT. We say

that P logspace simulates P′ if there exists a logspace computable function g : Σ∗ → Σ∗ such that P(g(w)) = P′(w) for every w ∈ Σ∗.

slide-89
SLIDE 89

Logspace proof systems

Definition

  • 1. A logspace proof system for TAUT is a surjective function

P : Σ∗ → TAUT computable in logarithmic space.

  • 2. Let P, P′ : Σ∗ → TAUT be logspace proof systems for TAUT. We say

that P logspace simulates P′ if there exists a logspace computable function g : Σ∗ → Σ∗ such that P(g(w)) = P′(w) for every w ∈ Σ∗.

  • 3. A logspace proof system for TAUT is space optimal if it logspace simulates

every logspace proof system for TAUT.

slide-90
SLIDE 90

Almost space optimal algorithms

slide-91
SLIDE 91

Almost space optimal algorithms

Definition

A deterministic algorithm A deciding TAUT is almost space optimal for TAUT if for every deterministic algorithm B which decides TAUT there is a d ∈ N such that for all x ∈ TAUT sA(x) ≤ d · (sB(x) + log |x|), where sA(x) is the space required by A on x, and similarly for sB(x).

slide-92
SLIDE 92

Space optimality implies time optimality

slide-93
SLIDE 93

Space optimality implies time optimality

Corollary

If TAUT has an almost space algorithm, then TAUT has an almost (time)

  • ptimal algorithm.
slide-94
SLIDE 94

Space optimality implies time optimality

Corollary

If TAUT has an almost space algorithm, then TAUT has an almost (time)

  • ptimal algorithm.

Definition

A deterministic algorithm A deciding TAUT is (time) optimal for TAUT if for every deterministic algorithm B which decides TAUT and for all x ∈ TAUT tA(x) ≤ (tB(x) + |x|)O(1), where tA(x) is the time required by A on x, and similarly for tB(x).

slide-95
SLIDE 95

Thank You!