PolyL

In computational complexity theory, polyL is the complexity class of decision problems that can be solved on a deterministic Turing machine by an algorithm whose space complexity is bounded by a polylogarithmic function in the size of the input. In other words, polyL = DSPACE((log n)O(1)), where n denotes the input size, and O(1) denotes a constant.

Just as L ⊆ P, polyL ⊆ QP. However, the only proven relationship between polyL and P is that polyL ≠ P; it is unknown if polyL ⊊ P, if P ⊊ polyL, or if neither is contained in the other. One proof that polyL ≠ P is that P has a complete problem under logarithmic space many-one reductions but polyL does not due to the space hierarchy theorem. The space hierarchy theorem guarantees that DSPACE(logd n) ⊊ DSPACE(logd + 1 n) for all integers d > 0. If polyL had a complete problem, call it A, it would be an element of DSPACE(logk n) for some integer k > 0. Suppose problem B is an element of DSPACE(logk + 1 n) \ DSPACE(logk n). The assumption that A is complete implies the following O(logk n) space algorithm for B: reduce B to A in logarithmic space, then decide A in O(logk n) space. This implies that B is an element of DSPACE(logk n) and hence violates the space hierarchy theorem.

The lack of complete problems for polyL under logarithmic space many-one reductions has led Ferrarotti et al. to define a different notion of completeness for this class, involving transformations from parameterized problems to polylog-space machines that solve the problems for specific parameter values.