The relationship between counting functions and logical expressibility is explored. The most well studied class of counting functions is *P, which consists of the functions counting the accepting computation paths of a nondeterministic polynomial-time Turing machine. For a logic L, *L is the class of functions on finite structures counting the tuples (T , cÄ ) satisfying a given formula (T , cÄ ) in L. Saluja, Subrahmanyam, and Thakur showed that on classes of ordered structures *FO=*P (where FO denotes first-order logic) and that every function in * 1 has a fully polynomial randomized approximation scheme. We give a probabilistic criterion for membership in * 1 . A consequence is that functions counting the number of cliques, the number of Hamilton cycles, and the number of pairs with distance greater than two in a graph, are not contained in * 1 . It is shown that on ordered structures * 1 1 captures the previously studied class spanP. On unordered structures *FO is a proper subclass of *P and * 1 1 is a proper subclass of spanP; in fact, no class *L contains all polynomial-time computable functions on unordered structures. However, it is shown that on unordered structures every function in *P is identical almost everywhere with some function *FO, and similarly for * 1 1 and spanP. Finally, we discuss the closure properties of *FO under arithmetical operations. ]