We identify Boolean functions with languages in the expected way.

We say that a language is computed by a family of CNFs if, for each , is a CNF computing .

We may now define our first β€˜non-uniform class’:

Definition

The size of a CNF , written , is its number of literal occurrences. is the class of languages computed by a polynomial size CNFs.

Example out of

The functions are defined by:

The functions are computed by the following CNFs:

Note that . Therefore