A graph is a collection of vertices, and some edges that connect pairs of vertices. For example, the following graph has five vertices and six edges. Dots are vertices and lines connecting two dots are edges.

For more complicated graphs, we may make edges cross each other or even curve around vertices. This has no significance; all that matters is which pairs of vertices are connected by an edge and which are not.

The paper is mainly interested in cliques of graphs. A clique is a set of vertices such that every pair of them forms an edge. A set with 0 or 1 vertices is automatically a clique. A set of 2 vertices is a clique precisely if they are connected by an edge. The set of three vertices on the far left above form a clique, for example. The set of three furthest to the top right do not form a clique, however, as the top vertex and the far right one are not connected by an edge.

If we have a graph, we can count its cliques of various sizes. Every graph has 1 clique on zero vertices, as there is exactly one way to pick none of the vertices. There are 5 cliques on one vertex (the five vertices) and 6 cliques on two vertices (the six edges). There are also two cliques on three vertices (the vertex sets of the two triangles). We can list these numbers to get the face vector of the graph. In this example, we get (1, 5, 6, 2).

Now suppose that instead of starting with a graph and computing the face vector, we start with a proposed face vector and try to find a graph that has that particular face vector. Sometimes, it cannot be done. For example, if we have five vertices, then we cannot have more than ten edges, as there are only ten ways to pick two of the vertices.

Given a face vector that does correspond to a graph, this paper explains a method to construct the graph that has exactly the given face vector. It doesn't always work, and indeed, it isn't known exactly which face vectors correspond to some graph and which do not.

But the paper does conjecture conditions that every face vector corresponding to some graph must satisfy. The construction method invariably works if the proposed face vector isn't too close to violating the bounds of the conjecture. Unfortunately, "too close" is rather imprecise, and I don't have a precise statement of how close constitutes "too close". I know more or less how to derive and prove such a statement, but the proof would be tremendously messy, so I have not done it. (Yet.)