In the computational complexity theory, the low hierarchy and high hierarchy of complexity levels were introduced in 1983 by Uwe Schöning to describe the internal structure of the complexity class NP.[1] The low hierarchy starts from complexity class P and grows "upwards", while the high hierarchy starts from class NP and grows "downwards".[2]
Later these hierarchies were extended to sets outside NP.
The framework of high/low hierarchies makes sense only under the assumption that P is not NP. On the other hand, if the low hierarchy consists of at least two levels, then P is not NP.[3]
It is not known whether these hierarchies cover all NP.