|
|
|
Logics and Complexity Classes |
|
(cont’d) |
|
|
|
|
Proof of Immerman and Vardi’s theorems |
|
Normal form for lfp |
|
Datalog |
|
Other logics capturing complexity classes |
|
|
|
|
LFP + <
µ PTIME [why ?] |
|
|
|
To show
PTIME µ LFP + < |
|
Let M = (Q, S, D, d, q0, Qa,
Qr) be a PTIME Turing machine |
|
Input: Enc(A) = 01n Enc(R1A)…Enc(RmA) |
|
Output: accept or reject |
|
Need: formula f s.t. A ˛ f iff T accepts A |
|
|
|
|
|
Time t and space p vary from 0 to nk-1 |
|
Represent them as k-tuples |
|
Can define t < t’ [ how ? ] |
|
Can define succ(t, t’) [ how ?] |
|
Goal: express the following:
T0(p,
t) = true iff tape has 0 on p at time t
T1(p, t) = true
iff tape has 1 on p at time t
Hq(p, t) = true iff head
is on p at time t, state q |
|
All these can be expressed by simultaneous
fixpoint [ how ? ] |
|
|
|
|
PFP + <
µ PSPACE [ why ? ] |
|
|
|
To show PSPACE µ PFP + <
proceed as before, but can’t define T0(p,
t) because we can’t express t |
|
Instead define T0(p), T1(p),
Hq(p) using a PFP |
|
Each new step recomputes these tables |
|
Make sure to define T0(p+1) = T0(p)
etc whenever reaching an accepting state |
|
|
|
|
Somewhere in the proof we need to use + and Ł,
defined in terms of < |
|
|
|
Where ? |
|
|
|
|
U1, U2, …, Uk =
finite sets |
|
Definition
Let F : P(U1) Ł
… Ł P(Uk) ! P(U1) Ł … Ł P(Uk). A fixpoint for F is
X = (X1,
…, Xk), X1 µ U1, …, Xk µ Uk
s.t. F(X) = X |
|
|
|
lfp(F), ifp(F), pfp(F)
defined as before |
|
|
|
|
|
|
Given |
|
= (f1(R1, …, Rk,
x1), …, fk(R1, …, Rk, xk)) |
|
|
|
lfpRisimult[F](t)
, ifpRisimult[F](t) , pfpRisimult[F](t) |
|
Mean the following:
compute the lfp/ifp/pfp
extract the i’th component (since index is Ri) |
|
|
|
|
LFPsimult = LFP |
|
IFPsimult = IFP |
|
PFPsimult = PFP |
|
|
|
|
|
|
Every IFP or LFP formula is equivalent to one
formula “with only one LFP, at the top”:
9 x1…
9 xk. lfpR[f](x)
where f is in FO
(i.e. without fixpoints) |
|
Proof: in the book (not hard),
but better see next |
|
|
|
|
Recall: a conjunctive query has the form:
q(x)
= 9 y1… 9 yk.f(x, y)
where f is a
conjunction of positive atomic formulas |
|
Example:
stands for 9
u.9 v.(R(x,u) Ć R(u,v) Ć R(v,y)) |
|
|
|
|
Definition.
EDB
Extensional relations = are those in s |
|
Definition. IDB
Intensional relations = m new relation names R1,
…, Rm |
|
|
|
Definition. A datalog rule is:
where R =intensional
f
= conjunctive query |
|
|
|
|
Definition. A datalog program is a set of rules: |
|
|
|
|
Transitive closure: |
|
Same generation: |
|
|
|
|
Simultaneous least fixpoints: |
|
|
|
Given a program P, define the operators FP
as follows: |
|
|
|
FP(R1, …, Rm) =
(f1, …, fm) |
|
Next, take the lfp(FP) |
|
|
|
|
Semipositive datalog: |
|
Allow negation only on the EDBs |
|
|
|
If we allow negation on IDBs, what is the
semantics ? |
|
|
|
|
Split datalog program into “strata”. Each stratum may use negation of IDBs
defined by previous strata.
Evaluate program in stages |
|
Example: find pairs x,y that are not connected: |
|
|
|
|
We know what this is… |
|
Find all pairs x, y that are not connected: |
|
|
|
|
Every stratified datalog program can be
expressed as an inflationary datalog program |
|
|
|
The “winning game” query can be expressed in
inflationary datalog but not in stratified datalog [ show the query in class ]
[ inexpressibility: Kolaitis’91, in Information and Control] |
|
|
|
|
Theorem Datalog:i = LFP |
|
|
|
Corollary Datalog:,<i
= PTIME |
|
|
|
|
Partial fixpoint semantics |
|
|
|
Theorem Datalog:p = PFP |
|
|
|
Corollary Datalog:,<p
= PSPACE |
|
|
|
|
|
|
Definition Transitive closure.
Let f(x, y, z) be a formula,
where |x| = |y| = k, and t1, t2 are tuples of length
k. Then:
[trclx,
y f(x, y, z)](t1, t2)
is a formula with free variables z. |
|
|
|
|
The logic FO extended with trcl is denoted TrCl |
|
|
|
Note: may combing trcl arbitrarily with Ć, Ç, :,
8, 9. |
|
|
|
|
Is the graph connected: |
|
|
|
Is there a path from u to v where all edges are
labeled with the same color:
here c is a free variable in trcl |
|
|
|
Do we need free variables ? |
|
|
|
|
Let TrClr denote the logic where trcl
is applied to tuples x, y with |x| = |y| · r |
|
|
|
Consider structures that represent strings over,
say S = {a,b}. I.e. s = {<, A,
B}. E.g. abbab is represented by
({1,2,3,4,5}, <, A(1),A(4),B(2),B(3),B(5)) |
|
Prove that on strings TrCl1 ą TrCl2 |
|
|
|
|
|
|
Theorem TrCl + < = NLOGSPACE |
|
|
|
Corollary NLOGSPACE is closed under
complementation. |
|
|
|
|
|
|
1. TrCl
\subseteq NLOGSPACE |
|
|
|
Lemma.
Denote PosTrCl the language where trcl is used only in positive
positions (under even number of negations). Then:
PosTrCL + < = TrCl + < |
|
You proved it already in 531 ! Plus: recall how inflationary datalog
expresses not TC. |
|
|
|
|
NLOGSPACE \subseteq TrCl + < |
|
|
|
Standard simulation of a Turing Machine |
|
|
|
|
DTrCl = transitive closure on deterministic
graphs (i.e. where 8 x.9· 1 y.f(x, y)). |
|
Theorem DTrCl+< = LOGSPACE |
|
|
|
ATrCl = alternating transitive closure [ define
in class ] |
|
Theorem ATrCl + < = PTIME |
|
|
|
|
What happens without < ? |
|
|
|
Open problem. Find a “logic” that captures
precisely the order invariant PTIME properties |
|
|
|
Read 10.7 in the book (pp. 204) |
|