Class Description

FO(TC): First-order with transitive closure

FO(TC) is the set of boolean queries definable with first-order formulae with a transitive closure (TC) operator.

TC is defined this way: let k be a positive integer and u,v,x,y be vectors of k variables, then TC(ϕu,v)(x,y) is true if there exist n variables (xi) such that x1=x,xn=y and for all i<n ϕu,v(xi,xi+1). Here, ϕu,v is a formula over u,v written in FO(TC) and ϕu,v(x,y) means that the variables u and v are replaced by x and y.

Every formula of TC can be written in a normal form FO(ϕu,v)(0,max) where ϕ is a FO formula and we suppose that there is an order on the model where variables are quantified, so we can choose the minimum and maximum element.

It was shown in [Imm98] page 150 that this class is equal to NL.

Linked From 3 Classes

FO(DTC): First-order with deterministic transitive closure

FO(DTC) is defined as FO(tc) where the transitive closure operator is deterministic, which means that when we apply DTC(ϕu,v), we know that for all u, there exist at most one v such that phi(u,v).

We can suppose that DTC(ϕu,v) is syntactic sugar for TC(ψu,v) where ψ(u,v)=ϕ(u,v)∧∀x,(x=v∨¬ψ(u,x)).

It was shown in [Imm98] on page 144 that this class is equal to L.

More about...


NL: Nondeterministic Logarithmic-Space

NL is to L as NP is to P. Not known whether a particular relation (equality or inequality) between P and NP implies the same relation between L and NL.

In a breakthrough result, was shown to equal coNL [Imm88] [Sze87]. (Though contrast to mNL.)

Is contained in LOGCFL [Sud78], as well as NC2.

Is contained in UL/poly [RA00].

Deciding whether a bipartite graph has a perfect matching is hard for NL [KUW86].

NL can be defined in a logical formalism as SO(krom) and also as FO(tc), reachability in directed graph is NL-Complete under FO-reduction.

More about...


SO[TC]: Second-Order logic with transitive closure

SO[TC] is to SO as FO[TC] is to FO. The TC operator can now also take second-order variable as argument.

In Descriptive complexity we can see thatSO[TC] is equal to PSPACE.

More about...