  The following diagram  maps out all the complexity classes we have discussed and a few more as well.  The diagram comes from work in Descriptive Complexity [Immerman, 1999] which  shows that all important complexity  classes have descriptive characterizations.  Fagin began this field by proving that NP =  SO\(\exists\), i.e., a property is in NP iff it is expressible in second-order existential logic [Fagin, 1974].