Graph reconstruction and generation from one card and the degree sequence

Graph reconstruction and generation from one card and the degree sequence

Andrew M. Steane Department of Atomic and Laser Physics, Clarendon Laboratory,
Parks Road, Oxford, OX1 3PU, England.
July 19, 2019

Many degree sequences can only be realised in graphs that contain a ‘ds-completable card’, defined as a vertex-deleted subgraph in which the erstwhile neighbours of the deleted vertex can be identified from their degrees, if one knows the degree sequence of the original graph. We obtain conditions on the degree sequence, such that graphs whose degree sequence satisfies one of the conditions must contain such a card. The methods allow all such sequences on graphs of order up to 10 to be identified, and some fraction of the sequences for larger graphs. Among other applications, this can be used to reduce the computational task of generating graphs of a given degree sequence without duplicates.

graph reconstruction, unigraphic, graphic sequence

If any single vertex is deleted from a regular simple graph having more than 2 vertices, then one obtains a graph with the following interesting property: there is one, and only one, regular graph (up to isomorphism) having as an induced sub-graph. (Proof: the graph can be uniquely constructed from as follows: if is empty then add to it a further isolated vertex, otherwise add to a further vertex with edges to all vertices in having the smallest degree in .) In this paper we investigate a more general property that is related to this. It can happen that, for a given graphic sequence (i.e. a non-decreasing integer sequence which is the degree sequence of at least one simple graph), any graph having that degree sequence contains at least one sub-graph such that the original graph can be uniquely obtained from and . One might say that such a sub-graph is uniquely ‘completable’, given , or that the original graph is uniquely reconstructible from and .

Such graphs are interesting in the context of the reconstruction conjecture of (Kelly and Ulam 1942), and in the context of graph generation. The former is one of the most well-known unsolved problems in graph theory. It concerns the question, whether or not the collection of vertex-deleted subgraphs of any given graph uniquely specify the graph (a precise statement is given below). Graph generation concerns the construction of graphs with some specified properties, where typically one wishes to obtain an exhaustive list without duplicates.

The notion of reconstructing a graph after deletion of a vertex can also be seen as a form of error-correction, or recovery of information from noisy data.

Let be the vertex-deleted subgraph of a simple graph , obtained by deleting vertex . For given , is there a such that it possible to deduce from if the degree sequence of is known? For most graphs, the answer is no, but the class of graphs for which the answer is yes is large: it contains approximately half the graphs on up to 9 vertices, and 37% of the graphs on 10 vertices, for example. In many cases, the degree sequence itself forces the graph to have this property, in the sense that all graphs realising the given degree sequence contain such a subgraph. We would like to identify these degree sequences.

For any graph, the degree sequence is itself recoverable from the deck. The notion of augmenting a card by degree-related information was considered by Ramanachandran Raman81 (); see also Barrus10 (). These authors were interested in reconstruction from several cards, where for each card the degree of the deleted vertex is given. The present work is concerned with reconstruction of a graph from a single card, when the whole degree sequence of the graph is given. The methods to be discussed also bear on related issues, such as the question, for any given graph of order , in how many ways may a vertex be added so as to obtain a graph of order with a given ‘target’ degree sequence.

1 The reconstruction conjecture and terminology

A graph is a set of vertices and edges . We restrict attention to simple graphs (those which are undirected and with no self-loops or multiple edges). The degree sequence of is the multiset of degrees of the vertices, in non-descending order. A vertex of degree 1 is called a pendant. The set of neighbours of a vertex will be denoted . The set (called the closed neighbourhood of ) will be denoted .

For any graph , a vertex-deleted subgraph is called a card, and the multiset of cards associated with all the vertices of is called the reconstruction deck of , or deck for short. Two cards are deemed ‘the same’ if they are isomorphic and distinct if they are not. A property of which can be obtained from the deck, without direct access to , is said to be recoverable. For example, the number of vertices is recoverable since it is equal to the number of cards. The number of edges is recoverable since the number of edges appearing on all the cards is (since each edge appears on all but two of the cards). Further recoverable information includes the degree sequence of , and for any given card , the degree sequence, in , of the neighbours of the associated vertex .

A recoverable binary property, such as membership of a class, is said to be recognisable. For example, the condition that the graph is regular is recognizable, since it can be determined from a recoverable property, namely the degree sequence.

The question arises, whether a graph can be reconstructed in a unique way from its deck. The graphs on two vertices cannot (they both have the same deck). An automated (i.e. computer) calculation has confirmed that graphs on 3 to 11 vertices can 97McKay (), and for larger the question is open apart from some special classes of graphs (see Bondy91 (); Babai95 (); 14Bartha () for a review). The Reconstruction Conjecture (Kelly and Ulam 1942) is the conjecture that every graph having more than two vertices can be reconstructed in a unique way (up to isomorphism) from its deck Kelly42 (); Kelly57 (); Ulam60 (). The conjecture is known to be true for most graphs (that is, of all graphs of given order, most are reconstructible) Bollobas90 (); McMullen07 (). However, despite the wealth of information about a graph that is provided by its deck, no one has yet found out how to do the detective work and show that the evidence to be found in each deck points to one and only one ‘culprit’ graph. (It is not sufficient to find, for any given deck, a graph which has that deck. Rather, one must show that no other graph has that same deck.)

A standard way to proceed in graph reconstruction problems is by a combination of ‘recognise and recover’. One finds a reconstruction method which only applies to some class of graphs, and one shows that membership of the class is recognisable.

2 ds-reconstructibility

It can happen that a reconstruction method may apply to all graphs whose degree sequence has some given property. Such methods are useful because the degree sequence is very easy to recover from the deck, or from any graph whose reconstructibility is in question, and also because the degree sequence can be used as a starting-point for generating sets of graphs. This connection can be used either to make graph generation more efficient (see section 4), or to avoid it altogether when one is interested in the reconstruction problem. In the latter case, if one wanted to use a computer to test for reconstructibility all graphs of some given property, one might proceed by generating, for each degree sequence, all graphs of that degree sequence and having the property, and testing each. If it is already known that all graphs of a given degree sequence are reconstructible, than one can avoid parts of such a search.

Before approaching the issue in general, first let us note some well-known and simple cases:

Lemma 1

A graph with any of the following properties is reconstructible.

  1. There is an isolated vertex.

  2. There is a full vertex (one of degree ).

  3. No pair of degrees differs by 1.

  4. There is a vertex of degree such that, after that degree is removed from the degree sequence, the resulting sequence is one in which no pair of degrees differs by 1 (for example, the sequence has this property).

  • These examples are straightforward. In each case, there exists a card for which all the neighbours of are recognisable by their degree (using the fact that the degree sequence of the neighbours of is recoverable, and their degrees in are one less than their degrees in ). In case 3, this is true of any card, and in case 4 it is true of the card associated with the special vertex. ∎

    Corollary. Regular graphs are reconstructible; Euler graphs are reconstructible.

    This follows immediately. The former was noted by Kelley 1957 and Nash-Williams 78NashWilliams ().

    We would now like to generalize from these simple cases. That is, we want to define some reasonably natural class of graphs that can be reconstructed by using degree information, and then enquire how members of the class can be recognised.

    To this end, let us introduce the following concept:

    • A card is missingds-completable if, for each degree , vertices of degree in the card are either all neighbours or all non-neighbours of in .

      We shall also say that a vertex is ds-completable in if the card is ds-completable.

    For example, all the cards of a regular graph are ds-completable, and in the fourth case of lemma 1 the card is ds-completable, for the vertex defined there.

    The idea of this definition is that, if a card has this property, then the set of neighbours of the vertex which has been deleted can be determined from the degree sequences and without having to bring in further information about the structure of the graph. For, we already know that the degree sequence of the neighbours of is recoverable, so, for any given card , we know what degrees the erstwhile neighbours of must have in that card (namely, one less than their degrees in ). If the card has the property given in the definition, then there is no ambiguity in determining, from the degree information alone, which vertices are the neighbours we want to find (see the detailed example below). Having identified them, the graph is reconstructed by introducing the missing vertex and attaching it to those neighbours.

    An automated method to identify the neighbours of in is as follows 14Bartha (). First write out the degree sequence of the graph, and then, underneath it, write out the degree sequence of , with a blank inserted at the first location where would appear. For example:

    Next, insert vertical bars so as to gather the groups of given degree in the second line:

    Then one inspects the groups. Since the degree sequence of the neighbours is recoverable, we know which degrees in the lower line are candidates to belong to neighbours of . If for a given candidate group in the lower line, all the items in the top line for that group have the same degree , then all the vertices of degree in are neighbours of . If this happens for all such groups, then no ambiguity arises, so the card can be completed. The example shown above has this property. It is owing to the fact that, whereas has neighbours of degree 3,6,7, which might in this example lead to ambiguity, it is also adjacent to all the vertices of degree 2,5,6, which removes the ambiguity.

    If, instead, the neighbours of had degrees , then the procedure would give this table:

    Now there are two groups (those for and in ) where the items in the upper line are not all the same, and therefore we have two sets of vertices in where we can’t tell, from this information alone, which are neighbours and which non-neighbours of .

    With this concept in mind, we can define an interesting class of graphs:

    • A graph is missingds-reconstructible iff its deck contains a ds-completable card.

    • A degree sequence is missingds-reconstruction-forcing (or forcing for short) iff it is not possible to construct a non-ds-reconstructible graph realizing that degree sequence.

    (Equivalently, a graphic sequence is forcing iff every graph realizing it is ds-reconstructible, and non-graphic sequences are deemed to be forcing.)

    A forcing degree sequence requires or forces the presence of a ds-completable card in any associated graph. The use of the term ‘forcing’ here is similar to, but not identical to, its use in Barrus08 (). In Barrus08 () the authors use the term ‘degree-sequence-forcing’ to describe a class of graphs. A class is said to be ‘degree-sequence-forcing’ if whenever any realization of a graphic sequence is in the class, then every other realization of is also in the class. In the present work we use the term ‘forcing’ to describe a class of degree sequences. The set of graphic sequences is divided into three distinct classes: those for which every realisation is ds-reconstructible, those for which no realization is ds-reconstructible, and those for which some realizations are ds-reconstructible and some are not. The first of these classes is under study here.

    If we can show that a given degree sequence is ds-reconstruction forcing, then we shall have proved the reconstructibility of all graphs realising that degree sequence. We shall also have proved a stronger result, namely that for every graph realising the forcing degree sequence , there is a graph on one fewer vertices, such that is the only graph realising that can be obtained by adding a vertex and edges to . This is relevant to graph generation, which we discuss in section 4.

    It is the main purpose of this paper to present methods to determine whether or not a given degree sequence is ds-reconstruction-forcing. Even if the reconstruction conjecture were to be proved by other methods, it would still remain an interesting question, which degree sequences are ds-reconstruction-forcing, and whether or not they can be easily identified. Connections to closely related ideas in graph theory are explored briefly in the conclusion.

    Our task is in some respects comparable to the task of determining whether or not a given integer sequence is graphic (i.e., is the degree sequence of some graph). It is more closely comparable to the task of determining whether a graphic sequence is unigraphic.Johnson80 (); Tyshkevich00 (); Kleitman75 (); Koren76 () That question has been largely solved, in that there exists a small collection of conditions on the degree sequence that can be evaluated in linear time and which suffice to establish whether or not a sequence is unigraphic Kleitman75 (); Koren76 (). Another method is to construct a realization of a given sequence and apply switching operations to the graph Johnson80 (); Tyshkevich00 ().

    The switch, also called transfer, is an operation which we shall write , where are four distinct vertices of a graph . If edges , are present in the graph, and , are not, then is said to admit the switch . The image of under is obtained by replacing edges , by , ; i.e. . Such an operation preserves the degrees of all the vertices, and furthermore it may be shown that one can move among all graphs of given degree sequence via a finite sequence of switches Fulkerson65 ().

    Lemma 2

    If is ds-completable, then is ds-completable when .

    Proof. Such an operation does not change the neighbourhood of , nor the degree of any vertex, hence if is completable in , it is also completable in . ∎

    One way to investigate whether a sequence is ds-reconstruction forcing is to construct a graph realizing , and then, if is ds-reconstructible, perform a switch which changes the neighbourhood of the first ds-completable vertex found. Such a switch may possibly result in a graph with fewer ds-completable vertices. One continues switching until a graph is found having no completable vertex, or until the search is abandoned. If a non-ds-reconstructible graph was found, or if all graphs realizing have been considered, then one has discovered whether or not is forcing; otherwise one has an inconclusive result.

    When the number of realizations of a given sequence is small, one can move among them (and also be sure that all cases have been considered), by exhaustive implementation of switching, or one can construct them all another way. In this way the question, whether or not is forcing, can be decided. However such an exhaustive method is prohibitively slow for most sequences. It would be useful to find a method to choose a sequence of switches that efficiently arrives at a non-ds-completable if one exists. I have not discovered such a method. Instead the present work is devoted to finding conditions on the degree sequence that must be satisfied by forcing sequences. The following ideas will be useful.

    • A degree is missingbad if the graph contains a vertex of degree . A degree is dull if the graph contains a vertex of degree . A vertex is bad or dull (or both), according as its degree is bad or dull (or both). A vertex which is not bad is good. A set of vertices is said to be good, bad or dull iff all its members are good, bad or dull, respectively.

    Example: in the following degree sequence, the bad degrees are underlined and the dull degrees are overlined: .

    For every bad vertex, there is at least one dull vertex, and for every dull vertex, there is at least one bad vertex. Vertices of least degree are never bad; vertices of highest degree are never dull. If a vertex is bad in then it is dull in the complement graph , and vice versa.

    Bad neighbours make the job of reconstruction harder. For, if a vertex has no bad neighbours, then, in the associated card , the neighbours of are immediately recognisable since they have degrees that do not occur anywhere in the degree sequence of , and this is not true of any other vertices in . Consequently the card is ds-completable. If, on the other hand, a vertex has one or more bad neighbours then this argument does not apply. This does not necessarily mean its card is not ds-completable, however:

    Theorem 3

    [Mulla 1978] The card is ds-completable iff in , no non-neighbour of (excluding itself) has a degree one less than a neighbour of .

    Another way of stating the theorem is as follows. For any given vertex in graph , let be the set of vertices of degree one less than a neighbour of , and let be the closed neighbourhood of in . Then the card is ds-completable iff .

    • This has been proved by Mulla 78Mulla () (see also 14Bartha ()) but we present a proof suited to the concepts employed in this paper. The idea is to work along the degree sequence of the card , determining which degrees must belong to neighbours of . The only neighbours which are not immediately identifiable are the bad neighbours, and the condition of the theorem renders those identifiable too. This is because if all vertices of some degree in are either absent from the card or have had their degree reduced by one, then we know that vertices in the card of degree must be neighbours of . Conversely, if this is not the case, then there remains an ambiguity and the neighbours cannot be determined by the degree information alone. ∎

      Note that we are not trying to capture cases of graphs which can be reconstructed by methods that involve further considerations in addition to degree information. For example, consider the path graph . If one of the pendants is deleted, the resulting card is not ds-completable (it does not satisfy the definition) because there is an ambiguity: there are two vertices whose degree makes them candidates to be the neighbour of the pendant which was deleted. The fact that in this example one gets the same graph, irrespective of which of these two is picked, is not under consideration in the definitions employed here, but we will return to this point at the end.

      Lemma 4

      A graph is ds-reconstructible iff its complement is ds-reconstructible.

      Corollary A degree sequence is forcing iff the complement degree sequence is forcing, where for any degree sequence , the complement degree sequence is defined to be .

      • By definition, a graph is ds-reconstructible iff it contains a ds-completable vertex. Now, for any , a vertex which is bad in is dull in G¯missingGvwvd_w-1vv¯Gvwvd_w+1vv¯G

        To prove the corollary, it suffices to observe that for every graph with a given degree sequence, the complement graph has the complement degree sequence. ∎

        This lemma serves to show that if we wish to discover whether a graph is ds-reconstructible, then it is sufficient to determine the status of either one of or . The same applies to the task of determining whether a given degree sequence is ds-reconstruction-forcing.

        • A missingstub is half of an edge, such that each stub attaches to one vertex, and each edge is the result of joining two stubs.

        We will also say that an edge or a stub is ‘bad’ when it is attached to a bad vertex.

        • A vertex set is missingneighbourly if no vertex outside the set has a degree one less than that of a vertex in the set. Thus, is neighbourly iff . A vertex set is -neighbourly if it contains a vertex of degree such that no vertex outside the set has a degree one less than that of any vertex other than in the set. Thus, is -neighbourly iff and . For example, a set of four vertices with degrees is 3-neighbourly if there is no other vertex of degree 3 or 4, whether or not there is a vertex of degree 2.

        The significance of this concept is that if a vertex is adjacent to all the members of a neighbourly set, then those neighbours can be deemed ‘good’ as far as is concerned. Indeed, it is obvious from the definitions that a vertex is ds-completable iff is the union of one or more neighbourly or -neighbourly sets.

        Any set that contains all the dull vertices is neighbourly. Any set consisting of all the vertices of degrees in some range is neighbourly iff is good.

        Theorem 5

        A graph has all of its vertices ds-completable if and only if no pair of degrees differ by 1.

        • (missingIf): If no pair of degrees differ by 1, then all vertices are good, so no vertex has a bad neighbour, therefore every vertex is ds-completable. ∎
          (Only if): We will show that if there is a bad vertex, then there is a non-completable vertex. Let be a bad vertex which has degree . Let be the set of vertices of degree . Consider the edges of . Suppose of these edges go to vertices in . Then of them go to vertices not in . In order that all vertices be completable, we require in particular that each of the neighbours of that are not themselves in must be adjacent to all of . Therefore edges between this group and will use up


          of the stubs on vertices in . Next consider the vertices in that are adjacent to . In order that they should be completable, we require that each is adjacent to all the other vertices in . This requires edges between these and the others in , plus a further edges among the vertices. Hence the number of stubs on vertices in used up by the required edges among the vertices in is


          Adding these to the number given by (1), and including also the edges between and , we find that the number of stubs on vertices in has to be greater than or equal to


          However, the total number of stubs on vertices in is . In order that this should equal or exceed the number we just found to be required, one needs , i.e. , but this is clearly impossible. Hence we have a contradiction, and it follows that at least one of the vertices is not completable. ∎

        The graphs having all good vertices form a type of error-correcting code, in the following sense. If one party is going to send graphs to another, and it has been agreed beforehand that only graphs of a given degree sequence will be sent, then if all degrees are good the receiver can determine perfectly, from the received graph, which graph was sent, even when the communication channel has a noise process whose effect is, with some probability, to delete one vertex and its edges. (It is not my intention to suggest that this is a physically realistic scenario, only to point out the mathematical fact.) More generally, the degree sequence would not need to be agreed in full between the communicating parties. If would suffice, for example, that throughout the whole set of degree sequences which are allowed, no degree differs from another by one.

        The rest of the paper is concerned with trying to discover, by examining the degree sequence , whether or not it so constrains the graph that a completable vertex must be present. For each this is like solving a logic puzzle, somewhat reminiscent of the popular Sudoku puzzle. The degree sequence provides a ‘rule’ on how many edges each vertex has, and we have to fit these edges into the graph without breaking the rule ‘no vertex is allowed to be completable’. If such a puzzle has no solution, then is ds-reconstruction-forcing. One can enjoy this game as a logical exercise in its own right, without regard to Kelly and Ulam’s reconstruction conjecture. The fact that we can write down such preliminary general observations as lemmas 2 and 4 and theorems 3 and 5 suggests that we have a reasonably well-defined area of mathematics to explore. However, it will emerge, in the subsequent sections, that the puzzle is a hard one!

        3 Easily recognised forcing sequences

        For each result to be presented, we shall give an example degree sequence to which the result applies. For this purpose we adopt a notation where we simply list the degrees, as in, for example, (only single-digit examples will be needed), with square brackets or bold font used to draw attention to vertices featuring in the argument.

        Lemma 6

        A degree sequence having one or more of the following properties is forcing:

        1. There is no or only one bad vertex e.g. .

        2. There is no or only one dull vertex e.g. .

        3. There is a single vertex which is both bad and dull, and there are 2 bad degrees e.g. .

        4. The sum of the degrees of bad vertices is less than , where is the set of bad vertices. e.g. .

        • Parts 1–3 are merely ways of expressing examples of case 4 of lemma 1. Part 4 is owing to the fact that if there are too few bad edges then there must be a vertex with no bad neighbour. Let us define and . The least number of stubs on bad vertices required in order that every vertex can have at least one bad neighbour is because we require at least edges extending between and good vertices, and at least edges extending between bad vertices. The former use up one bad stub each, the latter use up two bad stubs each. ∎

          Lemma 7

          If either of the following conditions hold:

          1. there are exactly two bad degrees, and there is a dull vertex of unique degree, and a bad vertex of unique degree, with , e.g.

          2. there are exactly three bad degrees, and there are two vertices , , each both bad and dull and of unique degree, e.g.

          then either is ds-completable or is ds-completable.

          • Choose the labels such that . If there is an edge then is completable. If there is no edge then is completable. (For further elaboration, see lemma 9.) ∎

            4 Application to graph generation

            As added motivation for the pursuing the subject further, we present in this section an application.

            The concept of ‘completing’ a card by adding a vertex to it arises in the area of graph generation. For example, one may wish to generate a set of graphs of given degree sequence. A typical procedure is to generate smaller graphs and extend them, and then eliminate duplicates by isomorphism checking. If one first observes that the target degree sequence is forcing, then one knows that, for each graph one is seeking, there exists a subgraph which is uniquely completable. Therefore, in the graph generation algorithm, one may bypass those subgraphs which are not uniquely completable (a property which is easy to check), in confidence that a uniquely completable subgraph will eventually turn up, and then a graph can be generated from that subgraph. In this way one obtains a reduction in the amount of generation of isomorphic duplicates, for only a modest computational effort.

            Here is an example. Suppose we wish to generate all graphs having the degree sequence (there are 4930 such graphs). First we note, from lemma 7 part 1, that the sequence is forcing. After deleting the vertex of degree 2, there are 5 possibilities for the degree sequence of a graph on 9 vertices which can be used as a template to generate the graphs we want. These are , , , , . If we were to start by creating all graphs realising these degree sequences and completing them by adding a vertex in all ways that give the target degree sequence, then we would generate graphs. Isomorphism checking would then be required to reduce this set. If instead we use the ds-reconstruction-forcing property, then we proceed as follows. Let be the vertex of degree 2, and be the vertex of degree 6. First, we note that it is the cases where and are adjacent that give a non-uniquely-completable card after is deleted. Equally, it is precisely those cases where deletion of will yield a completable card. Therefore the set of degree sequences to be considered is those where is removed if and are non-neighbours, and where is removed otherwise. This yields the sequences , , as before, and also the sequences , , , . Now we consider all graphs of order 9 that realise one of these sequences. In every case, each such graph will yield one and only one graph of order 10 having the target degree sequence, and no two of these will be isomorphic because they each have a different degree neighbourhood of one or both of , . The total number of graphs generated is now and no isomorphism checking is required on the set of graphs of order 10 that has thus been generated.

            This does not rule out that isomorphism checking may be required to generate the graphs required on 9 vertices, but we note that one of the order-9 sequences under consideration is itself forcing.

            5 Recognising forcing sequences more generally

            Consider now the degree sequence [112223 5666]. In order to prove that this sequence is forcing, we shall suppose that it is not, with a view to obtaining a contradiction. Label the vertices by their degree, and suppose no vertex is completable. Gather the vertices of degree 5 or 6 into a set called , and the other vertices into a set called . Each vertex of degree 6 must have at least 3 edges to vertices in , and each vertex of degree 5 must have at least 2 edges to vertices in , so there are at least 11 edges from to . But this is equal to the number of stubs in , so we deduce that all edges from vertices in go to . The pendants cannot be adjacent to 5, because 5 is good, so 5 is adjacent to at least one 2. But the other edge from that 2 must go to a vertex in , so it must go to a 6. Therefore that 2 has a neighbourly neighbourhood, which contradicts the assumption that no vertex is completable. It follows that there must be a completable vertex.

            In order to formulate such arguments more generally, divide the vertices into distinct sets, such that all vertices of a given degree are members of the same set, but it is allowed that a set may contain vertices of more than one degree. The vertex sets will be labelled by indices . We shall choose these labels such that a set with label will typically have vertices of low degree and a set with label or will typically have vertices of high degree. Throughout the rest of the paper, the following conventions will be observed when choosing labels for sets of vertices:

            1. is the set of all vertices in the graph, is the set of bad vertices, is the set of dull vertices.

            2. For any set , define . Thus the set of good vertices is .

            3. Sets labelled and are distinct.

            4. Thus are all distinct and together they account for all the vertices in . Note that, by definition, is good, is bad, is dull, and has no dull vertices.

            5. The label is only applied to sets which are bad by definition; the label is only applied to sets which by definition include the vertex or vertices of highest degree.

            6. refer to single vertices.

            7. It will not be necessary to distinguish between a single vertex and the set whose only member is that vertex.

            Let be the number stubs in that are involved in edges between and . When and are distinct, this is equal to the number of edges between and . When it is equal to twice the number of edges within , and more generally . Define () to be a lower (upper) bound on , i.e.


            The bound () will be raised (lowered) as we take into account more and more information about the graph, based on its degree sequence, under the assumption that it is a graph and has no completable vertex. If eventually it is found that for some then the conditions cannot be met: it amounts to a contradiction. In this case we deduce that there must be a completable vertex and therefore the degree sequence is forcing.

            For any vertex-set , define , define to be the number of members having degree , and the sum of the degrees:


            is the total number of stubs on vertices in . It will also be useful to define


            For any vertex not in , is the number of other vertices also not in .

            The following conditions follow from the definition of a graph; they must hold for any graph whether or not there is a completable card, for distinct :


            where in (18) each sum indicates a sum over distinct sets that together contain all the vertices in the graph. Most of the above are obvious. To prove (17), note that since a vertex of degree is non-adjacent to vertices, it can only be non-adjacent to at most this number from any set of other vertices. Therefore a vertex of degree is adjacent to at least members of any vertex set of size (and this is true whether or not ). The result follows by summing this over all members of :

            The following also hold for any set of vertices in any graph:


            These both follow from the fact that the number of stubs in a graph is always even. In the first case, if we have established an upper bound which is odd, then we know the true number is at most one less than this. In the second case, is an upper bound on the number of stubs remaining in after all edges out of are accounted for. If this is odd then the true value is at most one less than this, and therefore is at least one more than . These conditions are useful for tightening constraints on .

            Define the following functions from vertex sets to binary values:


            5.1 General conditions

            If a graph has no completable vertex, then


            Proof. If then (24) follows from (12); if is good (i.e. ) then no vertex in can have all its edges to , or that vertex would be completable, hence must leave at least one stub unused on each vertex in , and (24) follows. If is neighbourly, then after edges from to are accounted for there must be an unused stub for each vertex in of degree , which gives (25). ∎

            Define the notation , where is a number, to mean


            If there is no completable vertex then

            where and . Proof. This is eqn (17), modified so as to include conditions that no vertex is completable. First suppose . One has only on the assumption that each vertex in has a closed neighbourhood containing all of , but if then so this will result in all vertices in being ds-completable. To avoid this, we must remove one edge from each vertex in to a dull vertex, and let that edge go to instead. This accounts for the term in the first square bracket. We then note that we are still assuming that every vertex in has an edge to every vertex in (hence edges), but if this is more than are possible (i.e. larger than ) then we must correct for this, hence the second term in the first square bracket.

            Next suppose . In this case we consider the vertices in whose degree is such that their closed neighbourhood must be if they have no edge to . But if is neighbourly, then this will not happen if no vertex is ds-completable, so such vertices must have at least one edge to . This accounts for the first term in the second square bracket in (LABEL:xminedge). Next, consider the vertices in of degree . The calculation using allows that each of these sends just one edge to . But if is neighbourly, then that edge must go to a bad vertex in , and if is small (for example, because is small) then this will not be possible for all the cases. The second term in the second square bracket in (LABEL:xminedge) corrects for this. ∎

            The combination of eqns (24)–(25) with (LABEL:xminedge) is sufficient to prove the forcing behaviour of many degree sequences. For example, is forcing by (24), (LABEL:xminedge) and is forcing by (25), (LABEL:xminedge). For there are 293 degree sequences having no isolated or full vertex, and of these, 195 are forcing. Eqns (24)–(LABEL:xminedge), together with lemma 6, are sufficient to prove the forcing condition in all but 29 of the 195 forcing cases.

            In order to apply the constraints to any given degree sequence, one must make a judicious choice of how the vertices are partitioned into sets. One wants to choose a case with high and low , and if is good or neighbourly, then so much the better, since this will tighten the bound set by (24) or (25) or both. Using (24) and (LABEL:xminedge), we have for a non-forcing sequence. For a given set , the quantity decreases by for each vertex of degree added to set . Therefore, to obtain a tight constraint, one should include in all vertices with , in the first instance, and also vertices of degree if this makes increase. Further useful tests can be obtained by considering the set and/or .

            For distinct sets , if there is no completable vertex then


            where . Proof. The argument is similar to that for eqn (LABEL:xminedge). gives the minimum number of edges extending from to on the assumption that each vertex in is adjacent to all of except itself, and on this assumption, any vertex in of degree will have all its edges to . But if is neighbourly then this is not allowed, so for each such member of one of the vertices in is not a neighbour, which implies a further edge to . This gives rise to the term in (28). The is obtained in the same way, applying the argument to members of . ∎

            In order to detect the forcing condition more generally, one must examine the degree sequence in more detail. The rest of the paper presents a series of constraints that are sufficient to identify all forcing sequences for graphs on up to 10 vertices. I have not been able to discover any single simply stated condition sufficient to distinguish all the forcing from the non-forcing sequences. Instead there are a range of cases to consider, but some broad themes emerge. One theme is that to avoid being forcing a sequence must not result in vertices that ‘greedily’ consume all the bad stubs, so that none are left for some other vertex. Another theme is that it is worth paying special attention to the case where there is a vertex whose degree is not shared by any other vertex.

            Each constraint is introduced by an example degree sequence whose forcing nature can be proved by the constraint under consideration, but not by most (or in some cases any) of the other constraints.

            5.2 Conditions relating to bad stubs

            [2 444555 [777]]. For any good vertex set , if the sequence is not forcing then


            Proof. The edges from vertices in use up at least of the bad stubs. There are vertices not in , and these require at least one bad stub each. Therefore they require bad stubs. ∎

            In order to apply this constraint, a good choice is to adopt for the set of good vertices whose degree satisfies


            Such vertices are liable to have more than one bad edge.

            [222333 [666]7]. If the degree sequence is not forcing then, for any good set ,


            where , , and for some distinct from . Proof. (31) follows from (15) and (24). (32) expresses the fact that each edge between and uses two bad stubs, and any vertex in not adjacent to a vertex in also requires a bad edge. (33) is obtained by the same argument as for (29). ∎

            In order to use (31)–(33) one may use (LABEL:xminedge) or (28) or another method to obtain and .

            [11 334444 66]. For any degree sequence such that , partition the vertices into distinct sets where is small and is large. Then, if no vertex is completable,


            Proof. The first constraint is the requirement that no vertex be adjacent to all the dull vertices. The next two are examples of (24), then we use (15) twice (and require that no vertex in is adjacent to all the others in ) and finally require that all vertices have at least one bad edge. ∎

            Lemma 8

            For any vertex set such that is neighbourly, let . If no vertex is completable, then

            • Observe that since p¯missingippiτ(i,p)pn_p - 1p(n_p - τ(i,p))n_p -2pτ(p,p)τ(i,p)(n_p-1) + (n_p - τ(i,p))(n_p-2) = n_p(n_p-2) + τ(i,p)

              [12 5556666 8]. If there are 5 degrees, alternating between good and bad (i.e. ), then label the five sets of vertices (in increasing degree order) and let . These labels have been chosen in such a way that , so (35) applies, and are all good. If there is no completable vertex,


              Proof. The first inequality follows from (15), (17) and (24), noting that is good. The second inequality follows from (16) and (24), noting that and are both good. The equation for is (35) adjusted using (19). Next, the constraint on follows from (10) and (15). The constraint on follows from the fact that any vertex in that is adjacent to all of must have an edge to . Finally, we employ (18) and (11) to constrain . ∎

              If we have a good set and a distinct set , such that is neighbourly, then if no vertex is completable,


              where . Proof. is the maximum number of vertices in that are not adjacent to all of , therefore is the minimum number of vertices in that are adjacent to all of . If is neighbourly, these vertices require a bad edge to in addition to the bad edges they each have to . The result follows. ∎

              5.3 Conditions relating to unique vertices

              • A missingunique degree is one which appears only once in the degree sequence. For a vertex of unique degree , define

              Lemma 9

              Part A. If there is a vertex of unique degree , then if is not completable, it must not be adjacent to all the dull vertices not in and it must be adjacent to a bad vertex not in . Thus, if and then and , where , are defined in (38).

              Part B. If there is a vertex of unique degree and for a neighbourly set , then if is not completable, and , where and are defined as in part A.

              Corollary 1. If a vertex has unique degree and , for some set , then .
              Corollary 2. If there is a -neighbourly vertex set with , and a distinct set , then .
              Corollary 3. If a vertex has unique degree, then for any distinct sets such that , , and , .
              Corollary 4. If there are exactly 3 bad degrees, and there are two dull vertices with unique degrees , such that is good and is bad, then and (see figure 1).

              Figure 1: Illustrating corollary 4 to lemma 9. and are vertices of unique degree; the horizontal brackets represent groups of vertices arranged in degree order; the arrows represent the presence of required edges in the associated graph if the sequence is not forcing. There is no edge .
              • The lemma follows immediately from the definitions; the corollaries are simple examples. For the second and third corollaries, observe that we cannot allow all the vertices in to have an edge to the special vertex, because then that vertex would be completable. For the fourth corollary (c.f. figure 1), must be adjacent to a member of since these are the only bad vertices with degree not equal to or , and must not be adjacent to because is the only dull vertex with degree not equal to or . It follows that must be adjacent to a vertex in since these are the only bad vertices apart from whose degree is not . ∎

                Consider for example the sequences [11112333 56] and [11111 33445]. In the first case, let be the vertex of degree 2. Then the set consists of one member, the vertex of degree 5. This vertex is good, so it cannot be adjacent to any of the pendants (if they are not completable), therefore it has to be adjacent to , so we have which breaks the condition stated in the lemma, so the sequence is forcing. In the second case, the vertices of degree 3 cannot be adjacent to the pendants, and nor can either of them have a closed neighbourhood containing all of . Hence they must both be adjacent to the vertex of degree 5, so we have so this is forcing also. This argument is generalised in eqn (41).

                Corollary 1 of lemma 9, when used in conjunction with (LABEL:xminedge), suffices to prove that [1112 445666] is forcing. The special vertex is the one of degree 5. Let , . Since must be adjacent to the vertex of degree 2, it uses up one of the stubs in , with the result that . Therefore (LABEL:xminedge) gives . But owing to the edge from to , so we have a contradiction, hence the sequence is forcing.

                Corollary 2 can be used to prove that [11123455] is forcing, by taking , . One finds so which contradicts (12).

                Corollary 3 can be used to prove that [1 333455 778] is forcing, by taking , , . We have so which contradicts (25).

                [223334 6777] If a good vertex has unique degree, then for any vertex set ,


                Proof. Any vertex in that is adjacent to cannot have all its other edges to members of , since with they form a -neighbourly set. ∎

                [1233 56666 8]. If there is a set containing a vertex of unique degree , and such that all bad vertices in have degree , and where , then the degree sequence is forcing. Proof. Using corollary 2 to lemma 9, , and therefore, using (20), . To avoid being completable, the vertex must have a neighbour in . But then that neighbour will be completable, because all its neighbours are in and the conditions are such that any set consisting of plus some members of is neighbourly. ∎

                [1222 455555]. If there is a unique good vertex , and is the only bad degree greater than , then let and . If then the degree sequence is forcing. Proof. If there is no completable vertex then must be adjacent to a member of . That member then requires an edge to another member of . Together these two edges require 3 stubs in , but if then there are at most 2 stubs available after edges to have been accounted for. ∎

                [11111 [33]445]. If there is a non-dull vertex of unique degree, let and . We have since if there is no completable vertex, then no vertex can have a closed neighbourhood containing all of . We have that consists of distinct sets , so, using (18),


                which implies, using (24) for ,


                If this number is then, by lemma 9, the degree sequence is forcing.

                [1122 444 677], [1122222 567]. If there is a good dull vertex of unique degree , then let and . Either of the following conditions imply that the degree sequence is forcing:


                Proof. In the first case, we have where . If the sequence is not forcing, then every neighbour of requires an edge to , and so does . This is not possible if , which gives the condition. In the second case, we have that is adjacent to at least members of , and these neighbours may not be pendants, therefore they have degree 2. No vertex of degree may be adjacent to any of these, or we would have a vertex of degree 2 with a neighbourly neighbourhood. Hence if then the sequence is forcing. Furthermore, if then a vertex has a neighbourhood which contains all of and all the pendants, and therefore all of when is neighbourly, so in this case must be larger still to avoid forcing. (43) follows. ∎

                [333[4444] 7[88]]. If there is a good dull vertex of unique degree , and no dull vertices of higher degree, then let and . If