ULAM’S RECONSTRUCTION PROBLEM FOR GRAPHS TARAL GULDAHL SEIERSTAD Cand. Scient. thesis Combinatorics Department of Mathematics University of Bergen Norway July 2002 3 Acknowledgment I would like to thank my supervisor Professor Helge Tverberg for giving me an intriguing problem, and for the help he has given me during the course of this work. I would also like to thank my friends, both here at the Department of Mathematics and elsewhere, for their support. Finally I would like to thank my family for their support and encouragement, and for sparking my interest in mathematics. 5 Contents Acknowledgment 3 Introduction 7 Historical introduction 7 Mathematical introduction 8 1. Small bipartite graphs 12 1.1. The deck of B5,n 14 1.2. Reconstructing B5,n 22 1.3. Reconstructing B3,n and B4,n 47 2. Bipartite graphs in general 50 2.1. Bipartite complement and bicoloured graphs 50 2.2. A strengthening of Hyyrö’s result 51 2.3. Semiorientability and orientability 52 2.4. Expanding graphs 67 2.5. Colour classes with two degrees 70 2.6. Neighbour degree sequences 72 3. Some results for B6,n 79 4. Separable graphs 92 5. Summary 98 References Index 99 100 ULAM’S RECONSTRUCTION PROBLEM FOR GRAPHS 7 Introduction Historical introduction. In 1941 Ulam suggested the conjecture which has later been known as Ulam’s reconstruction problem, namely that any graph on at least three vertices can be reconstructed from its family of maximal vertex-deleted subgraphs. The first result was published by his doctor student in [Kel57] where it was proved that trees are reconstructible. The conjecture has also been proved for several other classes of graphs and no counterexample has been found. An extensive survey of this problem is given in [BH77]. Other related problems have been proposed, such as the edge reconstruction problem where the object is to reconstruct a graph from its edge-deleted subgraphs. Ulam stated his conjecture only for simple, undirected and finite graphs, but some have investigated other types of graphs as well. The conjecture is definitely not true for infinite graphs, and for directed graphs an infinite family of counterexamples has been found. See [Sto88]. In most of the publications in this field, the authors have sought to prove that certain classes of graphs are reconstructible. At the time being it is not known that anyone has any fruitful ideas about how to attack the general problem. [Ase88] claimed to have actually proved the conjecture in the affirmative, but since fourteen years have passed, and his claim does not seem to be recognized, it can be assumed that it was incorrect. The problem itself has no evident practical purpose, and [Har69] diagnosed it as a disease, himself being a main victim. Its victims include Loland, Tjøtta and Lexander, former Master students at the University of Bergen. In his Master’s thesis, [Lol83] gave an alternative proof for the conjecture in the special case of trees. He also studied graphs with big diameters, and small bipartite graphs. [Tjø91] continued the work on graphs with big diameters; to be more specific he proved that if the diameter of a graph exceeds half the number of the graph’s vertices, then the graph is reconstructible. [Lex98] studied the related edge reconstruction problem and proved results that are parallel to the ones in [Lol83]. The reconstruction conjecture has also been subject to computer analysis. P.t. the best results are due to [McK97]. He showed that all graphs with no more than eleven vertices are reconstructible, and for some classes of graphs he proved the conjecture further than eleven vertices. The reasons why computer search has not been successful when the graphs grow beyond this relatively small number of vertices, is that the number of non-isomorphic graphs grows enormously when the number of vertices increases, and that there are many problems in graph theory for which there is no efficient algorithm. There is for instance no known algorithm that can check whether two given graphs are isomorphic in polynomial time. 8 TARAL GULDAHL SEIERSTAD Mathematical introduction. For elementary definitions in graph theory, consult [Wil96] or any other introductory text on graph theory. In this thesis we will only consider graphs that are simple, undirected and finite. If G is a graph, V (G) will denote the vertex set of G and E(G) the set of edges of G. We let ν(G) = |V (G)| and ε(G) = |E(G)|. If v and w are two vertices, an edge between v and w will be denoted vw. Gv will denote the vertex-deleted subgraph G − v – that is the subgraph of G where v together with its incident edges are removed. Ulam suggested the following conjecture in 1941: Conjecture 0.1 (Reconstruction conjecture). Let G and H be two graphs on at least three vertices and suppose that there is bijection φ : V (G) → V (H) such that for any v ∈ G, Gv ≃ Hφ(v) . Then G ≃ H. An alternative formulation of the Reconstruction conjecture is to say that whenever G is a graph on at least three vertices, G is determined up to isomorphism by the collection of subgraphs {Gv |v ∈ V (G)}. If G and H are two graphs such that there exists a bijection as in the Reconstruction conjecture, H is a reconstruction of G. If all reconstructions of G are isomorphic to G, then G is reconstructible. A parameter or a function defined on a certain class of graphs is reconstructible if is takes the same value for G and for H whenever G and H are reconstructions of each other. If we let G be a class of graphs, we call G reconstructible if every graph in G is reconstructible. G is recognizable if, whenever G ∈ G, any reconstruction H of G is in G as well. G is weakly reconstructible if for every G ∈ G all reconstructions of G that are in G are isomorphic to G. Clearly G is reconstructible if and only if it is recognizable and weakly reconstructible. To simplify matters we do as suggested by [Har64] and let a vertex-deleted subgraph of G be known as a card of G, and we call the collection of cards the deck of G. We will denote the deck of G as DG , or simply D if there is no risk of ambiguity. There are only two graphs that are known to be not reconstructible. They are the complete graph and the null graph on two vertices. This is why the lower bound in Conjecture 0.1 is set at three vertices. When we have the deck of a graph, the first natural step is to determine some parameters which describe the graph. The most basic parameters are the number of vertices and edges. We can find the number of vertices in two ways: Since DG contains one card for every vertex in G, we can determine the number of vertices in G by simply counting the cards in D. The other way is to observe that the number of vertices in G is one more than the number of vertices on any card. Therefore ν(G) is a reconstructible parameter. ULAM’S RECONSTRUCTION PROBLEM FOR GRAPHS 9 Suppose vw is an edge in G. Then the edge is visible on all cards in DG except Gv and Gw . Hence if we count the number of edges in all the cards in DG , we have counted every edge ν(G) − 2 times. It follows that ε(G) = X Gv ∈DG ε(Gv ) , ν(G) − 2 so ε(G) is also a reconstructible parameter. This observation is easily generalized to any subgraph of G with fewer vertices than G, as first shown by [Kel57]. Lemma 0.2 (Kelly’s lemma). Let F and G be two graphs so that ν(F ) < ν(G). Then the number of subgraphs of G that are isomorphic to F is reconstructible. Proof. [BH77] We let σG (F ) be the number of subgraphs of G that are isomorphic to F . Every subgraph of G which is isomorphic to F can be found on ν(G) − ν(F ) cards, leading to the formula (0.1) X σG (F ) = Gv ∈DG σGv (F ) . ν(G) − ν(F ) Both ν(G) and ν(F ) are known, and the value of σGv (F ) can be determined for every card. Hence σG (F ) is reconstructible. Kelly’s lemma is usually used to determine the number of general subgraphs of G isomorphic to F . But by substituting ’subgraph’ with ’induced subgraph’ throughout Lemma 0.2, we see that it is possible to determine the number of induced subgraphs of G isomorphic to F . Corollary 0.3 (Kelly’s corollary). Let F and G be two graphs so that ν(F ) < ν(G). For every card Gv , the number of subgraphs of G that contain v and are isomorphic to F is reconstructible. v (F ) be the number of subgraphs of G isomorphic to F , which Proof. [BH77] We let σG contain v. Then v σG (F ) = σG (F ) − σGv (F ). By Kelly’s lemma, σG (F ) is reconstructible, and σGv (F ) can clearly be determined. v (F ) is reconstructible. Hence σG For a vertex v, NG (v) is the neighbourhood of v in G and is the set of all the neighbours S of v. If W is a set of vertices, then NG (W ) = w∈W NG (w). When there is no risk of ambiguity, we will write N (v) instead of NG (v). The degree of a vertex v is the number of edges incident to it and is denoted deg(v). The maximal degree in G is denoted ∆(G), 10 TARAL GULDAHL SEIERSTAD or simply ∆. The degree sequence of a set of vertices is the multiset containing the degrees of the vertices in the set, counting multiplicities. In particular the degree sequence of a graph contains the degrees of all the vertices in the graph. The neighbour degree sequence of v is the degree sequence of N (v). As an alternative notation we let δv0 = deg(v), and for k > 0, we define k−1 δvk = {δw |w ∈ N (v)}. Thus δv1 is the neighbour degree sequence of v, and δv2 is the multiset containing the neighbour degree sequences of v’s neighbours. In this thesis we will not need δvk for k > 2. In fact we will mostly be concerned with δv0 and δv1 and we will usually write deg(v) instead of δv0 and δv instead of δv1 . If W is a set of vertices, we let k δW = {δvk |v ∈ W }. So δV0 (G) is the degree sequence of the graph G. We will use the sign ⊔ to denote a disjoint union of multisets. For example, if δv = {3}, then δv ⊔ {3} = {3, 3} = 6 {3}. Lemma 0.4. The degree sequence of a graph G is reconstructible, and for every Gv ∈ DG , we can determine the degree and neighbour degree sequence of v. Proof. We take F = K2 in Kelly’s corollary to reconstruct the degree of v. Then the degree sequence of G is clearly also reconstructible. A card Gv is given. Let ad be the number of vertices in G of degree d, a′d be the number of vertices in Gv of degree d, and bd be the number of neighbours of v of degree d. Then ad and a′d are known for each d, and reconstructing the neighbour degree sequence of v is the same as reconstructing bd for every d. The vertices in Gv of degree d are those that have degree d in G and are not neighbours of v, and those that have degree d + 1 in G and are neighbours of v. Thus (0.2) a′d = (ad − bd ) + bd+1 . So whenever we know the value of bd+1 , we can use (0.2) to find bd . Since b∆+1 = 0, we can determine bd for every d. Several classes of graphs have been proved to be reconstructible. We sum them up in Theorem 0.5, but first we need some definitions. A tree is a connected graph which does not contain any cycles. A forest is a graph, all of whose components are trees. A graph such that every edge is a part of at most one cycle is a cactus. A graph G is separable if one of the cards in DG is disconnected. A pendant vertex is a vertex of degree one. ULAM’S RECONSTRUCTION PROBLEM FOR GRAPHS Theorem 0.5. The following classes of graphs are reconstructible: I Disconnected graphs. [Kel57] II Trees. [Kel57] III Cacti. [GM69] IV Separable graphs without pendant vertices. [Bon69] V Graphs for which one of the cards is a forest. [MW78] 11 12 TARAL GULDAHL SEIERSTAD 1. Small bipartite graphs A graph is bipartite if its vertex set can be partitioned into two sets V1 and V2 in such a way that no two vertices from the same set are adjacent. The sets V1 and V2 are called the colour classes of G. This term illustrates that it is possible to colour the vertices in G with two colours so that no two adjacent vertices have the same colour. The partition (V1 , V2 ) of V (G) is called a bipartition of G. If G is a connected bipartite graph, there exists a unique bipartition of G. If G is disconnected, that is not the case. We let B be the class of all bipartite graphs and Bm,n be the class of bipartite graphs where |V1 | = m and |V2 | = n. Km,n is the graph in Bm,n with the property that every vertex in V1 is adjacent to every vertex in V2 . Km,n is called a complete bipartite graph. We will call a bipartite graph G balanced if G ∈ Bn,n for some n. A bipartite graph G is symmetric if there is an automorphism α of G such that α(v) ∈ V2 for every v ∈ V1 . There are not many published results about the reconstruction of bipartite graphs; however some fundamental theorems were found independently by [Sal83] and [Lol83]. They proved that the class of bipartite graphs is recognizable and that the number of vertices and degree sequence of each colour class are reconstructible. The proof that B is recognizable is based on a well-known lemma which was found by König in 1916. Lemma 1.1. A graph is bipartite if and only if all the cycles in the graph have even length. Theorem 1.2. The class of bipartite graphs is recognizable. Proof. Suppose that G is a cycle. Then any card in DG is a path, and since paths are also a forests, G is reconstructible by Theorem 0.5V. After reconstructing G we can determine whether G is bipartite. For the rest of this proof we assume that G is not a cycle. We want to prove that in this case G is bipartite if and only if all the cards in DG are bipartite. Clearly, if G is a bipartite graph, the bipartition of G naturally defines a bipartition of any subgraph of G, so any card in DG is bipartite. What remains to prove is that if all the cards in DG are bipartite, then so is G. Assume that all the cards in DG are bipartite. By Lemma 1.1, none of the cards in DG contain an odd cycle. Suppose G contains an odd cycle, C. If C has length smaller than ν(G), there is some vertex, v, which is not in C. Thus in Gv , C is visible, contrary to our hypothesis that none of the cards in D contain an odd cycle. So assume that C has length ν(G), and that G contains no odd cycle of length less than ν(G). Since G is not a cycle, there is some edge vw in E(G) which is not in C, as in Figure 1. Since G is a simple graph, v and w cannot be adjacent in C. ULAM’S RECONSTRUCTION PROBLEM FOR GRAPHS 13 v C1 C2 w Figure 1 Let P1 , P2 ⊆ C be two paths, each with v and w as endvertices, so that P1 and P2 have no edge in common. Thus every edge in C is either in P1 or in P2 . Let Ci , i = 1, 2, be cycles so that E(Ci ) = E(Pi ) ∪ {vw}, as in Figure 1. Then ε(C1 ) + ε(C2 ) = ε(C) + 2, and since ε(C) is odd, either ε(C1 ) or ε(C2 ) is odd. But since v and w are not adjacent in C, both C1 and C2 have fewer than ν(G) vertices. Thus G contains an odd cycle with fewer than ν(G) vertices, which is a contradiction. We therefore conclude that G does not contain any odd cycles. Then G is bipartite by Lemma 1.1. We conclude that if G is not a cycle, then G is bipartite if and only if all the cards in DG are bipartite. Hence B is recognizable. The other two fundamental theorems, proved by [Lol83] and [Sal83], are stated without proof. Theorem 1.3. The number of vertices in each colour class of a bipartite graph is reconstructible. Theorem 1.4. The degree sequence for each colour class of a bipartite graph is reconstructible. [McK97] proved by computer analysis that if G is a bipartite graph with less than sixteen vertices, or a bipartite graph with sixteen vertices and maximal degree five, G is reconstructible. This provides a lower bound for the number of vertices which we will use often, so it is convenient to state it as a theorem. Theorem 1.5. Let G be a bipartite graph with ν vertices, ε edges and maximal degree ∆. If any one of the following conditions is satisfied, G is reconstructible. i. ν ≤ 15 ii. ε ≤ 17 iii. ∆ ≤ 5 and ν ≤ 16 iv. ∆ ≤ 5 and ε ≤ 18 Proof. i and iii are taken directly from [McK97]. In order to prove ii and iv, we have to show that G is reconstructible if ε ≤ ν + 1. 14 TARAL GULDAHL SEIERSTAD We know that disconnected graphs are reconstructible, so we assume that G is connected. For connected graphs we have the equation ε ≥ ν − 1. If ε = ν − 1, G is a tree, and then G is reconstructible by Theorem 0.5II. If ε = ν, G contains exactly one cycle. If Gv is any card such that v is a vertex in the cycle, Gv does not contain any cycles, so Gv is a forest. Then G is reconstructible by Theorem 0.5V. If ε = ν + 1, we have two possibilities: Either G contains two disjoint cycles, or else G contains some vertex v which is a vertex in all cycles in G. In the former case G is a cactus, so that G is reconstructible by Theorem 0.5III. In the latter case Gv is a forest, so G is reconstructible by Theorem 0.5V. In this section we will restrict our attention to bipartite graphs for which one of the colour classes is small. Figure 2. A star A graph in the class B1,n is called a star. Stars contain no cycles and are therefore also trees. Therefore all stars are reconstructible, by Theorem 0.5II. v Figure 3. A graph in B2,n So suppose that G is a graph in B2,n . Let v be one of the vertices in the colour class of size two, as in Figure 3. Then Gv consists of a star and possibly a number of isolated vertices. Clearly Gv contains no cycles, and is therefore a forest. By Theorem 0.5V graphs for which one card is a forest are reconstructible. Hence B2,n is reconstructible. [Lol83] proved that B3,n and B4,n are reconstructible classes of graphs for all values of n. We will give proofs for this in section 1.3, page 47, but first we will go one step further and study bipartite graphs for which one colour class contains five vertices. 1.1. The deck of B5,n . B5,n is the class of bipartite graphs for which V1 and V2 contain five and n vertices respectively. As stated in Theorem 1.5, bipartite graphs with less than ULAM’S RECONSTRUCTION PROBLEM FOR GRAPHS 15 sixteen vertices are reconstructible; in the following we will therefore assume that n > 10. We realize from the Theorems 1.2 and 1.3 that B5,n is a recognizable class of graphs. If Gv is a card in DG , we will call Gv orientable if it is possible to determine to which colour class of G each vertex in Gv belongs. Gv is semiorientable if it is possible to determine whether v ∈ V1 or v ∈ V2 . For i = 1, 2, DG (Vi ) is the subdeck of DG consisting of the cards for which the missing vertex is in the colour class Vi . We can write D(Vi ) instead of DG (Vi ). Hence semiorientating a card means to determine whether it belongs to D(V1 ) or D(V2 ). We wish to prove that B5,n is reconstructible and we start off by showing that if G ∈ B5,n , then every card in the deck of G is orientable. If v and w are two vertices in G, the distance between v and w is the number of edges in the shortest path between them and is denoted by d(v, w). c z Figure 4. A bomb Lemma 1.6. Let G be a graph with maximal degree ∆. For every card Gv it is possible to determine the distance in G between v and the nearest vertex of degree ∆. Proof. A card Gv is given, and we want to find the distance from v to the nearest vertex of degree ∆. By Lemma 0.4, we can determine the degree and neighbour degree sequence of v. Thus if deg(v) = ∆, we know that the distance is zero and if one of the neighbours of v has degree ∆, the distance is one. Therefore we assume that the distance is two or greater. A graph such as the one in Figure 4 is a bomb. The definition of a bomb if that it is a connected graph without cycles, such that only one of the vertices has degree greater than two, and such that that vertex has only one non-pendant neighbour. We let c be the vertex of degree greater than two, and z be the only pendant vertex that is not a neighbour of c. The path between c and z is the fuse of the bomb. A bomb is determined by the degree of c and the length of the fuse. We let Bld be the bomb such that c has degree d and the fuse has length l. The number of vertices in Bld is d + l. By Kelly’s corollary, we can determine whether v is included in a subgraph of G isomorv (B ∆ ) > 0 if and only if there is a phic to Bl∆ as long as ν(Bl∆ ) < ν(G). We see that σG l path of length l between v and some vertex in G of degree ∆. Let k be the smallest value v (B ∆ ) > 0. Then the shortest distance between v and some vertex of degree for which σG k 16 TARAL GULDAHL SEIERSTAD ∆ is k. Hence if ν(Bk∆ ) < ν(G), the distance between v and the closest vertex of degree ∆ can be determined. v (B ∆ ) = 0 whenever ν(B ∆ ) < ν(G). Let c Then we have to consider the case where σG l l be the vertex of degree ∆ which is nearest v. Since Bl∆ = ∆ + l, we get ∆ + d(v, c) ≥ ν(G). Thus d(v, c) ≥ ν(G) − ∆. Suppose that d(v, c) > ν(G) − ∆. Then there is a vertex w on the shortest path between v and c, such that d(w, c) = ν(G) − ∆. Let B be the graph which consists of the shortest path between w and c and the neighbours of c. Then v is not in B, ∆ so ν(B) < ν(G), but B ≃ Bν(G)−∆ , so ν(B) = ∆ + (ν(G) − ∆) = ν(G), a contradiction. Hence d(v, c) = ν(G) − ∆. Thus the distance between v and the closest vertex of degree ∆ can always be determined. Corollary 1.7. Let G be a bipartite graph with maximal degree ∆. Assume that one of the colour classes does not contain any vertices of degree ∆. Then all the cards in the deck of G are semiorientable. Proof. Since the degree sequences of V1 and V2 are reconstructible, we can determine whether the vertices of degree ∆ are in V1 or V2 . Let Gv be a card in the deck of G. According to Lemma 1.6 we know the distance d from v to the closest vertex of degree ∆. If d is even, then v is in the same colour class as the vertices of degree ∆. If d is odd, v is in the other colour class. A bipartite graph is said to be k-expanding if for every W ⊆ V1 , |N (W )| ≥ |W | + k. A complete graph is a graph where any pair of vertices are joined by an edge. A clique in G is a subgraph of G isomorphic to a complete graph. If there is a subset of V (G) such that no two vertices in the subset are adjacent, it is called an anti-clique. An n-clique is a clique with n vertices, and an n-anti-clique is an anti-clique with n vertices. Lemma 1.8. If G is a 1-expanding bipartite graph, all the cards in the deck of G are semiorientable. Proof. We have to prove two things: (i) that we can determine whether G is 1-expanding or not and (ii) that if we know that G is 1-expanding, we can semiorientate all the cards in DG . To prove (i) we show that G is 1-expanding if and only if exactly m of the cards in DG contain an n-anti-clique. If v ∈ V1 , then the colour class V2 in Gv consists of n vertices; these vertices form an n-anti-clique. Since there are m cards in D(V1 ), there are always at least m cards which contain an n-anti-clique. So we have to prove that G is 1-expanding if and only if no card in D(V2 ) contains an n-anti-clique. ULAM’S RECONSTRUCTION PROBLEM FOR GRAPHS 17 Suppose that Gv ∈ D(V2 ) contains an n-anti-clique. Let W be this n-anti-clique and let W1 = W ∩ V1 and W2 = W ∩ V2 . Thus |W1 ∪ W2 | = n, and since the colour class V2 in Gv consists of only n − 1 vertices, |W2 | < n, so W1 is non-empty. Since W1 ∪ W2 is an anticlique, none of the vertices in W1 are neighbours of the vertices in W2 , so N (W1 ) ⊆ V2 \W2 . But then |N (W1 )| ≤ |V2 \ W2 | = |V2 | − |W2 | ≤ n − (n − |W1 |) = W1 , so G is not 1-expanding. Conversely, suppose G is not 1-expanding. Then V1 contains a subset W1 such that |N (W1 )| ≤ |W1 |. Then |V2 \ N (W1 )| = |V2 | − |N (W1 )| ≥ n − |W1 |. Hence there is a subset W2 of V2 \ N (W1 ) with n − |W1 | elements. Then |W1 ∪ W2 | = n, and none of the vertices in W1 have a neighbour in W2 . Thus W1 ∪ W2 is an n-anti-clique. Then we prove (ii). It was implicitly proved in (i) that when G is 1-expanding, v ∈ V1 if and only if Gv contains an n-anti-clique. This information suffices to semiorientate all the cards in DG . The next step is to use Corollary 1.6 and Lemma 1.8 to prove that all the cards in DG are semiorientable. In proofs of this kind we will often prove that either all the cards are semiorientable, or else G is reconstructible. However it is not necessary to include this in the statement of the result: if G is reconstructible it implies that all the cards are semiorientable, because if we really want to, we can semiorientate the cards after reconstructing G. Let f : V (G) → S be a function where S is any non-empty set. f is decidable if it is possible to determine the value of f (v) for every card Gv ∈ DG . The function deg : V (G) → N0 is an example of a decidable function. Observation 1.9. Let f be a decidable function and let s be a value in the range of f . Suppose that whenever Gv ∈ D(V1 ) and f (Gv ) = s, Gv is semiorientable. Then every card Gv for which f (Gv ) = s is semiorientable. Proof. Let Gv be a card such that f (Gv ) = s. By assumption Gv is semiorientable if Gv ∈ D(V1 ). So if we are not able to determine that Gv is in D(V1 ), Gv must be in D(V2 ). 18 TARAL GULDAHL SEIERSTAD In particular, if all the cards in D(V1 ) are semiorientable, so are all the cards in D(V2 ). Lemma 1.10. If G ∈ B5,n , all the cards in the deck of G are semiorientable. Proof. If Gv is a connected card, then either Gv ∈ B4,n or else Gv ∈ B5,n−1 . Since n ≫ 5, these cases cannot be confused with one another. In the first case v ∈ V1 ; in the other v ∈ V2 . Hence all connected cards are semiorientable; in fact, they are orientable since the colour class with fewer vertices clearly corresponds with V1 . Corollary 1.7 asserts that if the maximal degree of V1 differs from the maximal degree of V2 , all the cards are semiorientable. Therefore we assume that both V1 and V2 contain a vertex of degree ∆. Seeing that there are only five vertices in V1 , no vertex in V2 has degree greater than five. Hence ∆ ≤ 5. Then we split the proof into two cases: either ∆ = 5 or ∆ < 5. Case 1: ∆ = 5. We let v be a vertex in V2 of degree five. Let Gw be any card in D(V2 ) such that deg(w) < 5. v is a neighbour of all the vertices in V1 , so N (w) ⊂ N (v). Then all the neighbours of w are connected to each other via v, so Gw is a connected card. Since we have proved that all connected cards are semiorientable, Gw is semiorientable. Since deg is a decidable function, Observation 1.9 implies that any card Gw with deg(w) < 5 is reconstructible. What remains is to semiorientate the cards where the missing vertex has degree five. Suppose that w ∈ V1 and that deg(w) = 5. If Gw is connected, Gw is semiorientable, as explained in the first paragraph of this proof. So suppose that Gw is disconnected and let C be the component that contains v. v is a neighbour of all vertices in V1 , and since every edge in E(G) is incident to one vertex in V1 , all edges in G belong to C. Thus Gw consists of C and a number of isolated vertices. Since Gw is disconnected, Gw contains at least one isolated vertex. Thus w has a neighbour of degree one. The degree sequence of V1 is reconstructible, so if V1 does not contain any vertices of degree one, we realize that w must be in V1 , so Gw is semiorientable. So assume that V1 contains a vertex x with deg(x) = 1, and consider the card Gx . This card is connected, and so it is orientable. In this card v is a vertex of degree four which is a neighbour of all the remaining vertices in V1 . But in Gx all vertices in V2 of degree four have the same neighbourhood, so all such vertices are indistinguishable from each other. Hence we can reconstruct G by attaching x to any vertex in V2 of degree four. Case 2: ∆ < 5. We know from Theorem 1.5 that graphs with less than nineteen edges and without vertices of degree higher than five are reconstructible. We therefore assume that G contains at least nineteen edges. If G is 1-expanding, Lemma 1.8 asserts that all the cards in DG are semiorientable. So we assume that G is not 1-expanding. Then there is a subset W of V1 , such that |N (W )| ≤ |W |. ULAM’S RECONSTRUCTION PROBLEM FOR GRAPHS 19 Suppose |W | = k. Then the k vertices in W have at most k incident edges each, and the 5 − k vertices in V1 \ W have at most four incident edges each. This gives 19 ≤ ε(G) ≤ k2 + 4(5 − k) = k2 − 4k + 20. Since 1 ≤ k ≤ 4, the only solution is k = 4. Then there is only one vertex in V1 \ W , and it has at most four neighbours. Then |V2 | = N (W ) ∪ N (V1 \ W ) ≤ 4 + 4 = 8, and ν(G) = |V1 | + |V2 | = 5 + 8 = 13, so G is reconstructible according to Theorem 1.5. An orientation of a graph G is a function O : V (G) → {V1 , V2 }. An orientation O′ of Gv is valid if there is a reconstruction of G with an orientation O such that O(w) = O′ (w) for every w ∈ Gv . If Gv has two orientations O1 and O2 , then they are equivalent if there is an automorphism α of Gv , such that O1 (w) = O2 (α(w)) for all w ∈ V (G). A card is orientable if all valid orientations are equivalent. If O1 and O2 are two orientations of a card and C is a component in that card, we will write O1 (C) = O2 (C) if O1 and O2 orientate C the same way. This is of course an abuse of notation, but nevertheless it is convenient. Proposition 1.11. If G ∈ B5,n then all the cards in the deck of G are orientable. Proof. By the previous lemma, all the cards in D are semiorientable. Hence we can always determine whether a card belongs to D(V1 ) or D(V2 ). Isolated vertices in Gv always belong to the colour class to which v does not belong, so they are orientable. If one of the cards in DG is a forest, G is reconstructible by theorem 0.5V. Hence we assume that G contains at least two cycles, and that no vertex is a part of all cycles. Since any cycle goes through at least two vertices in V1 , it follows that V1 contains at least three cycle vertices. If x and y are vertices in the same cycle, then x and y are in the same component on any card Gz where z 6= x and z 6= y. If v ∈ V2 , every component in Gv contains at least one vertex from V1 . Consequently, if v ∈ V2 , then Gv contains no more than three components. Suppose that v ∈ V2 and that Gv consists of three components. Because every component in Gv contains at least one vertex in V1 , no component can contain more than three vertices from V1 . Thus if any component in Gv has a colour class with more than three vertices, the vertices in this colour class are in V2 . Since we can assume that |V2 | ≥ 11, V2 ∩ Gv contains at least ten vertices. Thus, by the pigeon-hole principle, one of the components has a colour class with at least four vertices. As explained, this component is orientable. Hence if v ∈ V2 , there are no more than two non-orientable components in Gv . Let C be the collection of components in Gv that we have not been able to orientate. We make no assumptions as to whether v ∈ V1 or v ∈ V2 . 20 TARAL GULDAHL SEIERSTAD Case 1: C consists of one component. This means that we have been able to orientate all components except this one. Since we know how many vertices there are in V1 and V2 , it is easy to orientate C if C is unbalanced. Therefore we assume that C is balanced, so C ∈ Ba,a for some integer a. If a = 1, then C ≃ K1,1 . K1,1 is a symmetric graph, so it is orientable. If a = 2, C is isomorphic to one of the graphs in Figure 5. Both of those graphs are symmetric, so C is orientable in this case as well. Figure 5. B2,2 We can therefore assume that a ≥ 3. By Theorem 1.4 we can determine the degree sequences of V1 and V2 . Suppose v ∈ V1 . (The argument is similar for v ∈ V2 .) Then the vertices in V1 have the same degree in Gv as they have in G, since none of the vertices in V1 have v as a neighbour. We let D be the subgraph of Gv consisting of the orientable 0 components in Gv . That is D = Gv \ C. Since D is orientable, we can determine δD∩V . 1 Clearly δV0 1 = δD∩V1 ⊔ deg(v) ⊔ δC∩V1 . The only unknown in this equation is δC∩V1 , and so we can determine δC∩V1 . If one of the colour classes of C does not have degree sequence δC∩V1 , this part of C must be subset of V2 . Thus C can be orientated unless the colour classes of C have the same degree sequence. The only graphs in B3,3 with the property that the colour classes have the same degree sequence are pictured in Figure 6. All these graphs are symmetric, so any component isomorphic to one of the graphs in Figure 6 is orientable. If a = 3, C is therefore orientable. Figure 6. B3,3 Then we assume that a ≥ 4. If C ∈ B5,5 , v must be in V2 . Then V2 = C ∩ V2 {v}, so |V2 | = 6. Then G contains too few vertices, so G is reconstructible by Theorem 1.5. The only possibility left is that C ∈ B4,4 . Then there is only one vertex in V1 which is not in C. We let this vertex be w. (In case v ∈ V1 , we have v = w.) w is a neighbour of all the vertices in V2 \ C. Since we can assume that |V2 | ≥ 11, deg(w) ≥ 11 − 4 = 7. Since none of these seven vertices are in C, they cannot have neighbours in V1 besides w. So w has at least seven pendant neighbours. None of the vertices in C ∩ V2 can have more than ULAM’S RECONSTRUCTION PROBLEM FOR GRAPHS 21 four neighbours. Let z be a neighbour of w. In Gz there is exactly one vertex in V1 with six or more pendant neighbours. This vertex must be the neighbour of z, so we reconstruct G by adding a vertex to Gz and attaching it to this vertex. Case 2: C consists of two components. Since we know to which colour class v belongs, and we have been able to orientate all components except those in C, we know how many vertices C should contribute to V1 and V2 . Suppose V1 needs a more vertices and V2 needs b vertices. Then C can be orientated in such a way that C ∈ Ba,b . Assume that the two components in C are members of Ba1 ,b1 and Ba2 ,b2 respectively, such that a1 + a2 = a and b1 + b2 = b. Suppose that one of the components is unbalanced, say C1 is unbalanced. Since we have not been able to orientate C1 , there are two valid orientations of Gv , O1 and O2 , such that O1 (C1 ) 6= O2 (C1 ). If O1 (C2 ) = O2 (C2 ), then V1 would not get the same number of vertices when the graph is orientated according to O1 and O2 . That is impossible since both O1 and O2 are assumed to be valid. Hence O1 (C2 ) 6= O2 (C2 ). In fact we see that C1 and C2 must be unbalanced by the same number of vertices. This implies that C itself is balanced. Suppose that both C1 and C2 are balanced. Since |V1 | = 5, we get |C1 ∩V1 |+|C2 ∩V1 | ≤ 5. Hence we can assume without loss of generality that |C1 ∩ V1 | ≤ 2. Thus C1 ∈ Ba,a with a = 1 or a = 2. If a = 1, then C1 ≃ K1,1 , and if a = 2, C1 is isomorphic to one of the graphs in Figure 5. In either case C1 is symmetric and therefore orientable. But then there is only one component which is not orientable. This was case 1 and it has already been proved that Gv is orientable in this case. Therefore we assume that both C1 and C2 are unbalanced. We can assume that C ∈ Ba,a with a ≤ 5. If a = 4 or a = 5 we can use the same argument as in case 1. Therefore we assume that a ≤ 3. Isolated vertices are orientable, since they belong to the colour class which does not contain v. Thus a ≥ 2. If a = 2, the only possibility is that both C1 and C2 are isomorphic to K1,1 . Then they are symmetric, and orientable. Hence we assume that a = 3. The only possibility is that C1 and C2 are both isomorphic to K1,2 , as in Figure 7. The graph in 7 is symmetric, so C is orientable. Figure 7 Case 3: C consists of more than two components. We have proved that if v ∈ V2 , Gv contains at most two non-orientable components, so in this case we must have v ∈ V1 . As 22 TARAL GULDAHL SEIERSTAD usual all isolated vertices in Gv are orientable, so every non-orientable component contains at least one edge. Hence if Ci is a component in C, then Ci contains at least one vertex from both colour classes. In Gv , V1 consists of four vertices. Since every non-orientable component contains at least one vertex from V1 , there are at most four components in C. If there are exactly four components in C, then every component in C contains exactly one vertex from V1 . The only way to orientate the components in C so that V1 gets four vertices, is to orientate each component such that it contributes one vertex to V1 . Thus all the components can be orientated. So assume that C consists of exactly three components. Then these components belong to B2,a , B1,b and B1,c . Let C1 , C2 and C3 be these components. We note that if one of the components is orientable, there are only two non-orientable components left, and in that case it was shown in case 2 that all the components are orientable. Hence if one component is orientable, the others are also orientable. Since v ∈ V1 and there are at least three components, no component in C has more than two vertices from V1 . Thus if one of the colour classes in Ci , for some i ∈ {1, 2, 3}, contains more than two vertices, this colour class belongs to V2 . In this case Ci can be orientated, so we are done. We can therefore assume that a, b, c ≤ 2. If a = 2, then C1 ∈ B2,2 , so C1 is isomorphic to one of the graphs in Figure 5. Thus C1 is symmetric and thereby orientable. Similarly if b = 1 or c = 1, then C2 ≃ K1,1 or C3 ≃ K1,1 , and so C2 or C3 is symmetric and orientable. We deduce that unless the components are orientable, then a = 1, b = 2 and c = 2. Thus Ci ≃ K1,2 for i = 1, 2, 3. Since we know that V1 need exactly four vertices, there is only one way to orientate these components, and so Gv is orientable. 1.2. Reconstructing B5,n . Since we have proved that all the cards in D are orientable for all graphs in B5,n . we can take advantage of the following result by Hyyrö. Lemma 1.12 ([Hyy68]). Let G ∈ Bm,n and assume that all the cards in the deck of G are orientable. Let d1 , . . . , dm be the degrees of the vertices in V1 . Assume that at least one of the following conditions is satisfied after a possible renumbering of the di ’s. I di = n for some i. II di = dj for all i, j with 1 ≤ i, j ≤ m. III di 6= dj whenever i 6= j. IV d1 = d2 and the numbers d2 , . . . , dm are pairwise distinct. V d1 = d2 = d3 and the numbers d3 , . . . , dm are pairwise distinct. VI Whenever 1 ≤ i, j ≤ m, either di = dj or |di − dj | ≥ 2. Then G is reconstructible. ULAM’S RECONSTRUCTION PROBLEM FOR GRAPHS 23 Lemma 1.13. Let G be a bipartite graph and suppose that G contains a vertex v ∈ V2 so that Gv is orientable, and so that whenever v has a neighbour of degree d, v is a neighbour of all the vertices in V1 of degree d − 1. Then G is reconstructible. Proof. Let V1′ be the set of vertices in Gv corresponding to V1 . Since Gv is orientable, we can determine which vertices in Gv belong to V1′ and which belong to V2′ . Clearly G is reconstructible if we can determine which of the vertices in Gv are neighbours of v. If v has a neighbour of degree d, then w is seen in Gv as a vertex of degree d − 1. But then all the vertices in V1 of degree d − 1 are neighbours of v, and in this way we can determine all the neighbours of v in Gv . Definition 1.14. For a bipartite graph G with the bipartition (V1 , V2 ), the bipartite complement of G is the graph Gb where V (Gb ) = V (G) and E(Gb ) = {{v1 , v2 }|v1 ∈ V1 , v2 ∈ V2 , {v1 , v2 } 6∈ E(G)}. Figure 8. A graph and its bipartite complement. If G is disconnected, the bipartite complement of G is dependent on which bipartition we choose. When G is connected there is only one bipartition, and so the bipartite complement is uniquely defined. Proposition 1.15. Let G ∈ B5,n , and suppose that Gb is reconstructible. Then G is reconstructible. Proof. By Proposition 1.11, all the cards in the deck of G are orientable. Then we are able to find a bipartition of every card which corresponds to the bipartition of G. We take the bipartite complement of all the cards in DG according to those bipartitions. Then we get the deck of DGb . Since Gb is reconstructible by assumption, we are now able to reconstruct Gb . G is a bipartite complement of Gb , so to reconstruct G we have to take the bipartite complement of Gb . If Gb is connected, this is straightforward, but if Gb is disconnected, there is more than one way to take the bipartite complement of Gb . b What we have to do is find the bipartition of Gb such that Gb = G. This is similar to what we did when we orientated the cards in DG . It is therefore convenient to borrow 24 TARAL GULDAHL SEIERSTAD the terms ’to orientate’ and ’orientable’ from the topic of orientation of cards. These are defined in the obvious way. If Gb contains an isolated vertex, it means that either V1 contains a vertex of degree n, or V2 contains a vertex of degree five. In both cases G is reconstructible by Lemma 1.12I. Hence we assume that Gb does not contain any isolated vertices. Then every component in Gb contains a vertex from V1 , so there are at most five components in Gb . Observation 1: At least one of the components in Gb is orientable. Proof. Suppose that there are c components in Gb . Since every component in Gb contains one vertex from V1 , we get |C ∩ V1 | ≤ 6 − c for every component C in Gb . So if Gb contains a component C such that |C ∩ V2 | > 6 − c, that component is orientable. If |C ∩ V2 | ≤ 6 − c for all components C in Gb , then 11 ≤ |V2 | ≤ c(6−c). There are no values of c which satisfy that equation; consequently one of the components has more than 6 − c vertices from V2 , and that component is therefore orientable. v w v w Gb G Figure 9 Observation 2: If Gb contains a collection of components C, such that C ∈ B4,4 when C is orientated correctly, then G is reconstructible. Proof. Figure 9 is an example of this case. Let D = Gb \ C. Then |D ∩ V1 | = 1 and |D ∩ V2 | ≥ 7, because |V2 | ≥ 11. Let w be the vertex in D ∩ V1 . We see that in G, w is a neighbour of all the vertices in C ∩ V2 and not a neighbour of any of the vertices in D ∩ V2 , so deg(w) = 4. Each of the vertices in C ∩ V1 is a neighbour of all the vertices in D ∩ V2 in G, so every vertex in C ∩ V1 has at least degree seven. Thus δV0 1 = {4, d1 , d2 , d3 , d4 }, where di ≥ 7 when 1 ≤ i ≤ 4. Note that this is the degree sequence of V1 in G – not in Gb . Let v be any vertex in D ∩ V2 . Then v is a neighbour of all the vertices in V1 that do not have degree four, and v satisfies the conditions in Lemma 1.13, so G is reconstructible. Now let C be the subgraph of Gb consisting of the components that we have not orientated. Since every component in Gb contains at least one vertex from V1 , and we know by Observation 1 that there is an orientable component in Gb , we see that |C ∩ V1 | ≤ 4 and that C contains at most four components. We let D be the subgraph of Gb consisting of the components that have orientated. ULAM’S RECONSTRUCTION PROBLEM FOR GRAPHS 25 Case 1: C consists of one component. We know how many vertices are missing in V1 and V2 , so if C is unbalanced, it can be orientated easily. The degree sequence of V1 in G is reconstructible, so we know how the degree sequence of V1 in Gb should be when Gb is orientated properly. Then we know what degrees are missing in V1 . Hence if the colour classes of C have different degree sequences, we know which of them belongs to V1 and which of them to V2 . We can therefore assume that C ∈ Ba,a for some a, and that the colour classes of C have the same degree sequences. If a = 1, then C ≃ K1,1 , if a = 2, then C is one of the graphs in Figure 5, page 20, and if a = 3, then C is one of the graphs in Figure 6 on the same page. All these graphs are symmetric, and when C is symmetric, it is immaterial how it is orientated. Hence we assume that a ≥ 4. Since we know that |C ∩ V1 | ≤ 4, we get a = 4. But then G is reconstructible by Observation 2, so we are finished. Case 2: C consists of two components. If we manage to orientate one of the components in C, then there is only one non-orientated component left in Gb , so then we are back at case 1. Hence it is enough to orientate one of the components in Gb . Let the components in C be C1 and C2 . Suppose that C1 and C2 are both balanced. Since |C ∩ V1 | ≤ 4 we have |Ci ∩ V1 | ≤ 2 for some i = 1, 2. Then this component is either K1,1 , or it is one of the graphs in Figure 5. In any case it is symmetric, and thus orientable. So then we suppose that C1 and C2 are both unbalanced. Let |C ∩ V1 | = a. Since none of the components are isolated vertices, and none of them are balanced, we have a ≥ 3. Thus 3 ≤ a ≤ 4. If a = 3, then both C1 and C2 are isomorphic to K1,2 , but orientated different ways. We see that the only way to orientate C is as indicated in Figure 7, page 21. If a = 4, G is reconstructible by Observation 2. Case 3: C consists of three components. If one of the components in C is orientable, then there are only two non-orientated components left in C, and then they are orientable as proved in case 2. Therefore, if one of the components is orientable, then they all are. Since |C ∩ V1 | ≤ 4, no component in C can contain more than two vertices from V1 . Thus if any component in C has a colour class with more than two vertices, that colour class belongs to V2 , and so the component is orientable. Then all the components are orientable, so we can assume that no component has a colour class with more than two vertices. Let Ci be a component in C, and assume that Ci ∈ Ba,b . Then a, b ≤ 2. If a = b = 1, then Ci ≃ K1,1 , and if a = b = 2, Ci is isomorphic to one of the graphs in Figure 5. In these cases Ci is symmetric, and thus orientable. So we assume that Ci ∈ B1,2 . This class contains only one connected graph, which is K1,2 . Therefore we conclude that all the components in C are isomorphic to K1,2 . Then every component can be orientated such that it contributes one or two vertices to V1 . Since we know how many vertices C should 26 TARAL GULDAHL SEIERSTAD contribute to V1 , it is easy to orientate the components in C so that V1 is given the correct number of vertices. Case 4: C consists of four components. Since every component contains at least one vertex from V1 , and according to Observation 1, there is at least one component in Gb which is not in C, then every component in C contains exactly one vertex from V1 . Thus every component should be orientated such that the colour class with one vertex goes to V1 . This can be done in only one way, so Gb is orientable. If W is a set of vertices, the degree set of W is the set containing the degrees of the vertices in W . The difference between the degree set and the degree sequence is that in the latter we also count multiplicities. Suppose that the degree set of some W is {d1 , . . . , dk }, and that W contains ai vertices of degree di when 1 ≤ i ≤ k. Then the degree distribution of W is the multiset {a1 , . . . , ak }. Sometimes we will consider the degree distribution as an ordered set (a1 , . . . , ak ); in this case it is assumed that d1 < . . . < dk . The set (a1 , . . . , ak ) will be referred to as the ordered degree distribution of W . The degree set and the ordered degree distribution of W together determine the degree sequence of W . When G ∈ B5,n there are seven possible degree distributions of the five vertices in V1 : {1, 1, 1, 1, 1} X Lemma 1.12III {2, 1, 1, 1} X Lemma 1.12IV {2, 2, 1} {3, 1, 1} X Lemma 1.12V {3, 2} {4, 1} {5} X Lemma 1.12II If G is a graph such that V1 has a degree distribution marked X, G belongs to one of the classes of graphs that were proved reconstructible by [Hyy68]. Thus there are three possible degree distributions left, {2, 2, 1}, {3, 2} and {4, 1}. We will consider them in reverse order. Lemma 1.16. Let G be a bipartite graph such that all the cards in DG are orientable, and suppose that |V1 | = m and |V2 | = n. If the degree distribution of V1 is {m − 1, 1}, G is reconstructible. Proof. Let the degree set of V1 be {d1 , d2 }. If |d1 − d2 | = 6 1, then G is reconstructible by Lemma 1.12VI. We therefore assume that d1 = d2 ± 1. Say d1 + 1 = d2 . First assume that V1 contains one vertex of degree d1 and m − 1 vertices of degree d2 , and let v be any neighbour of the vertex in V1 of degree d1 . Then v satisfies the conditions in Lemma 1.13, so G is reconstructible. Then we assume that V1 contains one vertex of degree d2 and m − 1 vertices of degree d1 . Let v be the vertex of degree d2 . If deg(v) = n, then G is reconstructible by Lemma 1.12I. Therefore we assume that deg(v) < n, so that there is a vertex in V2 which is not a ULAM’S RECONSTRUCTION PROBLEM FOR GRAPHS 27 neighbour of v. Let w be a vertex in V2 \ N (v). Then all the neighbours of w have degree d1 , and since there are no vertices in V1 of degree d1 − 1, G is reconstructible by Lemma 1.13. The case where the degree distribution of V1 is {4, 1} is a special case of this lemma. Before we go to the next case, we will prove another useful lemma. In Lemma 0.4 we proved that we for any card Gv can determine the degree of v and the neighbour degree sequence of v. Thus δv0 and δv1 are reconstructible. For bipartite graphs we can in some cases even find δv2 , which is the multiset containing the neighbour degree sequences of all the neighbours of v. Lemma 1.17. Let G ∈ B and suppose that all the cards in the deck of G are semiorientable. For every orientable card Gv we can find δv2 . Proof. Let V2 be the colour class containing v, so that all of v’s neighbours are in V1 . Since Gv is orientable, we can find the bipartition of Gv which corresponds with the bipartition of G. We let V1′ be the colour class in Gv corresponding to V1 in G. Since all the cards are semiorientable, we can reconstruct δV1 1 , and since we know which vertices in Gv belong to V1 , we can also find δV1 ′ . 1 Analogous to the proof of Lemma 0.4, we let aδ and a′δ be the number of vertices with neighbour degree sequence δ in V1 and V1′ respectively. Since δV1 1 and δV1 ′ are known to us, 1 we can determine both aδ and a′δ for all δ’s. Let bδ be the number of neighbours of v with neighbour degree sequence δ. If we can determine the value of bδ for every δ ∈ δV1 1 , we can reconstruct δv2 . Let w be any vertex in V1 . If w is not a neighbour of v, the neighbour degree sequence of w is the same in Gv as it is in G; however if w is a neighbour of v, the neighbour degree sequence is changed to δw \ {deg(v)} in Gv . Hence, for every vertex in V1′ with neighbour degree sequence δ, there is either a vertex in V1 which is not a neighbour of v with neighbour degree sequence δ, or a neighbour of v with neighbour degree sequence δ ⊔ {deg(v)}. It follows that a′δ = (aδ − bδ ) + bδ⊔{deg(v)} . Hence if we know the value of bδ⊔{deg(v)} , we can find the value of bδ . Clearly bδ = 0 if δ 6∈ δV1 1 . Since there is a finite number of elements in δV1 1 , we can use induction to find bδ for every δ ∈ δV1 1 . Let w be a neighbour of v. A vertex in Gv is a candidate for being w as long as we are not able to determine that it is not w. If there is only one candidate for w, then that vertex is w. If every neighbour of v has only one candidate in Gv , all of v’s neighbours can be identified in Gv , and so the graph is reconstructible. 28 TARAL GULDAHL SEIERSTAD A vertex in Gv can only be a candidate for w if it has correct degree and neighbour degree sequence. Thus if w′ is a candidate for w in Gv , it is required that deg(w′ ) = deg(w) − 1 and δw′ = δw \ {deg(v)}. Note that the latter equation is only valid when G is a bipartite graph; if G is not bipartite v and w might have a neighbour in common, and the degree of that neighbour changes when v is removed from the graph. If Gv is orientable we can also determine which colour class in Gv w belongs to. If G is not reconstructible, then for every card Gv there must be a neighbour w of v for which there is more than one candidate in Gv . We now let v be a vertex in V2 and w be a neighbour of v such that there is more than one candidate for w. If Gv is orientable, then all the candidates for w are in V1 . If u1 and u2 are two candidates for w, they must have the same neighbour degree sequence in Gv . We can then formulate the following observation: Observation 1.18. Let G be a graph such that all the cards in DG are orientable, and let v be a vertex in V2 . Then either G is reconstructible, or else there are two vertices u1 and u2 in V1 with u1 ∈ N (v) and u2 6∈ N (v) such that (1.1) δu1 = δu2 ⊔ {deg(v)}. Note that Equation (1.1) expresses the relation between the δu1 and δu2 in G. In Gv the neighbour degree sequences of u1 and u2 are equal to each other. Observation 1.18 is a very useful observation which we will use frequently in the remainder of this thesis. Now we suppose that the degree distribution of V1 is {3, 2}, so that the degree sequence of V1 is {d1 , d1 , d2 , d2 , d2 }. As usual we may assume that |d1 − d2 | = 1, and we can assume without loss of generality that d1 + 1 = d2 , by taking the bipartite complement if necessary. We now let d1 = d and d2 = d + 1. Let the vertices of degree d be v1 and v2 , and the vertices of degree d + 1 be w1 , w2 and w3 . The number of edges in G is 5d + 3. Because of Theorem 1.5 we can assume that G contains at least eighteen edges, so d ≥ 3. If v and w are vertices, a vertex adjacent to each of those will be denoted evw . Claim 1.19. If G is not reconstructible, then the following conditions are satisfied: i. Neither v1 nor v2 has a pendant neighbour. ii. v1 and v2 do not have a neighbour in common. iii. If there are two vertices, x and y, in V2 such that vi ∈ N (x) ∩ N (y) for some i ∈ {1, 2}, then N (x) 6⊆ N (y). Figure 10 illustrates Claim 1.19. In Figure 10 the vertices in V1 are black, while the vertices in V2 are white. The small black vertices are the vertices with degree d, and the big black vertices are the ones with degree d + 1. If G contains any subgraph F , such that F is isomorphic to one of the graphs in Figure 10, and such that (i) all the solid edges in the figure are edges in F , and (ii) the vertices in F ∩ V2 do not have any more ULAM’S RECONSTRUCTION PROBLEM FOR GRAPHS 29 Figure 10. Forbidden subgraphs incident edges than those that are indicated in the figure as solid or dashed edges, then G is reconstructible. Proof of Claim 1.19. i. If v1 or v2 has a pendant neighbour, then this neighbour satisfies the conditions for v in Lemma 1.13, so that G is reconstructible. ii. Any vertex that is a neighbour of both v1 and v2 satisfies the conditions for v in Lemma 1.13, so that G is reconstructible. iii. Suppose there are two vertices in V2 , x and y, such that vi ∈ N (x) ∩ N (y) for some i ∈ {1, 2} and N (x) ⊆ N (y). We assume that i = 1, so that x and y are neighbours of v1 . We can assume that v1 and v2 do not have a neighbour in common, because in that case G would be reconstructible by ii. In particular x and y are not neighbours of v2 . Consider the card Gx . If we are able to determine the neighbours of x in Gx , we can reconstruct G. We let V1′ be the colour class in Gx corresponding to V1 in G. v1 is the only vertex in V1′ of degree d − 1, so v1 can be identified. Clearly the vertices of degree d + 1 in V1′ are not neighbours of x. Then we consider the vertices in V1′ of degree d. Let z be such a vertex. If z is a neighbour of x, then z is also a neighbour of y, by assumption. But then z and v1 have a neighbour in common in Gx . If, on the other hand, z is not a neighbour of x, then z = v2 , and so z does not have a neighbour in common with v1 . Hence z is a neighbour of x if and only if it has a neighbour in common with v1 . Then we can determine all the neighbours of x in Gx , and G is reconstructible. We assume that G is a counterexample to the Reconstruction conjecture. Now we will consider the neighbours of vi for an i ∈ {1, 2}. After excluding the vertices mentioned in i and ii, the only possible neighbours of vi are evi w1 , evi w2 , evi w3 , evi w1 w2 , evi w1 w3 , evi w2 w3 and evi w1 w2 w3 , each of which may only appear once in V2 , according to iii. Again according to iii, evi w1 w2 w3 may not be in vi together with any of the other vertices. Hence, if evi w1 w2 w3 30 TARAL GULDAHL SEIERSTAD is in V2 , then deg(vi ) = 1, which is impossible, as we have assumed that d ≥ 3. We can therefore exclude evi w1 w2 w3 . If evi w1 ∈ V2 , then neither evi w1 w2 nor evi w1 w3 can be in V2 , because of iii. Conversely, if evi w1 w2 is in V2 , then neither evi w1 nor evi w2 is in V2 . Suppose that vi has neighbours both of degree two and three. We assume without loss of generality that evi w1 ∈ V2 . The only vertex of degree three that is a neighbour of vi , and that can be in V2 together with evi w1 without violating iii, is evi w2 w3 . But by iii evi w2 w3 excludes evi w2 and evi w3 Then the only two neighbours of vi are evi w1 and evi w2 w3 . Hence vi has exactly two neighbours, which is too few, again because d ≥ 3. Thus either all the neighbours of vi have degree two, or they have degree three. This implies that the neighbours of vi are either evi w1 , evi w2 and evi w3 or evi w1 w2 , evi w1 w3 and evi w2 w3 . Suppose that the neighbours of vi have degree two. Then V2 contains evi wj for every j ∈ {1, 2, 3}. By Observation 1.18 there is an equation on the form (1.1) such that evi wj is a neighbour of u1 and not of u2 . The only way this is accomplished, is if (1.2) δwj = δvi ⊔ {2}, where i ∈ {1, 2}, and i 6= i. Then suppose that the neighbours of vi have degree three. Then evi wj wk is in V2 , whenever j, k ∈ {1, 2, 3} and j 6= k. Again by Observation 1.18, we get either δwj = δvi ⊔ {3} or δwk = δvi ⊔ {3}. Since V2 contains the vertices evi w1 w2 , evi w1 w3 and evi w2 w3 , it follows that at least two of the following three equations hold: (1.3) δw1 = δvi ⊔ {3} (1.4) δw2 = δvi ⊔ {3} (1.5) δw3 = δvi ⊔ {3} Let d1 be the degree of the neighbours of v1 , and d2 be the degree of the neighbours of v2 . If d1 = d2 = 2, then (1.2) holds for all choices of i and j, as long as i ∈ {1, 2} and j ∈ {1, 2, 3}. But then δw1 = δw2 = δw3 = δv1 ⊔ {2} = δv2 {2}. Thus all the vertices in V2 have degree two, and G is reconstructible by Lemma 1.12II. Suppose that d1 = d2 = 3. For every i ∈ {1, 2} two of the three equations (1.3), (1.4) and (1.5) hold. Since δv1 = δv2 = {3, 3, 3}, it follows that two of the vertices w1 , w2 and w3 only have neighbours of degree three. We can assume that all the neighbours of, say, w1 and w2 have degree three. If all the neighbours of w3 have degree three, then all the vertices in V2 have degree three, and so G is reconstructible by Lemma 1.12II. Therefore we assume that w3 has a neighbour of degree d′ with d′ 6= 3. But since all the other vertices ULAM’S RECONSTRUCTION PROBLEM FOR GRAPHS 31 only have neighbours of degree three, the vertex of degree d′ is only a neighbour of w3 . Thus d′ = 1, so that the degree set of V1 is {1, 3}. Then G is reconstructible by Lemma 1.12VI. Finally suppose that d1 6= d2 . We can assume that d1 = 2 and d2 = 3. Then (1.2) holds with i = 2 for all j ∈ {1, 2, 3}, and two of the three equations (1.3), (1.4) and (1.5) are satisfied with i = 1. Hence there is a j such that δwj = δv2 ⊔ {2} = δv1 ⊔ {3}. Since both δv1 and δv2 contain three elements, we see that δv1 ∩ δv2 6= ∅. This is a contradiction since all the neighbours of v1 have degree two and all the neighbours of v2 have degree three. Consequently, if the degree distribution of V1 is {3, 2}, then G is reconstructible Then we consider the final possible degree distribution of V1 , namely {2, 2, 1}. Suppose that the vertices in V1 are v1 , v2 , w1 , w2 and x, so that deg(v1 ) = deg(v2 ) and deg(w1 ) = deg(w2 ). We can then split the remaining case into three smaller cases: i δv1 6= δv2 and δw1 6= δw2 ii δv1 = δv2 and δw1 = δw2 iii δv1 = δv2 and δw1 6= δw2 By symmetry, the case δv1 6= δv2 and δw1 = δw2 is the same as case iii. The following proposition contains case i as a special case. Proposition 1.20. Let G be a bipartite graph with the properties that all the cards in DG are semiorientable and that all the cards in D(V2 ) are orientable. Let V1 = {v1 , . . . , vm }, and suppose that δvi 6= δvj whenever i 6= j and 1 ≤ i, j ≤ m. Then G is reconstructible. Proof. Since all the cards are semiorientable, we know which cards belong to D(V1 ) and which belong to D(V2 ). We now construct a new graph H with V (H) = DG ; thus the vertices of H are the cards of G. Suppose that we for every pair of cards Gv and Gw can determine whether v and w are adjacent in G. Then we can let Gv and Gw be adjacent in H if and only if v and w are adjacent in G. It follows that H ≃ G, and that any reconstruction of G is isomorphic to H, which is the same as saying that G is reconstructible. Let Gv and Gw be two cards in DG . If v and w belong to the same colour class, they are clearly not adjacent, so we assume that Gv ∈ DG (V1 ) and Gw ∈ DG (V2 ). According 2 , since G to Lemma 0.4 we can find δv , and according to Lemma 1.17, we can find δw w 2 , and as explained in the is orientable. Then v and w are adjacent if and only if δv ∈ δw previous paragraph, that information suffices to reconstruct G. In case i all the vertices in V1 have different neighbour degree sequences, so G is reconstructible by Proposition 1.20. Then there are two cases remaining. Unfortunately these cases are less susceptible to arguments of a general type than the cases we have already 32 TARAL GULDAHL SEIERSTAD treated; the remainder of this section will mainly consist of handling the cases and subcases that are left. From Observation 1.18 we know that unless G is reconstructible, then every vertex in V2 leads to an equation of type (1.1). Much of our proof in the remaining cases is based on this observation. We define a new graph H such that V (H) = V1 (G) and E(H) = {u1 u2 |u1 , u2 ∈ V (H) and ∃d ∈ δV0 2 such that δu1 = δu2 ⊔ {d}}. We define a weight function η on H, such that if u1 u2 is an edge in H, then η(u1 u2 ) = d if δu1 = δu2 ⊔ {d}. The graph H is helpful to visualize the relations between the vertices in V1 . The graphs in the Figures 12 through 21 are examples of how H can be. In our figure the vertices with higher degree are placed higher than vertices with lower degree, and vertices with the same degree are on the same level. When we talk about a vertex in H, then this vertex is considered to be a vertex in both G and H. Unless G is reconstructible, the following five observations hold: Observation H1: Suppose that v is a vertex in V2 of degree d. Then there is an edge e in H with weight d, such that v is a neighbour of the upper endpoint of e and not a neighbour of the lower endpoint of e. Observation H2: If there is a vertex in H which is the upper endpoint of all edges in H with weight d, then that vertex is a neighbour of all vertices in V2 of degree d. If there is a vertex in H which is the lower endpoint of all the edges in H with weight d, then that vertex does not have any neighbours of degree d. Observation H3: If there is exactly one edge in H with weight d, then there is exactly one vertex in V2 of degree d. Observation H4: If vw is an edge in H with weight d and d′ 6= d, then v and w have the same number of neighbours of degree d′ . Observation H5: Suppose that H contains a cycle C. We define a direction on the cycle, such that C is a strongly connected, directed cycle. Then for every edge in C with weight d and direction upwards, there is an edge in C with weight d and direction downwards and vice versa. d1 d2 d1 d2 Figure 11 Figure 11 illustrates Observation H5. ULAM’S RECONSTRUCTION PROBLEM FOR GRAPHS 33 Proof. Observation H1 follows from Observation 1.18 and the definition of H, while Observation H2 is a direct consequence of Observation H1. Suppose that there is exactly one edge in H with weight d. Let this edge be vw and suppose v is the upper endpoint. Thus δv = δw ⊔ {d}. By Observation H2, every vertex in V2 is a neighbour of v, and none of them is a neighbour of w. Since δv = δw ⊔ {d}, v has exactly one neighbour of degree d, and by Observation H2 there is exactly one vertex in V2 of degree d. Thus Observation H3 is proved. Observation H4 is a consequence of the definition of H. Finally we prove Observation H5. Let C be a cycle in H with n edges, and define a direction on C, as explained. Clearly there are as many edges pointing downwards as upwards. Suppose that the weights of the edges pointing downwards are d1 , . . . , d n2 , and that the weights of the edges pointing upwards are d′1 , . . . , d n2 . Let v be a vertex in C. By successively using equation (1.1), we see that δv = δv ⊔ {d1 , . . . , d n2 } \ {d′1 . . . d′n }. Hence 2 {d1 , . . . , d n2 } = {d′1 , . . . , d′n }, and Observation H5 follows. 2 We will assume that G is a counterexample to the Reconstruction conjecture. Whenever we write that A implies B, we mean that the implication is true under the assumption that G is not reconstructible. We state this here, in order to avoid using the phrase ”unless G is reconstructible” an unbearable number of times. Now we consider case ii from the list in page 31. Thus δv1 = δv2 and δw1 = δw2 . The vertices in V1 altogether only have three different neighbour degree sequences. Let δ1 , δ2 and δ3 be these neighbour degree sequences, with |δ1 | ≤ |δ2 | ≤ |δ3 |. Then a relation of type (1.1) is either δ3 = δ2 ⊔ {d1 } or δ2 = δ1 ⊔ {d2 }. Hence there are at most two different degrees among the vertices in V2 . By Lemma 1.12VI we can assume that that d1 = d2 ± 1. We also see that the degrees of the vertices in V1 are three consecutive integers, since in any other case we would only allow one relation of the type (1.1), which would imply that all the degrees of the vertices in V2 are equal to each other; in this case G is reconstructible by Lemma 1.12II. There are two possible ordered degree distributions for V1 : (1, 2, 2) and (2, 1, 2). (2, 2, 1) is also possible, but if V1 in G has degree distribution (2, 2, 1), V1 in Gb has degree distribution (1, 2, 2), so by Proposition 1.15, we only have to consider one of them. Case 1: The ordered degree distribution of V1 is (2, 1, 2). Let d be the minimal degree in V1 , and let v1 and v2 be the vertices of degree d + 2, x be the vertex of degree d + 1 and w1 and w2 be the vertices of degree d. We see that the graph H, as defined in page 32, is as in Figure 12. Since δv1 = δv2 , the edges v1 x and v2 x have the same weight, and the same applies for the edges xw1 and xw2 . Since x is the lower endpoint of both the edges with weight d1 , x has no neighbours of degree d1 , according to Observation H2. Thus all 34 TARAL GULDAHL SEIERSTAD the neighbours of x have degree d2 . Since δx = δwi ⊔ {d2 } for both w1 , and w2 , the only vertices with neighbours of degree d1 are v1 and v2 . v1 v2 d1 d2 w1 d1 x d2 w2 Figure 12 Since δvi = δx ⊔ {d1 }, we see that v1 and v2 each have exactly one neighbour of degree d1 . If d1 = 2, then there is exactly one vertex in V2 of degree d1 , so the degree distribution of V2 is {1, n − 1}, and then G is reconstructible by Lemma 1.16. Therefore we assume that d1 = 1, and that the number of vertices of degree d1 is two. Since d1 = d2 ± 1, we have d2 = 2. We know that all the neighbours of w1 , w2 and x have degree d2 . Since x is the upper endpoint of both the edges in H with weight d2 , Observation H2 implies that there are d + 1 vertices in V2 of degree d2 . Since d2 = 2, we see that every vertex of degree two has exactly one neighbour in {x} and one neighbour in {v1 , v2 , w1 , w2 }. w1 and w2 each have d neighbours of degree d2 , and since δv1 = δx ⊔ {d1 }, v1 and v2 each have d + 1 neighbours of degree d2 . It follows that d + 1 = 2d + 2(d + 1), so that d = − 31 . That is of course impossible. It is therefore impossible to construct a non-reconstructible graph with these properties. Case 2: The ordered degree distribution of V1 is (1,2,2). Again let d be the minimal degree in V1 . Let x be the single vertex of degree d, and let deg(wi ) = d + 1 and deg(vi ) = d + 2 with i = 1, 2. Let d1 and d2 be the degrees attained by vertices in V2 , so that (1.6) δvi = δwi ⊔ {d1 } and (1.7) δwi = δx ⊔ {d2 }. v1 d1 w1 d1 v2 d1 d1 w2 d2 d2 x Figure 13 ULAM’S RECONSTRUCTION PROBLEM FOR GRAPHS 35 Then H is as in Figure 13. x is the lower endpoint of both the edges with weight d2 , so by Observation H2, x cannot be a neighbour of any vertex of degree d2 . Thus δx = {a.d1 } for some a. By (1.7), δwi = {a.d1 , d2 } and by (1.6), δvi = {(a + 1).d1 , d2 }. Thus v1 , v2 , w1 and w2 have exactly one neighbour each of degree d2 . Moreover, by Observation H1 every vertex of degree d2 is a neighbour of some wi . Since v1 and v2 also have neighbours of degree d2 , it follows that d2 > 1. There are four edges in G linking a vertex in V1 with a vertex in V2 of degree d2 . Hence d2 |4. If d2 = 4, there is only one vertex in V2 of degree d2 ; the others have degree d1 . Thus G is reconstructible by Lemma 1.16. So assume d2 = 2. Then V2 contains two vertices of degree d2 while the other vertices in V2 have degree d1 . Since x is the vertex in V1 with minimal degree, G is reconstructible if x has a pendant neighbour; thus d1 6= 1. Then since |d2 − d1 | = 1, we conclude that d1 = 3. We see that every vertex in V2 of degree two has one neighbour in {v1 , v2 } and one neighbour in {w1 , w2 }. Now consider a card in D(V1 ) where the missing vertex has degree d + 2. We can assume that this card is Gv1 . We further assume, without loss of generality, that the two vertices in V2 of degree two are ev1 v2 and ew1 w2 . We can reconstruct G if we can determine which vertices in Gv1 are the neighbours of v1 . In Gv1 , V2 contains a pendant vertex. This vertex is clearly a neighbour of v1 , and the vertex in Gv1 that is a neighbour of the pendant vertex is w1 . Then w2 is the other vertex with degree d + 1, and v2 is the vertex in V1 with degree d + 2. v2 and w2 have a neighbour in common of degree two. All other vertices of degree two in V2 in Gv1 must be neighbours of v1 . Then all the neighbours of v1 can be determined, so G is reconstructible. This concludes the proof for the case ii in page 1.2. Then we consider the final case, when δv1 = δv2 and δw1 6= δw2 . Again we have to consider two possible ordered degree distributions of V1 : (1, 2, 2) and (2, 1, 2). We will split the proof into three cases: Case 1: The degree distribution of V1 is (2, 1, 2). Case 2: The degree distribution of V1 is (1, 2, 2) and deg(vi ) > deg(wi ). Case 3: The degree distribution of V1 is (1, 2, 2) and deg(wi ) > deg(vi ). Recall that we have assumed that δv1 = δv2 and δw1 6= δw2 . This is what makes the difference between the second and the third case. We will let di denote the degrees in V2 . Thus δV0 2 = {d1 , . . . , dr } for some r. We will let ai be the number of vertices in V2 of degree di when 1 ≤ i ≤ r. We can assume that r ≥ 2, because else, G would be reconstructible by Lemma 1.12II. Case 1: The ordered degree distribution of V1 is (2, 1, 2). There are two possibilities: Either deg(wi ) < deg(x) < deg(vi ) or deg(vi ) < deg(x) < deg(wi ). The significant difference between the two is whether the two vertices with the same degree, but different neighbour degree sequence, are the vertices with greatest or smallest degree in V1 . But we see that if 36 TARAL GULDAHL SEIERSTAD v1 v2 v1 v2 d1 x v1 d1 x v2 d1 v1 d1 d1 x w2 a w1 w2 w1 w2 w1 c b d1 x d3 w2 d2 d2 w1 v2 d Figure 14 G is a graph of the first type, Gb is a graph of the second type. Since it is only necessary to prove that either G or Gb is reconstructible, we assume that deg(wi ) < deg(x) < deg(vi ). Then H can be as the graph in Figure 14a. Note that not all the edges in Figure 14a are necessarily included in the graph H; it is possible that there is, say, no value d such that δx = δw2 ⊔ {d}. In that case there is no edge between x and w2 . We do know, however, that H is a subgraph of the graph in Figure 14a. We have assumed that δw1 6= δw2 , so xw1 and xw2 cannot have the same weight. Similarly, since δv1 = δv2 , v1 x and v2 x do have the same weight. Since deg(v1 ) > deg(x), there is a neighbour of v1 which is not a neighbour of x. Let u be such a vertex and suppose that deg(u) = d1 . By Observation H1, there is an edge in H with weight d1 , such that u is a neighbour of the upper endpoint and not a neighbour of the lower endpoint. Since u is not a neighbour of x, x cannot be the upper endpoint of the edge, so the edge must be v1 x or v2 x. Since v1 x and v2 x have the same weight, we get η(v1 x) = η(v2 x) = d1 . Then H looks like the graph in Figure 14b. Since we can assume that not all of the vertices in V2 have the same degree, there is a vertex in V2 of degree d2 with d2 6= d1 . Then one of the edges in H has weight d2 . Since both v1 x and v2 x have weight d1 , either xw1 or xw2 has weight d2 . Without loss of generality we assume that xw1 has weight d2 , so that δx = δw1 ⊔ {d2 }. Then H is as in Figure 14c. Since δw1 6= δw2 , xw2 does not have weight d2 . Then there is only one edge in H with weight d2 . By Observation H3, there is exactly one vertex in V2 of degree d2 . If all the vertices in V2 have degree d1 or d2 , G is therefore reconstructible by Lemma 1.16, page 26. Therefore we can assume that V2 contains a vertex of degree d3 with d3 6= d1 and d3 6= d2 . By Observation H1, one of the edges in H has weight d3 . Thus xw2 has weight d3 , and H is as in Figure 14d. H contains only one edge with weight d2 and only one edge with weight d3 . Thus, by Observation H3, V2 contains only one vertex of degree d2 and only one vertex of degree d3 . Let u be the vertex in V2 of degree d2 . By Observation H4, v1 , v2 and w2 have the same number of neighbours of degree d2 as x has. Since there is only one vertex in V2 of degree d2 , it follows that u is a neighbour of v1 , v2 , x and w2 . We also ULAM’S RECONSTRUCTION PROBLEM FOR GRAPHS 37 know that u is not a neighbour of w1 , so d2 = deg(u) = 4. A similar argument holds for d3 , so we can conclude that d3 = 4. But then d2 = d3 , which is a contradiction. v1 v2 w1 w2 v1 d1 w1 d1 v2 d2 d2 w2 d2 x a d1 x b Figure 15 Case 2: The ordered degree distribution of V1 is (1, 2, 2) and deg(x) < deg(wi ) < deg(vi ). Then H is a subgraph of the graph in Figure 15a. Since δv1 = δv2 , wee see that η(v1 w1 ) = η(v2 w1 ) and η(v2 w1 ) = η(v2 w2 ). Since δw1 6= δw2 , we must have η(w1 x) 6= η(w2 x). Suppose that H has as many edges as possible. We know that every edge in H has some weight, and that there are at least two different weights. Then the only way to distribute weights to the edges in H, that complies with Observation H5, and satisfies that η(w1 x) 6= η(w2 x), is to do it as in Figure 15b. If H is not as Figure 15b, there are some irregularities which we can exploit when reconstructing G. We will therefore split this case into two subcases. First we will assume that H is as in Figure 15b, and then we will assume that it is not. Subcase 2.1: H is the graph in Figure 15b. We see that the vertices in V2 only have two different degrees, d1 and d2 . By Lemma 1.12VI, we can assume that d1 = d2 ± 1. However we see that H is symmetric with respect to d1 and d2 , so we can assume without loss of generality that d1 < d2 , so that d1 + 1 = d2 . If V2 contains a vertex of degree five, G is reconstructible by Lemma 1.12I, so we assume that d2 < 5. Then we have three possibilities: (d1 , d2 ) can equal (1, 2), (2, 3) or (3, 4). Subcase 2.1.1: d1 = 1 and d2 = 2. By Observation H1, a vertex in V2 of degree one is a neighbour of the upper endpoint of an edge in H with weight one. Thus any vertex of degree one is a neighbour of either v1 , v2 or w2 , while w1 and x do not have any neighbours of degree one. Then 1 6∈ δw1 and 1 6∈ δx , and we see that v1 , v2 and w2 have exactly one pendant neighbour each. v1 1 w1 1 2 2 v2 2 w2 1 x Figure 16. Subcase 2.1.1 38 TARAL GULDAHL SEIERSTAD Now consider the card Gw2 . To reconstruct G from Gw2 we must determine which of the vertices in Gw2 are neighbours of w2 . w2 has a neighbour of degree one, and this vertex is seen in Gw2 as an isolated vertex, so it can clearly be identified. The neighbours of w2 of degree two, however, are seen in Gw2 as pendant vertices, so we have to distinguish them from the pendant vertices in Gw2 which are not neighbours of w2 . There are two such pendant vertices in Gw2 : they are neighbours of v1 and v2 respectively. Clearly the vertices in V1 have the same degree in Gw2 as they have in G. Hence v1 and v2 are the only vertices in V1 in Gw2 with degree d+2. We can therefore determine which vertices in Gw2 are v1 and v2 , though we are not necessarily able to tell them apart from each other. Each of them has a pendant neighbour in G, and since two pendant neighbours are indistinguishable if they have the same neighbour, we can choose one pendant neighbour for each of the vertices in V1 of degree d + 2. Then all other pendant neighbours in V2 in Gw2 are neighbours of w2 . Hence we can reconstruct G. Subcase 2.1.2: d1 = 2 and d2 = 3. v1 2 w1 2 3 3 v2 3 w2 2 x Figure 17. Subcase 2.1.2 Suppose that x has a neighbours of degree three. Then w2 also has a neighbours of degree three, and v1 , v2 and w1 have a + 1 neighbours of degree three each. From Observation H1 and the graph H we see that a vertex of degree three cannot be a neighbour of both x and w2 . Thus there are 2a distinct vertices of degree three in N (x) ∪ N (w2 ). Each of these vertices has two neighbours in the set {v1 , v2 , w1 }. v1 , v2 and w1 together have 3(a + 1) incident edges which are also incident to vertices in V2 of degree three. Consequently 2a ≤ 23 (a + 1) which implies that a ≤ 3. The number of edges in V2 which are incident to vertices in V2 of degree three is 3(a + 1) + 2a = 5a + 3. Since this number clearly must be divisible by three, we get 3|a. Therefore a = 0 or a = 3. If a = 0, there is only one vertex in V2 of degree three, ev1 v2 w1 , so G is reconstructible by Lemma 1.16. Therefore we assume that a = 3. Let u be a vertex in V2 of degree three. By Observation H1, there is an edge in H with weight three such that u is a neighbour of the upper endpoint of the edge and not a neighbour of the lower endpoint. Suppose u is a neighbour of w2 . Then the only edge that can satisfy the requirements in Observation H1 is the edge w1 x. Hence every neighbour of w2 of degree three is a neighbour of w1 and not a neighbour of x. ULAM’S RECONSTRUCTION PROBLEM FOR GRAPHS 39 Since u has three neighbours, u must also have a neighbour in {v1 , v2 }. We can assume that u = ev1 w1 w2 . Then in Gu v1 is the only vertex of degree deg(v1 ) − 1, so v1 can be identified. There are three vertices of degree deg(x). They are x, w1 and w2 . Since δw2 6= δx ⊔ {3}, w2 is also identified. So the problem is to distinguish x from w1 . But we know that x and w2 have no neighbours in common of degree three; if they had, G would be reconstructible by Observation H1. But w1 and w2 have three neighbours in common of degree three. u is one of them, so in the card Gu , two of those neighbours are visible. Hence we can distinguish w1 from x. Then all the neighbours of u have been identified and G can be reconstructed. Subcase 2.1.3: d1 = 3 and d2 = 4. Let u be a vertex in V2 of degree four. Then u is a neighbour of all but one of the vertices in V1 . By Observation H1, the vertex of which u is not a neighbour is the lower endpoint of an edge in H with weight four. Thus u is either not a neighbour of x or not a neighbour of w2 . It follows that v1 , v2 and w1 are neighbours of all the vertices in V2 of degree four, and that each of them has one neighbour more of degree four than x and w2 have. We infer that there are exactly two vertices in V2 of degree four: ev1 v2 w1 w2 and ev1 v2 w1 x . v1 3 w1 3 4 4 v2 4 w2 3 x Figure 18. Subcase 2.1.3 Again we consider the card Gw2 . Let V2′ be the colour class in Gw2 which corresponds to V2 . To reconstruct G we must determine which vertices in V2′ are neighbours of w2 . The neighbours of w2 of degree three are seen in Gw2 as vertices of degree two, so they can be identified. w2 has one neighbour of degree four, and it is seen in Gw2 as a vertex of degree three, so we need to distinguish it from the vertices in Gw2 which also have degree three in G. The neighbour of w2 of degree four is ev1 v2 w1 w2 in G, so in Gw2 it is ev1 v2 w1 . The vertices in V1 have the same degree in Gw2 as they have in G, so in both cases it is a neighbour of all the vertices in V1 , except the one with degree d. Hence in Gw2 we can take any vertex of degree in V2 which is not a neighbour of the vertex of degree d to be the neighbour of w2 . Then we are finished. Subcase 2.2: H is not as the graph in Figure 15b. Then the only thing we know is that H is a subgraph of the graph in Figure 15a. Clearly x has at least one neighbour, so we assume that x has a neighbour u of degree d1 . By Observation H1 there is an edge e in H, such that u is a neighbour of the upper endpoint in e and not a neighbour of the lower point in e. Since u is a neighbour of x, x cannot be the lower endpoint of e. Therefore e 40 TARAL GULDAHL SEIERSTAD has to be vi wj for some i and j. We assume without loss of generality that e = v1 w1 . Thus u is a neighbour of v1 and not of w1 , and the weight of v1 w1 is d1 . Since δv1 = δv2 , the edge v2 w1 also has weight d1 . Then H is as the graph in Figure 19a. We will now consider two cases: Either all of the neighbours of x have degree d1 , or else x also has a neighbour of degree d2 with d2 6= d1 . Subcase 2.2.1: x has a neighbour of degree d2 with d2 6= d1 . By the same reasoning as for d1 , there is an edge vi wj with weight d2 . Since v1 w1 and v2 w1 have weight d1 , the only possibility is that v1 w2 and v2 w2 have weight d2 . Then we are in Figure 19b. As we have noted, H is not necessarily isomorphic to Figure 19b; it might merely be a subgraph of it, but it definitely contains the edges that we have assigned a weight in Figure 19b. In fact, if H contains both the edge w1 x and the edge w2 x, then in order to satisfy Observation H5, H has to be as in the Figure 15b. But we proved in subcase 2.1, that G is reconstructible in this case. Therefore we can assume that H contains at most one of the edges w1 x and w2 x. v1 d1 w1 d1 v2 w2 v1 d1 w1 d1 v2 d2 d2 w2 d1 v2 d2 d2 w2 x x a v1 d1 w1 b v1 d1 w1 d1 v2 d2 d2 w2 v2 d1 d w2 d2 x x x c v1 d1 w1 e Figure 19 Subcase 2.2.1.1: x has no neighbours in H; that is H contains neither w1 x nor w2 x. Thus H is as in Figure 19c. Then w1 is the lower endpoint of all the edges in H with weight d1 , and w2 is the lower endpoint of all the edges in H with weight d2 . By Observation H2, none of the vertices in V2 of degree d1 can be neighbours of w1 , and none of the vertices in V2 of degree d2 can be neighbours of w2 . But since δv1 = δw1 ⊔ {d1 } and δv1 = δw2 ⊔ {d2 }, we get δw1 ⊔ {d1 } = δw2 ⊔ {d2 }. Since d1 6∈ δw1 , δw2 contains only one element equal to d1 , and similarly δw1 contains only one element equal to d2 . It follows that δw1 = {d2 } and δw2 = {d1 }, so that deg(w1 ) = deg(w2 ) = 1. But since deg(x) < deg(wi ), we must have deg(x) = 0, which is impossible since G is a connected graph. Subcase 2.2.1.2: Exactly one of the edges w1 x and w2 x is in H. Because of the symmetry, we can assume that w1 x is the one that exists. Then H is as the graph in Figure 19d, and δw1 = δx ⊔ {d} for some d. Since d1 , d2 ∈ δx by the assumption of subcase 2.2.1, we also have d1 , d2 ∈ δw1 . Hence w1 has a neighbour u of degree d1 . By Observation H1, there is an edge in H with weight d1 , such that u is not a neighbour of the lower endpoint. By considering Figure 19d, we see that the only possibility is that δw1 = δx ⊔ {d1 } so that d = d1 . Consequently every edge in H has weight d1 or d2 , so there are only two different ULAM’S RECONSTRUCTION PROBLEM FOR GRAPHS 41 degrees in V2 . We also see that w2 is the lower endpoint of both the edges with weight d2 . Thus, by Observation H2, w2 does not have any neighbours of degree d2 , and, by using Observation H4, we see that all the other vertices have exactly one neighbour of degree d2 each. Thus there are exactly four edges in G which are incident to vertices in V2 of degree d2 . Then, since there are a2 vertices of degree d2 in V2 , we get a2 d2 = 4. If d2 = 1, then x has a pendant neighbour. But as we see in Figure 19d, x is not the upper endpoint of an edge with weight d2 , so then G is reconstructible. Therefore we can assume that d2 > 1. Suppose a2 = 1. Then the degree distribution of V2 is {a1 , 1} where a1 is the number of vertices in V2 of degree d1 . Then G is reconstructible by Lemma 1.16. Hence we can assume that a2 > 1 and d2 > 1. Since a2 d2 = 4, we get a2 = d2 = 2. Since we can assume that d1 and d2 differ with exactly one, d1 = 1 or d1 = 3. But if d1 = 1, it means that x has a pendant neighbour, and as above that implies that G is reconstructible, because x is not the upper endpoint of an edge in H with weight d1 . Hence we can assume that d1 = 3. By Observation H1, every vertex in V2 of degree d2 = 2 is a neighbour of the upper endpoint of one of the two edges with weight d2 . Therefore every vertex of degree two in V2 has one neighbour in {v1 , v2 } and one neighbour in {w1 , x}. We can assume, without loss of generality, that the two vertices are ev1 w1 and ev2 x . Consider the card Gev1 w1 . For simplicity, let u = ev1 w1 . Then we would like to determine which of the vertices in Gu are neighbours of u; that is we would like to find v1 and w1 in the card Gu . w1 has the same degree as x in Gu , but since δw1 6= δx ⊔ {2}, they do not have the same neighbour degree sequence. We can therefore determine which of the two is x. Hence the difficulty is to find v1 . In Gu , v1 has the same degree as w2 , and since δv1 = δw2 ⊔ {2}, they also have the same neighbour degree sequence. Since all the cards in DG are orientable, then according to Lemma 1.17, we can determine the neighbour degree sequence of the neighbours of the missing vertex for every card. Since w2 and x have unique neighbour degree sequences in V1 , we can then determine the number of vertices in V2 which are neighbours of both x and w2 . As we just saw, we can also find the vertex x in Gu . Therefore, if v1 does not have the same number of neighbours in common with x as w2 has, we can determine which of the vertices is w2 , and thereby reconstruct G. Therefore we assume that (1.8) |N (v1 ) ∩ N (x)| = |N (w2 ) ∩ N (x)|. Since v1 w1 is an edge in H with weight d1 with v1 as its upper endpoint, v1 has one more neighbour of degree d1 than w1 has. Therefore v1 has a neighbour of degree d1 which is not a neighbour of w1 . Let u be a vertex such that u ∈ N (v1 ) \ N (w1 ) and deg(u) = d1 = 3. Now consider the card Gu . To reconstruct G from Gu we need to determine which vertices 42 TARAL GULDAHL SEIERSTAD in Gu are neighbours of u. If u is a neighbour of x, then x is the only vertex in V1 with degree deg(x) − 1, so x can be found. If u is a neighbour of w2 , then w2 is the only vertex in V1 in Gu with degree deg(w2 ) − 1 and neighbour degree sequence δw \ {d1 }, so w2 can also be identified. Hence if there are any problems with finding the neighbours of u in Gu , then it must be to distinguish v1 or v2 from w1 . But we know that V2 contains a vertex of degree two which is a neighbour of v2 and x, while w1 does not have any neighbours in common with x. Hence we can distinguish v2 from w1 in Gu , even if v2 is a neighbour of u. The only thing left is to distinguish v1 from w1 . If v1 has a neighbour in common with x in Gu , then v1 can also be distinguished from w1 by the same reasoning as for v2 . So in that case, no matter what the neighbours of u are, they can be found in the card Gu , and so G is reconstructible. Therefore we assume that v1 has no neighbour in common with x, except possibly u. Hence |N (v1 ) ∩ N (x)| ≤ 1. But by (1.8), we also have |N (w2 ) ∩ N (x)| ≤ 1. Now we know that w1 has no neighbours in common with x, and v1 and w2 each have at most one neighbour in common with x. Every neighbour of x with degree three is a neighbour of either v1 , w1 or w2 . Consequently x has no more than two neighbours of degree three. Suppose x has a neighbours of degree three. Then w1 has a + 1 neighbours of degree three, while v1 , v2 and w2 have a + 2 neighbours of degree three each. Then the number of edges in G which are neighbours of some vertex in V2 of degree three is a + (a + 1) + 3(a + 2) = 5a + 7 ≤ 17. There are a1 vertices in V2 of degree three, so 3a1 ≤ 17, and so a1 ≤ 5. Since we already know that there are two vertices of degree d2 , we have |V2 | = a1 + a2 ≤ 5 + 2 = 7, so ν(G) = |V1 | + |V2 | ≤ 5 + 7 = 12. Then G is reconstructible by Theorem 1.5. Subcase 2.2.2: All the neighbours of x have degree d1 . We are now back at Figure 19a. We note that if the edges v1 w2 and v2 w2 have weight d1 , then δw1 = δw2 , contrary to our assumption. We have two cases: Either d1 ∈ δw1 or d1 6∈ δw1 . Subcase 2.2.2.1: w1 has a neighbour u of degree d1 . By Observation H1 there is an edge in H with weight d1 such that u is not a neighbour of the lower endpoint of that edge. Since u is a neighbour of w1 , there must be an edge in H other than v1 w1 and v2 w1 with weight d1 . There are only two possibilities: w1 x has weight d1 or w2 x has weight d1 . As we mentioned, v2 w1 and v2 w2 cannot have weight d1 , since δw1 6= δw2 . Subcase 2.2.2.1.1: w1 x has weight d1 . Then δw1 = δx ⊔ {d1 } and since all the neighbours of x have degree d1 , all the neighbours of w1 also have degree d1 , and so do all the neighbours of v1 and v2 . Since we can assume that there is a vertex in V2 of degree different from d1 , this vertex has to be a neighbour of w2 . So d2 ∈ δw2 . Since no other vertices in V1 have neighbours of degree d2 , d2 = 1. Then δw2 = δx ⊔ {1}, so w2 has only one neighbour of degree d2 . Then there is only one vertex in V2 of degree d2 , so that the degree distribution of V1 is {a1 , 1}. Then G is reconstructible by Lemma 1.16. ULAM’S RECONSTRUCTION PROBLEM FOR GRAPHS 43 Subcase 2.2.2.1.2: w2 x has weight d1 . Since not all vertices in V2 have degree d1 , there is some vertex in V2 of degree d2 with d2 6= d1 , and so there is an edge in H with weight d2 . Thus either η(v1 w2 ) = η(v2 w2 ) = d2 or else η(w1 x) = d2 ; however, the first equation implies the other and vice versa. That is, if η(v1 w2 ) = η(v2 w2 ) = d2 , then δw1 = δv1 \{d1 } = δw2 ⊔ {d2 } \ {d1 } = δx ⊔ {d2 }, so η(w1 x) = d2 . If we assume that η(w1 x) = d2 , it implies in a similar way that η(v1 w2 ) = η(v2 w2 ) = d2 . Then H is as in Figure 15b, which is contrary to our assumption in subcase 2.2. Subcase 2.2.2.2: w1 does not have any neighbours of degree d1 . The assumption in subcase 2.2.2 is that all the neighbours of x have degree d1 . Hence there can clearly be no edge joining w1 and x, since such an edge would mean that δw1 = δx ⊔ {d} for some d. We know that H is a subgraph of Figure 19a, but H is not necessarily connected. We will consider two cases: either w1 and x are in the same component in H, or they are not. Subcase 2.2.2.2.1: Suppose that w1 and x are in the same component in H. This implies that H contains the edges w2 x and either v1 w2 or v2 w2 . Since δv1 = δv2 , H contains v1 w2 if and only if H contains v2 w2 . Suppose that v1 w2 and v2 w2 have weight d2 , and that w2 x has weight d3 . This time we make no assumptions as to whether d2 and d3 are different from each other and from d1 . In this case we get δv1 = δw1 ⊔ {d1 } and δv1 = δw2 ⊔ {d2 } = δx ⊔ {d2 , d3 }, so δw1 = δx ⊔ {d2 , d3 } \ {d1 }. Thus if x has more than one neighbour of degree d1 , then w1 has a neighbour of degree d1 , which contradicts the assumption stated in subcase 2.2.2.2. Hence we can assume that x has only one neighbour of degree d1 . By the assumption for subcase 2.2.2, all the neighbours of x have degree d1 ; hence x has only one neighbour, so deg(x) = 1. Since there is an edge between w2 and x in H, deg(w2 ) = deg(x) + 1, and since there is are edges between the vi ’s and the wi ’s, deg(vi ) = deg(wi ) + 1. By counting the degrees of the vertices in V1 , we see that there are eleven edges in G. Then G is reconstructible by Theorem 1.5. Subcase 2.2.2.2.2: w1 and x are not in the same component in H. The information we already have from earlier assumptions, is that all the neighbours of x have degree d1 and that w1 does not have any neighbours of degree d1 . Furthermore we know that H is a subgraph of the graph in Figure 19a, but so that H does not include the edge w1 x. Since not all the vertices in V2 have degree d1 , there is some edge in V2 of degree d2 . Thus either v1 w2 and v2 w2 have weight d2 , or else w2 x has weight d2 . Subcase 2.2.2.2.2.1: v1 w2 and v2 w2 have weight d2 . Since w1 and x by the assumption of subcase 2.2.2.2.2 do not belong to the same component, H contains neither w1 x nor w2 x. Thus H is as in Figure 19c. w1 is the lower endpoint of both edges in H with weight d1 , so by Observation H2, w1 has no neighbours of degree d1 . Similarly w2 has no neighbours of degree d2 . But from the graph H, we see that δw1 = δv1 \ {d1 } = δw2 ⊔ {d2 } \ {d1 }. Since d1 6∈ δw1 and d2 6∈ δw2 , w1 has only one neighbour, which has degree d2 , and w2 has 44 TARAL GULDAHL SEIERSTAD only one neighbour, which has degree d1 . But since deg(x) < deg(wi ) by assumption, and deg(wi ) = 1, x is an isolated vertex. This is impossible, since G is connected. Subcase 2.2.2.2.2.2: w2 x has weight d2 . Since w1 and x do not belong to the same component in H, H does not contain the edges v1 w2 and v2 w2 . Then H is as in Figure 19e. We see that H contains only one edge with weight d2 , so by Observation H3, V2 contains only one vertex of degree d2 . w1 is the lower endpoint of both edges with weight d1 , so w1 does not have any neighbours of degree d1 . Since δvi = δw1 ⊔ {d1 }, v1 and v2 have one neighbour each of degree d1 . We also know that any vertex of degree d1 in V2 is a neighbour of either v1 or v2 . Then we see that there are at most two vertices in V2 of degree d1 . Consequently |V2 | = a1 + a2 ≤ 3, so ν(G) ≤ 8, and G is reconstructible by Theorem 1.5. Case 3: The degree distribution of V1 is still (1, 2, 2), but now deg(x) < deg(vi ) < deg(wi ). Thus the two vertices in V1 of greatest degree do not have the same neighbour degree sequences. There are two canonical forms that H can assume in this case, which can be seen in the Figures 20b and 20c. We will first prove that G is reconstructible if H is one of these two graphs, and then we will prove that G is reconstructible in all other cases. w1 w2 v1 v2 x w1 d w2 1 d 2 d d1 2 v1 v2 d3 a d3 x b w1 d w2 1 d 2 d d1 2 v1 v2 d1 d1 x c Figure 20 Subcase 3.1: H is as the graph in Figure 20b. Recall that there are ai vertices in V2 of degree di for 1 ≤ i ≤ 3. Then it is easy to see that there are ai di edges in G that are incident to some vertex in V2 of degree di . It follows from Observation H2 that w1 is a neighbour of all the vertices in V2 of degree d1 . Hence w1 has a1 neighbours of degree d1 , and we see from Observation H4 that all the other vertices in V1 have a1 − 1 neighbours of degree d1 . Every edge in G is a neighbour of exactly one vertex in V1 , so the number of edges incident to some vertex in V2 of degree d1 equals a1 + 4(a1 − 1). Hence a1 d1 = a1 + 4(a1 − 1) = 5a1 − 4. Then (5 − d1 )a1 = 4. Then we must have a1 ≤ 4. Because Figure 20b is symmetric with respect to d1 and d2 , we can show with an identical argument that a2 ≤ 4. Since x is the lower endpoint of both the edges of d3 , we see from Observation H2 that x does not have any neighbours of degree d3 . Since δvi = δx ⊔ {d3 } for i = 1, 2, both v1 ULAM’S RECONSTRUCTION PROBLEM FOR GRAPHS 45 and v2 have at most one neighbour of degree d3 . By Observation H1, every vertex in V2 of degree d3 is a neighbour of either v1 or v2 , so there are at most two vertices in V2 of degree d3 . Thus a3 ≤ 2. But since all the edges in H have weight d1 , d2 or d3 , all the vertices in V2 have degree d1 , d2 or d3 , so |V2 | = a1 + a2 + a3 ≤ 4 + 4 + 2 = 10. Then ν(G) = |V1 | + |V2 | ≤ 5 + 10 = 15, so G is reconstructible by Theorem 1.5. Subcase 3.2: H is as the graph in Figure 20c. By Observation H2, w2 is a neighbour of all the vertices in V2 of degree d2 . Hence w2 has a2 neighbours of degree d2 . We see from H and Observation H4 that all the other vertices in V1 have a2 − 1 neighbours of degree d2 . Thus a2 d2 = a2 + 4(a2 − 1) = 5a2 − 4, and so (1.9) (5 − d2 )a2 = 4. Thus a2 |4. If a2 = 1, then the degree distribution of V2 is (a1 , 1), so G is reconstructible by Lemma 1.16. Therefore we assume that a2 > 1. Since a2 |4, a2 = 2 or a2 = 4. Then 5 − d2 = 2 or 5 − d2 = 1, so d2 = 3 or d2 = 4. Since w2 is a neighbour of all the vertices in V2 of degree d2 , then unless d1 = d2 − 1, w2 satisfies the conditions for v in Lemma 1.13, so that G is reconstructible. Hence we assume that d1 = d2 − 1. Subcase 3.2.1: d2 = 4 and d1 = 3. By (1.9), a2 = 4. w2 is the upper endpoint of both the edges with weight d2 , so w2 is a neighbour of all the vertices in V2 of degree four. Then all the other vertices in V1 have three neighbours of degree four, so we see that the four vertices in V2 of degree four must be ew1 w2 v1 v2 , ew1 w2 v1 x , ew1 w2 v2 x and ew2 v1 v2 x . But according to H every vertex of degree d2 is either not a neighbour of v1 or not a neighbour of v2 . The vertex ew1 w2 v1 v2 does not satisfy that requirement, so G is reconstructible. Subcase 3.2.2: d2 = 3 and d1 = 2. By (1.9), a2 = 2. Thus w2 has two neighbours of degree three, while the other vertices have one neighbour of degree three each. By considering H, we see that because of Observation H1, every vertex in V2 of degree d2 is either not a neighbour of v1 or not a neighbour of v2 . Thus each of the two vertices in V2 of degree d2 is a neighbour of exactly one vertex in {v1 , v2 }. Consider the card Gw1 . To reconstruct G we must determine the neighbours of w1 in Gw1 . The neighbours of w1 of degree two are pendant vertices in Gw1 , so they are easily found. The problem is to determine the one neighbour of w1 of degree three, which has degree two in Gw1 . The vertices in V1 have the same degree in Gw1 as in G, so we can find the vertex w2 in Gw1 , since it is the only vertex in V1 in Gw1 with degree deg(w1 ). We know that this vertex should have two neighbours of degree three, but in Gw1 it has only one such neighbour. There is exactly one vertex in V1 in Gw1 which does not have a neighbour of degree three. It is either v1 or v2 . We assume without loss of generality that it is v1 . We know that the vertex of degree three which is missing in Gw1 is a neighbour of w1 , w2 and v1 . But then we can just take any vertex of degree two in Gw1 which is a 46 TARAL GULDAHL SEIERSTAD neighbour of w2 and v1 , (v1 being the vertex in V1 without neighbours of degree three in Gw1 ,) and say that this vertex is the neighbour of w1 . Then all the neighbours of w1 are determined, so we reconstruct G by adding a vertex in Gw1 and attaching it to the vertices in V2 which we have determined are neighbours of w1 . Subcase 3.3: H is not as the graphs in Figure 20b and 20c. Then we only know that H is a subgraph of the graph in Figure 20a. Clearly x has at least one neighbour, so we assume that x has a neighbour u of degree d1 . By Observation H1, there should be an edge in H with weight d1 , such that u is not a neighbour of the lower endpoint of that edge. Since u is a neighbour of x, the edge must be wi vj for some i and j. We assume without loss of generality that the edge is w1 v1 . Thus δw1 = δv1 ⊔ {d1 }, and since δv1 = δv2 , w1 v2 also has weight d1 . Then H looks like the graph in Figure 21a. We can assume that V2 also contains a vertex of degree d2 with d2 6= d1 . Then H contains an edge with weight d2 . Since δv1 = δv2 , we only have two possibilities: w2 v1 and w2 v2 have weight d2 or v1 x and v2 x have weight d2 . w1 d 1 d1 v1 w2 v2 x a w1 d 1 d1 v1 d2 w2 v2 d2 x b w1 d 1 d1 v1 d2 w2 v2 w1 d w2 1 d 2 d d1 2 v1 v2 d2 x c w1 d w2 1 d 2 d d1 2 v1 v2 x x d e Figure 21 Subcase 3.3.1: v1 x and v2 x have weight d2 , and H looks like the graph in Figure 21b. Suppose w2 v1 and w2 v2 have weight d. If d = d1 , then δw1 = δw2 , which is against our assumption. If d = d2 , then H is isomorphic to the graph in Figure 20c, so G is reconstructible, as proved in subcase 3.2. If d = d3 with d3 6= d1 and d3 6= d2 , then G is isomorphic to the graph in Figure 20b, so G is reconstructible as in subcase 3.1. Hence we can assume that the edges w2 v1 and w2 v2 do not have a weight at all, which means they are non-existent. Then H is as in Figure 21c. By Observation H2, x does not have any neighbours of degree d2 , since it is the lower endpoint of both the edges with weight d2 . Since η(v1 x) = η(v2 x) = d2 , then δv1 = δv2 = δx ⊔ {d2 }. Thus v1 and v2 have exactly one neighbour of degree d2 . Since every vertex of degree d2 , by Observation H1, is a neighbour of either v1 or v2 , V2 contains at most two vertices of degree d2 . Thus a2 ≤ 2. Again by Observation H1, w1 is a neighbour of all vertices in V2 of degree d1 , since w1 is the upper endpoint of both edges in H with weight d1 . Thus w1 has a1 neighbours of degree d1 . Also by Observation H1, no vertex in V2 of degree d1 is a neighbour of both v1 and v2 . Since δv1 = δv2 and δw1 = δv1 ⊔ {d1 }, v1 and v2 have a1 − 1 neighbours of degree d1 each. It follows that v1 and v2 together have ULAM’S RECONSTRUCTION PROBLEM FOR GRAPHS 47 2(a1 − 1) distinct neighbours of degree d1 . Since there are a1 vertices in V2 of degree d1 , we get 2(a1 − 1) ≤ a1 , so a1 ≤ 2. But then |V2 | = a1 + a2 ≤ 2 + 2 = 4, so ν(G) ≤ 9 and G is reconstructible by Theorem 1.5. Subcase 3.3.2: w2 v1 and w2 v2 have weight d2 , and H looks like the graph in Figure 21d. Suppose v1 x and v2 x have weight d. If d = d1 or d = d2 , then H is isomorphic to the graph in Figure 20c, so G is reconstructible by subcase 3.2. If d = d3 with d3 6= d1 and d3 6= d2 , then H is isomorphic to the graph in Figure 20b, so G is reconstructible by subcase 3.1. Therefore we can assume that the edges v1 x and v2 x do not exist. Then H is as in Figure 21e. By Observation H2, v1 does not have any neighbours of degree d1 , and v2 does not have any neighbours of degree d2 . Since δv1 = δv2 , v1 does not have any neighbours of degree d1 or d2 , and neither does v2 . But since every edges in H has weight d1 or d2 , every vertex in V2 has degree d1 or d2 . But then v1 and v2 cannot have any neighbours, so they are isolated vertices, which is impossible, seeing that G is connected. Hence G is reconstructible. This concludes the proof of the following result: Theorem 1.21. B5,n is reconstructible. Figure 22. A reconstructible graph 1.3. Reconstructing B3,n and B4,n . [Lol83] showed that B3,n and B4,n are reconstructible. When he wrote his proof it was known that all graphs up to ten vertices are reconstructible. Since [McK97] has improved this bound, we can ignore many cases Loland had to handle, and together with the tools we have developed in this chapter we can make a considerably shorter and easier proof. Theorem 1.22. B3,n is reconstructible. Proof. Let G ∈ B3,n . All cycles in G go through at least two vertices in each colour class. If there is a vertex v in V1 which is contained in all cycles in G, then Gv is a forest and G is reconstructible by Theorem 0.5V. Therefore we assume that no vertex in V1 is contained in all cycles. Hence all vertices in V1 are contained in at least one cycle. It follows that for every v ∈ V2 , Gv is connected and since n ≫ 3, it is also orientable. Let v ∈ V1 . If Gv is connected, Gv is orientable, so assume that Gv is disconnected. Since all cards in D(V2 ) are connected, Gv is semiorientable. Since there is a cycle in G, 48 TARAL GULDAHL SEIERSTAD which v is not a part of, the two other vertices in V1 have to be in the same component in Gv . Then this component contains all the edges in Gv , so Gv contains only one component which is not an isolated vertex. Since v ∈ V1 , all the isolated vertices in Gv belong to V2 , so they are orientable. Let C be the component which is not an isolated vertex. If C ∈ B2,k for k > 2, we know that the colour class of C containing k vertices belongs to V2 . If C ∈ B2,1 , C is a tree, so that Gv is a forest, and G is reconstructible by Theorem 0.5V. If C ∈ B2,2 , C has to be isomorphic to one of the graphs in Figure 5. Since both graphs are symmetric, it does not matter which colour class we assign to V2 , so we conclude that Gv is orientable for all Gv ∈ D. Then Lemma 1.12 applies, which covers all possible degree distributions of V1 . Hence G is reconstructible. Lemma 1.23. If G ∈ B4,n , then all the cards in the deck of G are orientable. Proof. First we show that all the cards in the deck of G are semiorientable. Since there are only four vertices in V1 , no vertex in V2 has degree greater than four. Suppose that none of the vertices in V1 have degree greater than four. Then there are at most sixteen edges in G, and ∆ ≤ 4, so G is reconstructible by Theorem 1.5. We therefore assume that one of the vertices in V1 has degree greater than four. But then the maximal degree of V1 differs from the maximal degree of V2 , so all the cards are semiorientable by Corollary 1.7. Then we show that all the cards in DG are orientable. By Theorem 1.5, we can assume that ν(G) ≥ 16, so that n ≥ 12. Let Gv be a card in DG , and suppose that Gv contains a subgraph C, which consists of one or more components, such that C ∈ B3,3 . If v ∈ V1 , then N (C ∩ V1 ) = C ∩ V2 . If v ∈ V2 , then N (C ∩ V1 ) = (C ∩ V1 ) ∪ {v}. Thus |N (C ∩ V1 )| ≤ 4. We let w be the only vertex in V1 \ C. (If v ∈ V1 , then v = w.) Then w is a neighbour of all the vertices in V2 \ N (C ∩ V1 ). Since |V2 \ N (C ∩ V1 )| ≥ n − 4 ≥ 8, there are eight vertices which are neighbours of w and not neighbours of any other vertex in V1 . Let x be one of these neighbours of w. Gx is connected and orientable, and there is clearly only one vertex in V1 in Gx with seven or more pendant neighbours. This vertex must be w, so we can reconstruct G by adding a vertex to Gx and attaching it to the vertex in V1 with many pendant neighbours. Hence if Gv contains a subgraph C ∈ B3,3 as described above, then G is reconstructible. Now we let Gv be any card in DG . All isolated vertices in Gv belong to the colour class which v does not belong to, so they are orientable. We also know that symmetric components in Gv are orientable; hence if Gv contains a component isomorphic to K1,1 or one of the graphs in Figure 5, then it is orientable. Since all connected graphs in B2,2 are isomorphic to one of the graphs in Figure 5, any component in B2,2 is orientable. Let C be a component in Gv which we have not orientated. Suppose that C is balanced, such that ULAM’S RECONSTRUCTION PROBLEM FOR GRAPHS 49 C ∈ Ba,a for some a. If a = 4, then we see that v ∈ V2 and that G = C ∪ {v}, so ν(G) = 9. In this case G is reconstructible by Theorem 1.5. If a = 3, then C is reconstructible, as proved in the previous paragraph. If a ≤ 2, then C is symmetric, as explained, so C is orientable. Therefore we assume that C is unbalanced. Since we know how many vertices there are in V1 and V2 , an unbalanced component cannot be the only non-orientable component. Therefore there is another component C ′ , such that C ∪ C ′ is balanced. But since we can assume that neither C nor C ′ is isomorphic to K1,1 , we see that both C and C ′ contain a colour class with at least two vertices. It follows that C ∪ C ′ ∈ Ba,a for a ≥ 3. But if a = 3, then G is reconstructible, as proved earlier in this proof, and if a = 4, then G = C ∪C ′ ∪{v} and ν(G) ≤ 9, so G is reconstructible by Theorem 1.5. This completes the proof. Theorem 1.24. B4,n is reconstructible. Proof. Let G ∈ B4,n . By Lemma 1.23 all the cards in DG are orientable. The possible degree distributions of V1 are: {1, 1, 1, 1} {2, 1, 1} {2, 2} {3, 1} {4} X Lemma 1.12III X Lemma 1.12IV X Lemma 1.12V X Lemma 1.12II We see that the only degree distribution V1 can have without being reconstructible by Lemma 1.12 is {2, 2}. Hence we assume that this is the degree distribution of V1 . By Lemma 1.12VI, we can assume that the two degrees in V1 are consecutive integer, so let the degree set of V1 be {d, d + 1}. We let the vertices in V1 of degree d be v1 and v2 , and the vertices of degree d + 1 be w1 and w2 . This situation is similar to the one covered by Claim 1.19, page 28, except that V1 now only contains four vertices. But we see that it was not required anywhere in the proof of Claim 1.19 that |V1 | = 5. Hence Claim 1.19 applies in this case as well. Then we can assume that (i) neither v1 nor v2 has a pendant neighbour, (ii) v1 and v2 do not have a neighbour in common, and (iii) whenever there are two vertices, x and y, in V2 such that vi ∈ N (x) ∩ N (y) for some i, then N (x) 6⊆ N (y). We see that the only vertices that can possibly be neighbours of v1 without violating (i) or (ii) are ev1 w1 , ev1 w2 and ev1 w1 w2 . If one of those vertices appears twice in V2 , then it violates (iii). Therefore we can assume that v1 has no more than three neighbours, so d ≤ 3. The number of edges in G is 4d + 2, so ε(G) ≤ 14. Then G is reconstructible by Theorem 1.5. 50 TARAL GULDAHL SEIERSTAD 2. Bipartite graphs in general In the previous section we discussed the cases of Bm,n where m ≤ 5. We will now turn our attention to the entire class of bipartite graphs, B. 2.1. Bipartite complement and bicoloured graphs. A well-known theorem says that a graph is reconstructible if and only if its complement is. See for example [GH69]. It is tempting to try and find a similar result for bipartite complements. In Proposition 1.15 we did so for B5,n . In this section we will do it in the general case. A graph is bicoloured if its vertices are coloured with two colours so that no two adjacent vertices are coloured with the same colour. This makes bicoloured graphs somewhat easier to reconstruct than bipartite graphs that are not bicoloured. The difference is that for a bicoloured graph, all cards are automatically orientable. If we have been able to orientate all the cards of a bipartite graph, reconstructing the bipartite graph is just as easy or difficult as reconstructing the corresponding bicoloured graph. [Wei75] proved that several results for the reconstruction of monochromatic graphs carry over to coloured ones. For example Kelly’s lemma is true also for coloured graphs, so if F and G are two bicoloured graphs with ν(F ) < ν(G), then we can determine the number of subgraphs of G which are isomorphic to F . Note that an isomorphism between two coloured graphs requires that colour be preserved. Another theorem we will use, which was also proved by [Wei75], is that disconnected coloured graphs are reconstructible. The bipartite complement of a bipartite graph was defined in definition 1.14. For a bicoloured graph the bipartite complement is uniquely defined, even when the graph is disconnected. Theorem 2.1. Let G be a bipartite graph, so that all the cards in the deck of G are orientable, and suppose that Gb is reconstructible. Then G is reconstructible. Proof. Every bipartite graph can be made into a bicoloured graph by colouring the vertices in V1 with one colour and the vertices in V2 with another colour. We let G′ be a bicoloured version of G, coloured in this way. Since all the cards in DG are orientable, we can colour the cards accordingly, and so we find the deck DG′ . Since the bipartite complement of a bicoloured graph is uniquely defined, we can construct the deck DG′b by taking the bipartite complement of all the cards in DG′ . Suppose that Gb is connected. We find the deck DGb by removing the colours from all the cards in DG′b . By assumption we are able to reconstruct Gb . Since Gb is connected, the bipartite complement of Gb is uniquely determined, so we reconstruct G by taking the bipartite complement of Gb . Suppose that Gb is disconnected. Then it is not sufficient to reconstruct Gb , as we did in the previous case, since the bipartite complement of Gb is not uniquely defined. But ULAM’S RECONSTRUCTION PROBLEM FOR GRAPHS 51 according to [Wei75], disconnected coloured graphs are reconstructible, so we can reconstruct G′b . Since this graph is bicoloured, the bipartite complement is uniquely defined, and so we can reconstruct G by taking the bipartite complement of G′b and removing the colours. All theorems that are proved under the assumptions that G is bipartite and that all the cards in the deck of G are orientable, are valid for bicoloured graphs as well, and vice versa. 2.2. A strengthening of Hyyrö’s result. Lemma 1.12 was proved in [Hyy68]. In the proof of this result Hyyrö uses the concept of biadjacency matrices. If G ∈ B with the bipartition V1 = {v1 , . . . , vm } and V2 = {w1 , . . . , wn }, then the biadjacency matrix of G is B(G) = [bij ]m×n where bij equals the number of edges connecting vi to wj , which, in the case of simple graphs, is either 0 or 1. Removing a vertex from G, is the same as deleting a row or column from B(G). Two biadjacency matrices are considered to be in the same equivalence classes if one can be constructed from the other by permutations of the rows and columns. Then two biadjacency matrices are equivalent if and only if their corresponding graphs are isomorphic. Hyyrö assumes that the equivalence classes of all these submatrices of B(G) are known, which is only true in the case where G is bicoloured, or equivalently, when all the cards in the deck of G are orientable. However, if we abandon the strategy of using biadjacency matrices in the proof, we can strengthen Hyyrö’s result by imposing weaker requirements. Proposition 2.2. Let G ∈ Bm,n with V1 = {v1 , . . . , vm } and di = deg(vi ) for 1 ≤ i ≤ m. Assume that at least one of the following conditions is satisfied after a possible renumbering of the vi ’s. I di = n for some i. Gvi is orientable. II di = dj for all i, j with 1 ≤ i, j ≤ m. Gw is orientable for some w ∈ V2 . III di 6= dj whenever i 6= j. All the cards in the deck of G are semiorientable. IV d1 = d2 and the numbers d2 , . . . , dm are pairwise distinct. Gv1 is orientable, and all other cards semiorientable. V Whenever 1 ≤ i, j ≤ m, either di = dj or |di − dj | ≥ 2. Gw is orientable for some w ∈ V2 . Then G is reconstructible. Proof. I, II and V follow from Lemma 1.13. III All cards are semiorientable by assumption, so suppose Gv ∈ D(V1 ) and Gw ∈ D(V2 ). Then we can find the degree of v and the neighbour degree sequence of w. Since v is the only vertex in V1 of degree deg(v), v and w are adjacent if and only if deg(v) ∈ δw . 52 TARAL GULDAHL SEIERSTAD Let H be a graph such that V (H) = DG . Since we are able to determine for every pair of cards Gv and Gw whether v and w are neighbours in G, we can construct H so that to Gv and Gw are adjacent in H if and only if v and w are adjacent in G. We see that H ≃ G, and that every reconstruction of G must be isomorphic to H. Hence G is reconstructible. IV We consider the card Gv1 . If we are able to determine which of the vertices in Gv1 are neighbours of v1 , we can reconstruct G. The vertices in V1 \ {v1 }, have the same degree in Gv1 as they have in G; thus if a vertex in V2 has neighbour degree sequence δ in G, it has neighbour degree sequence δ or δ \ {d1 } in Gv1 . We let V2′ be the colour class in Gv1 which corresponds to V2 . Since all the cards are semiorientable, we can find δV1 2 , and since Gv1 is orientable, we know which vertices in Gv1 belong to V2′ , so we can also find δV1 ′ . We see that there is a bijection ϕ : δV1 2 → δV1 ′ , such 2 2 that whenever δ ∈ δV1 2 , then ϕ(δ) = δ or ϕ(δ) = δ \ {d1 }. This bijection can be constructed the following way: Let δ be a sequence in δV1 2 such that δ is the biggest sequence for which ϕ(δ) has not yet been defined. By ’biggest’ we mean that it has the maximal number of elements. If there is a sequence δ′ in δV1 ′ such that 2 δ = δ′ , and such that there is no sequence δ′′ ∈ δV1 2 , for which ϕ(δ′′ ) has been defined to be δ′ , then we let ϕ(δ) = δ′ . If no such sequence exists in δV1 ′ , then δV1 ′ contains a sequence 2 2 which equals δ \ {d1 }. Then we let ϕ(δ) = δ \ {d1 }. We can now determine which vertices in Gv1 are neighbours of v1 and which are not. For suppose aδ is the number of entries in δV1 1 such that φ(δ) 6= δ. Then v1 is a neighbour of exactly aδ of the vertices in V2′ with neighbour degree sequence δ \ {d1 }. Two vertices in V2′ have the same neighbour degree sequence if and only if they have the same neighbourhood, so two vertices with the same neighbour degree sequence are indistinguishable in Gv1 . Hence it does not matter which aδ vertices with neighbour degree sequence δ \ {d1 } we choose to be the neighbours of v1 . Thus G can be reconstructed. 2.3. Semiorientability and orientability. Semiorientating and orientating the cards in DG seem to be the natural first steps when reconstructing bipartite graphs. When we did this for B5,n , the meaning of it was obvious. In the general case, however, it is not always so clear. For example there can be two cards Gv and Gw such that Gv ≃ Gw , but so that v and w belong to different colour classes. In this case, rather than determine whether a card belongs to D(V1 ) or D(V2 ), we have to determine how many of the cards in a given isomorphism class of cards belong to D(V1 ) and how many belong to D(V2 ). Another problem that may arise is to determine what we mean by V1 and V2 . In the case of graphs in B5,n , we let V1 be the colour class with five vertices and V2 be the colour class with n vertices. However, if |V1 | = |V2 |, then we cannot define V1 and V2 in terms of number of vertices. Since the degree sequences of the two colour classes are reconstructible, ULAM’S RECONSTRUCTION PROBLEM FOR GRAPHS 53 we can use them to define V1 and V2 , provided they are not equal to each other. If the colour classes have the same degree sequences, we have to find another way to determine which colour class is V1 and which is V2 . In any case we need a more formal definition of semiorientability. Definition 2.3. Let G be a bipartite graph, such that it is possible to define V1 and V2 in terms of some reconstructible parameters. Let Gv be a card in DG and let Cv be the isomorphism class of Gv . Gv is semiorientable if, for any reconstruction H of G, |DH (V1 ) ∩ Cv | = |DG (V1 ) ∩ Cv |. The next three results are not directly connected with semiorientating or orientating cards, but they will be used several times in the proofs later in this section, which is why we state them here. Lemma 2.4. Let G be a graph, and let Gv be a card in DG such that v pendant. Then it is possible to determine how many pendant neighbours the neighbour of v has. Proof. Let ap be the number of vertices in G with p pendant neighbours. For any card Gx we can find out how many pendant neighbours x has, since it equals the number of isolated vertices in Gx . Thus the value of ap is reconstructible for every p. Let w be the neighbour of v and suppose that w has q pendant neighbours. In the card Gv all the vertices, save w, have the same number of pendant neighbours as they have in G. So if p > q or p < q − 1, there are ap vertices in Gv with p pendant neighbours, while there are aq−1 + 1 vertices with q − 1 pendant neighbours and aq − 1 vertices with q pendant neighbours. Thus the neighbour of v has q pendant neighbours if and only if there are aq − 1 vertices in Gv with q pendant neighbours, and so we can determine how many pendant neighbours the neighbour of v has. Corollary 2.5. Let G be a graph, and suppose that it contains a vertex of degree d, which is a neighbour of p pendant vertices for some p > 0. Then G is reconstructible unless G contains a vertex of degree d − i with p − i pendant neighbours whenever 1 ≤ i ≤ p. Proof. It suffices to prove that whenever G contains a vertex of degree d with p pendant neighbours and p > 0, then G contains a vertex of degree d − 1 with p − 1 pendant neighbours, unless G is reconstructible. If we are given a card Gv , then by Lemma 0.4 we can find the neighbour degree sequence of v and if v is pendant we can, by Lemma 2.4, determine how many pendant neighbours the neighbour of v has. Thus we can find a card Gv such that the neighbour of v has degree d and p pendant neighbours. Suppose that G does not contain a vertex of degree d − 1 and with p − 1 pendant neighbours. Then there is exactly one vertex in Gv with degree d − 1 and p − 1 pendant 54 TARAL GULDAHL SEIERSTAD neighbours, and this vertex is the neighbour of v. Then we reconstruct G by adding a vertex to Gv and attaching it to that vertex. Corollary 2.6. Let G be a bipartite graph with the property that a card Gx is orientable whenever x is a pendant vertex in V2 . If V1 contains a vertex of degree d with p pendant neighbours, such that p > 0, then G is reconstructible unless V1 contains a vertex of degree d − i with p − i pendant neighbours for every i with 1 ≤ i ≤ p. Proof. The proof is similar to the proof of Corollary 2.5. Connected cards are the easiest to semiorientate and orientate, since we in most cases can determine to which colour class the vertices belong by counting the vertices in the colour classes on the card. Lemma 2.7. Let G ∈ Bm,n and let Gv be a connected card in DG . Then i. if m 6= n, Gv is semiorientable. ii. if |m − n| > 1, Gv is orientable. iii. if |m − n| = 1 and v is in the colour class with fewer vertices, Gv is orientable. iv. if Gv is semiorientable and m = n, Gv is orientable. Proof. In all the cases it is sufficient to count the vertices in the colour classes of Gv . Proposition 2.8. If G ∈ Bm,n with m 6= n and m 6= n + 1, and V2 contains a vertex of degree m, then all the cards in DG are semiorientable. Proof. We let v be a vertex in V2 of degree m. First we note that since m 6= n, all connected cards are semiorientable by Lemma 2.7. Since m 6= n + 1 as well, all connected cards in D(V1 ) are orientable, by the same lemma. We have two types of cards: those for which the missing vertex has degree less than m, and those for which the missing vertex has degree exactly m. We can assume that no vertex has degree higher than m, because then the maximal degree of V1 would differ from the maximal degree of V2 , and all the cards would be semiorientable by Corollary 1.7. First we consider the cards of the first type. Let Gx be a card such that deg(x) < m and x ∈ V2 . Since v is a neighbour of all the vertices in V1 , all the neighbours of x are also neighbours of v. It follows that the vertices in N (x) are in the same component as v in Gx , so Gx is connected. Since connected cards are semiorientable, Gx is semiorientable. Thus a card Gx is semiorientable if deg(x) < m and x ∈ V2 . Since deg is a decidable function, all cards where the missing vertex has degree less than m are semiorientable. Then we consider cards of the second type. Let Gx be a card such that deg(x) = m. If Gx ∈ D(V2 ), then δx = δV0 1 . Both δV0 1 and δx can be determined, so if δx 6= δV0 1 , we know that Gx ∈ D(V1 ). ULAM’S RECONSTRUCTION PROBLEM FOR GRAPHS 55 On the other hand, suppose Gx ∈ D(V1 ), and let y ∈ N (x) with y 6= v. Then every neighbour of y, except for x, is also a neighbour of v in Gx , so if deg(y) > 1, y belongs to the same component as v in Gx . Therefore Gx contains only one non-null component, and possibly a number of isolated vertices. Since connected cards are semiorientable, Gx is semiorientable unless Gx contains an isolated vertex, which means that x has a pendant neighbour. If every card in D(V1 ) is semiorientable, then all cards are semiorientable. Therefore we can assume that there is a card Gx in D(V1 ) which is not semiorientable. Then δx = δV0 1 and x has a pendant neighbour. Thus 1 ∈ δx , so 1 ∈ δV0 1 . Hence V1 contains a pendant vertex. We observed in the beginning of this proof that connected cards in D(V1 ) are orientable. If z is a pendant vertex in V1 , then Gz is connected, and thus orientable. The neighbour of z is v, which has degree m − 1 in Gz . But V1 in Gz contains exactly m − 1 vertices, so if there is more than one vertex in V2 in Gz with degree m − 1, they all have the same neighbourhood. Then they are indistinguishable, so we can reconstruct G by attaching z to any vertex of degree m − 1 in V2 . This finishes the proof. Lemma 2.9 ([Lol83]). Let G ∈ Bm,n with m 6= n and suppose that Gv is a card with exactly two components, one of which is an isolated vertex. Unless the neighbour degree sequence of v is {1, 2, . . . , p} where p = deg(v), Gv is semiorientable. Proof. Let w be the isolated vertex in Gv , and let C be the component in Gv other than w. Then C ∈ Bm−1,n−1 . Since m 6= n, C can be orientated correctly. There are two possibilities: either v ∈ V2 and w ∈ V1 or v ∈ V1 and w ∈ V2 . The degree of a vertex in the same colour class as v does not change when v is removed. Therefore, if v ∈ V2 , the vertices in C ∩ V2 have the same degrees as the corresponding vertices in V2 . Let δC∩V2 = {d1 , . . . , dn−1 }. Then, if v ∈ V2 , (2.1) δV2 = {d1 , . . . , dn−1 , deg(v)}. If, on the other hand, v ∈ V1 , then there are p vertices in V2 which have degree one less in Gv than in G. One of them is w; the other p − 1 are in C ∩ V2 . Then we can renumber the degrees in C ∩ V2 such that (2.2) δV2 = {d1 + 1, d2 + 1, . . . , dp−1 + 1, dp , dp+1 , . . . , dn−1 , 1}, where the final entry - 1 - is the degree of w in G. Since δV2 is reconstructible we can determine whether (2.1) and (2.2) are satisfied. If v ∈ V2 , (2.1) holds; if v ∈ V1 , (2.2) holds. Thus if only one of the equations is satisfied, Gv is semiorientable, so we assume both of them hold. Thus {d1 , . . . , dn−1 , p} = {d1 + 1, . . . , dp−1 + 1, dp , . . . , dn−1 , 1}, 56 TARAL GULDAHL SEIERSTAD so (2.3) {d1 , . . . , dp−1 , p} = {d1 + 1, . . . , dp−1 + 1, 1}. We assume without loss of generality that di ≤ di+1 for 1 ≤ i ≤ p − 2. Then dp−1 + 1 is greater than any di when 1 ≤ i ≤ p − 1. Thus the only element in the set on the left hand side of (2.3) which can possibly equal dp−1 + 1 is p, so dp−1 = p − 1. In the same way we see that dp−2 + 1 = dp−1 , dp−3 + 1 = dp−2 and so on, until d1 + 1 = d2 and d1 = 1. It follows that di = i for all i with 1 ≤ i ≤ p − 1. If v ∈ V1 , the neighbourhood of v consists of precisely those vertices in V2 which have degree one less in Gv than they have in G, so then δv = {deg(w)} ⊔ {d1 + 1, . . . , dp−1 + 1}. Thus, if v ∈ V1 , δv = {1, 2, . . . , p}. Consequently, if δv 6= {1, 2, . . . , p}, v must be in V2 , so in that case Gv is semiorientable. Hence either δv = {1, 2, . . . , p}, or Gv is semiorientable. Proposition 2.10. If G ∈ Bm,n with m 6= n and m 6= n + 1, and V2 contains a vertex of degree m − 1, then all the cards in DG are semiorientable. Proof. Since m 6= n, it follows from Lemma 2.7 that all connected cards are semiorientable, and since m 6= n + 1 as well, all connected cards in D(V1 ) are orientable. If V2 contains a vertex of degree m, all the cards are semiorientable according to the previous proposition. Therefore we will assume that the maximal degree of V2 is m − 1. Another previous result, Corollary 1.7, asserts that if the maximal degree of V1 differs from the maximal degree of V2 , all the cards are semiorientable. We can therefore assume that V1 contains a vertex of degree m − 1, and no vertices with degree greater than m − 1. There are two main cases we have to consider: Case 1: V2 contains two vertices, v and w, of degree m − 1, such that N (v) 6= N (w). Case 2: Whenever v, w ∈ V2 with deg(v) = deg(w) = m − 1, then N (v) = N (w). v w v w Case 1 Case 2 Figure 23. The two cases Case 2 also includes the case where V2 only contains one vertex of degree m − 1. We let C1 and C2 be two classes of graphs, such that G ∈ C1 if G is as described under case 1, and G ∈ C2 if G is as described under case 2. All graphs we need to consider are either in C1 or C2 . First we have to prove that these classes are recognizable. That means we must show that we can determine from DG whether G ∈ C1 of G ∈ C2 . ULAM’S RECONSTRUCTION PROBLEM FOR GRAPHS 57 We see that G ∈ C2 if and only if V1 contains a vertex which does not have a neighbour of degree m − 1. Hence, if Gx is a semiorientable card, such that Gx ∈ D(V1 ) and x does not have a neighbour of degree m − 1, then we know that G ∈ C2 . By Lemma 1.6 it is possible for every card Gx to determine the distance between x and the closest vertex of degree m − 1. If G ∈ C1 , every vertex in V1 is a neighbour of a vertex of degree m − 1, so said distance is one or zero. Every vertex in V2 is a neighbour of some vertex in V1 , which means that if x ∈ V2 the distance from x to the closest vertex of degree m − 1 is not greater than two. Thus if G ∈ C1 , then every vertex has distance two or less to some vertex of degree m − 1. Now suppose that G ∈ C2 , and let z be the vertex in V1 which does not have a neighbour of degree m − 1. First suppose that z has degree m − 1 itself. Suppose that V1 contains exactly one vertex of degree m − 1. Then we see that none of the vertices of degree m − 1 have neighbours of degree m − 1. This would be impossible if G ∈ C1 , since V1 contains a vertex of degree m − 1, and all the vertices in V1 have a neighbour of degree m − 1. In this case we can therefore conclude that G ∈ C2 . Then we assume that there is more than one vertex in V1 of degree m − 1. If G ∈ C1 and there is more than one vertex in V1 of degree m − 1, then we see that every vertex of degree m − 1 has a neighbour of degree m − 1. But in our case z is a vertex of degree m − 1, without any neighbours of degree m − 1. Then we can conclude that G ∈ C2 . Hence we can assume that deg(z) < m − 1. If Gz is connected, it is semiorientable. Suppose Gz is disconnected, and let C be the component in Gz which contains the vertices of degree m − 1 in V2 . We see that C contains all the vertices in V1 , except z. Let y be a vertex that is not in C. Then y cannot have any neighbour in V1 except z. Since z does not have degree m − 1, and does not have a neighbour of degree m − 1, the distance from y to any vertex of degree m − 1 is greater than two. Hence if G ∈ C2 , then either (i) D(V1 ) contains a semiorientable card where the missing vertex does not have a neighbour of degree m − 1, or else (ii) G contains a vertex so that the distance from this vertex to the closest vertex of degree m − 1 is at least three. If G ∈ C1 , neither (i) nor (ii) is possible. Hence we can determine whether G ∈ C1 or G ∈ C2 . Now that we have proved that the two cases are recognizable, we can consider them separately. For both cases it is convenient to split the deck into two types of cards. The first type of cards are those for which the missing vertex has degree less than m − 1, and the second type are those for which the missing vertex has degree exactly m − 1. Case 1: V2 contains two vertices, v and w, with deg(v) = deg(w) = m − 1, and N (v) 6= N (w). There is a vertex in V1 which is a neighbour of v and not of w and vice versa, as in Figure 24. 58 TARAL GULDAHL SEIERSTAD First let Gx be a card of type one; that is deg(x) < m − 1. Suppose that x ∈ V2 . Then every neighbour of x is a neighbour of v or w or both. Since we can assume that |V1 | > 2, v and w have a neighbour in common. Thus all the neighbours of x are in the same component as v and w, so Gx is connected and semiorientable. So if deg(x) < m − 1 and x ∈ V2 , then Gx is semiorientable. Since deg is a decidable function, Observation 1.9 implies that Gx is semiorientable whenever deg(x) < m − 1. v V2 V1 x1 x2 x3 w x4 x5 x6 x7 Figure 24 Then suppose that Gx is a card of type two. Thus deg(x) = m − 1. Suppose x ∈ V2 , and let w be another vertex in V2 of degree m − 1. Let C be the component in Gx which contains w. Then C also contains all of w’s neighbours. As x ∈ V2 , every component in Gx contains at least one vertex from V1 . Thus there can be no more that two components in Gx . Suppose instead that x ∈ V1 and let v and w be vertices in V2 of degree m − 1 such that N (v) 6= N (w). Let C be the component in Gx which contains both v and w. Since every vertex in V1 is a neighbour of either v or w, all vertices in V1 also belong to C, except for x itself. Thus all edges in Gx belong to this component, so we see that if Gx is disconnected, all but one of the components in Gx are isolated vertices. From the previous two paragraphs we see that if Gx contains more than two components, Gx ∈ D(V1 ) and if Gx contains more than one component which is not an isolated vertex, Gx ∈ D(V2 ). So if Gx is not semiorientable, Gx contains exactly two components, one of which is an isolated vertex. This is the condition of Lemma 2.9, so δx = {1, 2, . . . , m − 1}, unless Gx is semiorientable. If all the cards in either D(V1 ) or D(V2 ) are semiorientable, then all the cards in DG are semiorientable. We can therefore assume that D(V1 ) and D(V2 ) each contain a card which is not semiorientable; thus both D(V1 ) and D(V2 ) contain a card such that the missing vertex has neighbour degree sequence {1, 2, . . . , m − 1}. Since at least one of the vertices in V2 has neighbour degree sequence {1, 2, . . . , m − 1}, we can assume that v is the vertex with such a neighbour degree sequence. Let xd , with 1 ≤ d ≤ m − 1 be the neighbour of v of degree d, and let xm be the vertex in V1 which is not a neighbour of v. An example of such a graph with m = 7 is is sketched in Figure 24. ULAM’S RECONSTRUCTION PROBLEM FOR GRAPHS 59 We have also assumed that V1 contains a vertex of degree m − 1 with neighbour degree sequence {1, 2, . . . , m − 1}. The vertex xm−1 has degree m − 1 but is a neighbour of both v and w, as seen in Figure 24, so it has two neighbours of degree m − 1. Thus the neighbour degree sequence is not {1, 2, . . . , m − 1}. Since all other neighbours of v have degree smaller than m − 1, xm is the only vertex that can satisfy the necessary conditions. So we can assume that δxm = {1, 2, . . . , m − 1}. Let yd be the neighbour of xm of degree d. Thus ym−1 = w. We let ym = v, and V2′ = {y1 , y2 , . . . , ym }. Then deg(xi ) = deg(yi ) when 1 ≤ i ≤ m, which means that there are as many edges incident to the vertices in V1 as there are edges incident to vertices in V2′ . But every edge in G is incident to some vertex in V1 , so every edge in G is also incident to some vertex in V2′ . This means that any vertex in V2 \ V2′ has degree zero. Since G is connected, G contains no isolated vertices, so V2 \ V2′ is empty. Thus V2 = V2′ and |V1 | = |V2 | = m. This case is not covered by the statement of the proposition, so it can be disregarded. We mention in passing that any graph satisfying the above conditions must be as the graph in Figure 25, and it is therefore reconstructible. v V2 V1 x1 x2 x3 y5 w x4 x5 y4 x6 y3 y2 y1 x7 Figure 25 Case 2: Whenever v and w are vertices in V2 with degree m − 1, N (v) = N (w). For the remainder of this proof v will be a vertex in V2 of degree m − 1, and z will be the vertex in V1 which is not a neighbour of v. Suppose that v has p pendant neighbours. According to Corollary 2.6, unless G is reconstructible, there is a vertex in V2 of degree m − 2 with p − 1 pendant neighbours. (We can use Corollary 2.6 in this way, since we know that all the connected cards in D(V1 ) are orientable.) Then there are at least 2p − 1 pendant vertices in V1 , and v is a neighbour of p of them. Thus there are p − 1 pendant vertices in V1 which are not neighbours of v, so p − 1 ≤ |V1 \ N (v)| = 1 and p ≤ 2. Suppose p = 2. Then there is a vertex y in V2 of degree m − 2 with a neighbour of degree one, and by Corollary 2.6 there is also a vertex in V2 of degree m − 3 without any pendant neighbours. Let u be a vertex in G of degree m − 3. An example of this type of graph is sketched in Figure 26. The pendant neighbour of y is not a neighbour of v, so it must be the vertex z. Now consider Gz . The neighbour of z in Gz is a vertex of degree m − 3. As one can see in Figure 26, N (y) = N (u). Thus y is 60 TARAL GULDAHL SEIERSTAD indistinguishable from any vertex of degree m − 3 in V2 in Gz , and so we can reconstruct G by attaching a vertex to Gz and adding it to any vertex in V2 of degree m − 3. v V2 y u V1 z Figure 26 We can therefore assume that p ≤ 1, so that v has no more than one neighbour of degree one. Let Gx be a card of type one. That is deg(x) < m − 1. As usual Gx is semiorientable if it is connected, so we assume that Gx is disconnected. Suppose x ∈ V2 and let C be the component in Gx which contains v. Clearly C also contains all of v’s neighbours, so |C ∩ V1 | = m − 1. Thus, as we see in Figure 27, Gx consists of two components, one of which is a star. It is of course possible that the star is merely an isolated vertex; this happens if deg(z) = 1. x v z Figure 27 Let Gy be any card in D(V2 ) other than Gx and Gv . If y is a neighbour of z, then z is y’s only neighbour, because else Gx would not be disconnected. In this case Gy is connected. If y is not a neighbour of z, then all the neighbours of y are also neighbours of v. So Gy is connected in this case as well. Connected cards are semiorientable, so Gy is semiorientable. Consequently Gx is the only card in D(V2 ) of type one that we have not been able to semiorientate. Suppose that deg(z) = 1; that is the star in Gx is only an isolated vertex. Then Lemma 2.9 applies and we can assume that δx = {1, 2, . . . , p} where p = deg(x). Gz is connected and is thereby semiorientable. We know that D(V1 ) contains only one card for which the missing vertex does not have a neighbour of degree m−1. Since Gz is semiorientable, we have found this card. Hence if Gx does not have a neighbour of degree m−1, we know that Gx ∈ D(V2 ). Thus assume that x does have a neighbour of degree m − 1. Since δx = {1, 2, . . . , p} for p = deg(x), it follows that deg(x) = m − 1. But then deg(x) = deg(v) = m − 1 and N (x) 6= N (v), so G ∈ C1 , contrary to our assumption. ULAM’S RECONSTRUCTION PROBLEM FOR GRAPHS 61 We can therefore assume that deg(z) > 1. If we can semiorientate all cards of type one in D(V1 ), all cards of type one can be semiorientated. So let Gy be any card in D(V1 ) which we have not been able to semiorientate, with deg(y) < m − 1. The only card in D(V2 ) which can possibly contain isolated vertices is Gv . Thus any card of type one which contains isolated vertices belongs to D(V1 ), and so it is semiorientable. The only way Gy can not be semiorientable is therefore if Gy is disconnected and does not contain any isolated vertices. That is only possible if y is a neighbour of x with y 6= z and deg(x) = 2. So we assume that deg(x) = 2, and that y is a neighbour of x with y 6= z. If Gu is any card in D(V1 ) with u 6= y, then Gu either contains isolated vertices, or else is connected. Thus there are only two cards of type one we have not been able to semiorientate: Gx and Gy . Both consist of two components such that one of them is a star. If the star in Gx has a pendant vertices, the star in Gz has a + 1 pendant vertices. By considering the only card in D(V1 ) where the missing vertex does not have a neighbour of degree m − 1, Gz , we know the size of the star, and we can determine which of the two remaining cards belongs to D(V2 ). What remains is to semiorientate the cards of type two. Suppose that there is more than one vertex in V2 of degree m − 1, and let v and w be two of them. By assumption N (v) = N (w), which implies that both Gv and Gw are connected and thus semiorientable. So in this case all the cards in D(V2 ) of type two are semiorientable, and so are all the cards in D(V1 ). So we assume that V2 only contains one vertex, v, of degree m − 1. First suppose that v does not have any neighbours of degree m − 1. Recall that z is the vertex in V1 which is not a neighbour of v. Since we know that V1 does contain a vertex of degree m − 1, it follows that deg(z) = m − 1. We now have two cards of type two. They are Gv and Gz , but we do not yet know which is which. We know the degree sequence of V1 and since δV0 1 = δv ∪ deg(z) and deg(z) = m − 1, we know the neighbour degree sequence of the vertex in V2 of degree m − 1. Hence if δz 6= δv we can determine which of the cards belongs to D(V1 ) and which belongs to D(V2 ). We therefore assume that δv = δz . Any neighbour of z which has degree greater than one has a neighbour in common with v. Thus if z does not have any neighbours of degree one, Gz is connected and semiorientable. So suppose that z does have a neighbour of degree one, so 1 ∈ δz . Since δv = δz , v also has a neighbour of degree one. We have already proved that v has no more than one neighbour of degree one. Thus v and z each have one pendant neighbour. Then Gz consists of two components where one of them is an isolated vertex. According to Lemma 2.9 we can assume that δz = δv = {1, 2, . . . , m − 1}, but this contradicts our assumption that v does not have any neighbours of degree m − 1. 62 TARAL GULDAHL SEIERSTAD Therefore we assume that v does have a neighbour of degree m − 1. If deg(z) < m − 1, Gz is of type one, and it is therefore semiorientable. If deg(z) = m − 1, z is the only vertex of degree m − 1 which does not have a neighbour of degree m − 1. Such a vertex has to be in V1 . Hence Gz is semiorientable, no matter what the degree of z is. Since Gz is semiorientable, we know the degree of the only vertex in V1 which is not a neighbour of v. Again the neighbour degree sequence of the vertex in V2 of degree m − 1 equals δV0 1 \ deg(z), and since both δV0 1 and deg(z) are known to us, we can determine the neighbour degree sequence of v. If there is any doubt about whether a card belongs to D(V1 ) or D(V2 ), the missing vertex must have the same neighbour degree sequence as v has. Since V2 only contains one vertex of degree m − 1, a vertex in V1 cannot have a neighbour degree sequence which contains m − 1 more than once. Thus if v has two or more neighbours of degree m − 1, then none of the vertices in V1 can have the same neighbour degree sequence as v, and thus all the cards are semiorientable. We can therefore assume that v has exactly one neighbour of degree m − 1. Let this neighbour be w. Then there are only two cards left in DG which are not yet semiorientated: Gv and Gw . Before we start semiorientating those cards, we will prove something else, namely that Gz is orientable. We already know that Gz is semiorientable, and that we can find the card Gz . Let C be the component in Gz which contains v. We see that all the vertices in V1 \ {z} are also in C, and it follows that all the edges in Gz are in C. Hence Gz consists of C and possibly a number of isolated vertices. All the isolated vertices in Gz belong to V2 , so C is the only component in Gz which we have not orientated. As usual, when there is only component left to orientate, it is easy to orientate it if it is unbalanced, or if the colour classes in the component do not have the same degree sequences. Therefore we 0 0 assume that C is balanced and that δC∩V = δC∩V . Then C ∈ Bm−1,m−1 . It follows that 1 2 N (v) = C ∩ V1 and N (w) = C ∩ V2 . Since the vertices in V1 have the same degree in G 0 and in Gz , we get δv = δC∩V . But the vertices in V2 do not have the same degree in Gz 1 0 as in G; at least one of the vertices in C ∩ V2 is a neighbour of z in G. Hence δw 6= δC∩V . 2 0 0 Then δv = δC∩V = δC∩V 6= δw . This contradicts the assumption that δv = δw , so we can 1 2 conclude that C is orientable, and then Gz is orientable. v z w v z Figure 28 w ULAM’S RECONSTRUCTION PROBLEM FOR GRAPHS 63 Then we go back to the cards Gv and Gw . Let C be the component in Gw that contains v. Then C also contains all the neighbours of v, except w, so |C ∩ V1 | ≥ m − 2. Then there is at most one vertex in V1 which is not in C. Every component in Gw , which is not an isolated vertex, contains at least one vertex from V1 . Hence Gw cannot contain more than two components that are not isolated vertices. Suppose that it does contain non-null components. For an example, see Figure 28. The component that contains z is clearly a star. Thus if Gw contains more than one component with edges, then it contains exactly two such components and one of them is a star. Since z and v are not in the same component in Gw , it follows that the set N (w) ∩ N (z) separates z from v. The only way this is possible is if all the vertices in N (w) ∩ N (z) have degree two, so that they are only neighbours w and z. As mentioned, we can find the card Gz , and, as we just proved, it is orientable. We also know that Gz contains exactly one component with edges, and possibly a number of isolated vertices. We can reconstruct G if we can find the neighbours of z in Gz . The isolated vertices in Gz are obviously neighbours of z. Let C be the component in Gz which contains v, w and all the edges. Gz is orientable, and we see that w is the only vertex in V1 ∩ C which has degree m − 1, so we can identify the vertex w. We know that the neighbours of z in C have degree two in G and are neighbours of w. Hence they are pendant vertices in C. Then we can reconstruct G by adding a vertex to Gz , and attaching it to the isolated vertices, and the appropriate number of pendant neighbours of w. In the final case we assume that Gw contains only one non-null component. In addition Gw contains one or more isolated vertices. Since v does not have more than one neighbour of degree one, and δv = δw , w has exactly one neighbour of degree one. Then Gw consists of two components where one is an isolated vertex. By Lemma 2.9 we can assume that δw = {1, 2, . . . , m − 1}, and it follows that δv = {1, 2, . . . , m − 1}. Since none of the vertices in G have degree greater than m − 1, z has degree between 1 and m − 1. Then δV0 1 = {1, 2, . . . , m − 1, deg(z)}, with 1 ≤ deg(z) ≤ m − 1. Now we look back to Lemma 2.2IV. We see that the degree sequence of V1 is as described in that lemma, with z taking the place of v1 . Thus if all the cards in DG are semiorientable and Gz is orientable, G is reconstructible. But the condition that all the cards are semiorientable is only used to make sure that we know the neighbour degree sequences of all the vertices in V2 . Now Gv is the only card in D(V2 ) which is not semiorientable, and since we know δv , we can find the neighbour degree sequences of all the vertices in V2 . Hence, since Gz is orientable, G is reconstructible. This completes the proof. Lemma 2.11. Let G be a bipartite graph, so that all the cards in DG are semiorientable. Let Gv be a card in DG and suppose that all cards in DG , except Gv , are orientable. Then 64 TARAL GULDAHL SEIERSTAD Gv is also orientable, provided none of the components in Gv have more than ν(G) − 3 vertices. Proof. If Gv contains any isolated vertices, they belong to the colour class that does not contain v. Since Gv is semiorientable, we know to which colour class v belongs, so all component of order one - that is isolated vertices - are orientable. Among all the components in Gv which have not been orientated, let C be one with maximal number of vertices. We can assume that C is not an isolated vertex, since isolated vertices are orientable, and since no component has more than ν(G) − 3 vertices by assumption, we get (2.4) 2 ≤ ν(C) ≤ ν(G) − 3. If C is a symmetric graph, it can be orientated either way, so we assume that it is not symmetric. Then there are two different orientations of C, O1 and O2 . Now we consider G as a bicoloured graph. Suppose for instance that the vertices in V1 are black and the vertices in V2 white. All cards except Gv can be coloured accordingly, since they are all orientable. If some of the components in Gv can be orientated, they can also be coloured in this way. In particular any component which has more vertices than C can be coloured, since C was chosen to be a non-orientated component with maximal number of vertices. C can be coloured in two ways, according to which orientation we use. Let C1 and C2 be two bicoloured graphs such that C ≃ C1 ≃ C2 when disregarding colours, and such that w ∈ C is coloured black in Ci if Oi (w) = V1 and white if Oi (w) = V2 for i ∈ {1, 2}. Let a be the number of components in Gv which are isomorphic to C. Orientating these components means determining how many of them should be coloured as C1 and how many should be coloured as C2 . Let a1 be the number of components coloured as C1 , and a2 be the same number for C2 . Clearly a1 + a2 = a. If we are able to determine a1 , we can orientate all the components in Gv that are isomorphic to C. Kelly’s lemma (Lemma 0.2) also applies for coloured graphs, as proved by [Wei75]. Thus if F and G are two coloured graphs with ν(F ) < ν(G), then X σGw (F ) σG (F ) = (2.5) , ν(G) − ν(F ) w∈V (G) where σG (F ) is the number of subgraphs of G isomorphic to F . Let F = C1 in (2.5). The value of σGw (C1 ) can be determined for any Gw as long as w 6= v, since all these cards can be bicoloured correctly. But the value of σGv (C1 ) is not known. Let the components in Gv be D1 , . . . , Dt . Then σGv (C1 ) = t X i=1 σDi (C1 ). ULAM’S RECONSTRUCTION PROBLEM FOR GRAPHS 65 If ν(Di ) > ν(C), Di can be orientated by assumption and thus also bicoloured, so σDi (C1 ) can be determined. If ν(Di ) < ν(C), then σDi (C1 ) = 0. If ν(Di ) = ν(C), then σDi (C1 ) is either zero or one. Let c1 be the number of times C1 appears in any Gw with w 6= v, plus the number of times C1 appears in any Di with ν(Di ) > ν(C). The value of c1 is known, and we get X σGw (C1 ) = a1 + c1 . w∈V (G) Thus (2.6) σG (C1 ) = a1 + c1 . ν(G) − ν(C1 ) Clearly σG (Ci ) is an integer, so (ν(G) − ν(C))|(a1 + c1 ). (2.7) a1 can be any integer between 0 and a inclusive, so there are a + 1 possible choices for a1 . If a + 1 ≤ ν(G) − ν(C), (2.8) then among any a + 1 consecutive integers, at most one is divisible by ν(G) − ν(C). Clearly (2.6) is satisfied for some choice of a1 , so if (2.8) holds, there is a unique a1 such that (2.7) is satisfied. Since there are a components in Gv isomorphic to C, we have aν(C) ≤ ν(Gv ) < ν(G). Thus (2.9) a< ν(G) . ν(C) Hence, if ν(G) + 1 ≤ ν(G) − ν(C), ν(C) (2.10) (2.8) is satisfied. To simplify the notation we let g = ν(G) and c = ν(C). (2.10) implies that g + c ≤ gc − c2 . (2.11) We have equality in (2.11) when c= g−1± p Let r1 (g) = g−1− p g−1+ p and r2 (g) = g2 − 6g + 1 . 2 g2 − 6g + 1 2 g2 − 6g + 1 . 2 66 TARAL GULDAHL SEIERSTAD Since small graphs are proved reconstructible, we can assume that g ≥ 6. Then r1 (g) and r2 (g) are both real, and (2.11) is satisfied whenever r1 (g) ≤ c ≤ r2 (g). Note that r1 (g) and r2 (g) are integers only when g = 6. r1 (g) provides a lower bound for c for when (2.11) is satisfied. We see that r1 (6) = 2, and that dr1 dg is negative when g ≥ 6. It follows that r1 (g) ≤ 2 (2.12) whenever g ≥ 6. Similarly r2 (g) provides an upper bound. We define a new function f , such that f (g) = r2 (g) − g. We have r2 (6) = 3, so f (6) = −3. We see that df dg is positive when g ≥ 6. Thus f (g) ≥ −3 when g ≥ 6. Since r2 (g) = f (g) + g, r2 (g) ≥ g − 3 (2.13) for g ≥ 6. (2.4), (2.12) and (2.13) imply that r1 (g) ≤ c ≤ r2 (g), so (2.11) holds. (2.11) implies (2.8), so by the argument above, a1 can be uniquely determined. Hence the components in Gv which are isomorphic to C can be orientated. C was chosen to be the biggest component which was not yet orientated. Now that we have managed to prove that C is orientable, we can use the same procedure to orientate the components smaller than C starting with the biggest one. Continuing in this way we see that we can orientate all the components in Gv . Hence Gv is orientable. Theorem 2.12. If G ∈ Bm,n with |n − m| > 1 and ∆2 = m, G is reconstructible. Proof. Let v be a vertex in V2 of degree m. By Proposition 2.8, page 54, all the cards in DG are semiorientable. Since |n − m| > 1, we know by Lemma 2.7 that all connected cards are orientable. We also know, by Lemma 2.2I, page 51, that if Gv is orientable, G is reconstructible. Suppose that v has a pendant neighbour, w. Gw is connected and orientable. v has degree m − 1 in Gw ; if there is more than one vertex of degree m − 1 in Gw , then they all have the same neighbourhood, so they are indistinguishable. Hence we can reconstruct G by adding a vertex to Gw and attaching it to any vertex in V2 of degree m − 1. Therefore we assume that v does not have any pendant neighbours, so that V1 does not contain any pendant vertices. Let Gw be any card in D(V2 ) different from Gv . Then N (w) ⊆ N (v), so Gw must be connected, and so orientable. Thus all cards in D(V2 ), except possibly Gv , are orientable. ULAM’S RECONSTRUCTION PROBLEM FOR GRAPHS 67 Then let Gw be any card in D(V1 ). We want to prove that Gw is orientable, so we assume that Gw is disconnected. Let C be the component in Gw which contains v. Then C contains all the vertices in V1 , except w, and so all the edges in Gw are in C. Hence Gw consists of C and a number of isolated vertices. By Proposition 2.8, Gw is semiorientable, so we know that w ∈ V1 . Then all isolated vertices in Gw belong to V2 , so they are orientable. Thus C is the only component we have not orientated. Since we know how many vertices should be in V1 and V2 , C is orientable unless it is balanced. Thus we can assume that C ∈ Bm−1,m−1 . Clearly n > m − 1, and since we have assumed that n 6= m, we get n − (m − 1) ≥ 2. Thus there are at least two vertices in V2 \ C. Then w has at least two pendant neighbours. We know that all the cards in D(V2 ), except Gv , are orientable, so if x is a pendant vertex in V2 , then Gx is orientable. Then Corollary 2.6 applies, so V1 also contains a vertex with one pendant neighbour. Hence V2 contains a pendant vertex which is not a neighbour of w. Then C ∩ V2 also contains a pendant vertex. The vertices in V1 have the same degree in Gw as in G, and since V1 does not contain any pendant vertices, only one of the colour classes in C contains a pendant vertex. This colour class must be in V2 , so C is orientable. Hence Gw is orientable. We have now proved that all the cards in DG , except Gv , are orientable. By Lemma 2.11, Gv is also orientable if none of the components in Gv has more than ν(G) − 3 vertices. We also know that Gv is orientable if it is connected. Hence we assume that Gv is disconnected, and that Gv contains a component with at least ν(G) − 2 vertices. Since there are ν(G) − 1 vertices in Gv , we see that Gv consists of two components, such that one of them contains ν(G)−2 vertices, and the other is an isolated vertex. But since v does not have any pendant neighbours, this is impossible. The conclusion is that Gv is orientable. By Lemma 2.2I, G is reconstructible. 2.4. Expanding graphs. k-expanding graphs were defined in section 1.1 as bipartite graphs such that |N (W )| ≥ |W | + k for any non-empty subset W of V1 . This concept is mostly used in matching theory. Hall’s condition is equivalent to a graph being 0expanding. See [ADH98] for details. Lemma 2.13. A bipartite graph G is k-expanding if and only if G contains exactly n n+1−k (n + 1 − k)-anti-cliques. Proof. Any subset of n + 1 − k vertices from V2 is an (n + 1 − k)-anti-clique. There n n ways to pick such a subset, so all bipartite graphs contain at least n+1−k are n+1−k (n + 1 − k)-anti-cliques. In order to prove the result, we need to show that G contains an (n + 1 − k)-anti-clique with at least one vertex from V1 if and only if G is not k-expanding. 68 TARAL GULDAHL SEIERSTAD Let G be a k-expanding graph. Suppose that W1 ⊆ V1 and W2 ⊆ V2 exist so that W1 6= ∅ and W1 ∪ W2 is an (n + 1 − k)-anti-clique. Then N (W1 ) ⊆ V2 \ W2 so that |N (W1 )| ≤ |V2 \ W2 | = |V2 | − |W2 | = n − (n + 1 − k − |W1 |) = |W1 | + k − 1, violating the condition that G is k-expanding. Then let G be a bipartite graph that is not k-expanding. If |V1 | ≥ n + 1 − k, then there is an (n + 1 − k)-anti-clique consisting exclusively of vertices from V1 . Thus we assume that |V1 | < n + 1 − k. Since G is not k-expanding, V1 contains a subset W1 with |W1 | > 0 so that |N (W1 )| < |W1 | + k. Then |V2 \ N (W1 )| = |V2 | − |N (W1 )| ≥ n − |W1 | − k + 1. Since W1 ⊆ V1 and |V1 | < n + 1 − k, we see that n − |W1 | − k + 1 is positive. Then we let W2 be any subset of V2 \ N (W1 ) with n − |W1 | − k + 1 vertices. Then |W1 ∪ W2 | = |W1 | + |W2 | = |W1 | + (n − |W1 | − 1 + k) = n−1+k so that W1 ∪ W2 forms an (n − 1 + k)-anti-clique. Proposition 2.14. For any k the class of k-expanding graphs is recognizable. Proof. By Lemma 2.13, it suffices to prove that the number of p-anti-cliques in G is reconstructible for any p ≤ |V2 | − 1. A p-anti-clique is the same as an induced subgraph isomorphic to the null graph on p vertices. Then we can use Kelly’s lemma for induced subgraphs to determine the number of p-anti-cliques in G. We already know from Lemma 1.8, page 16, that if G is 1-expanding, all the cards in DG are semiorientable. We can get similar results for orientability. Proposition 2.15. If G is 1-expanding, all the cards in DG (V1 ) are orientable. Proof. Let G be a 1-expanding graph and let v ∈ V1 . According to Lemma 2.13, G contains exactly one n-anti-clique. This anti-clique consists of the vertices in V2 , and is visible in Gv . Thus we know that all the vertices in Gv that take part in an n-anti-clique belong to V2 , so Gv is orientable. ULAM’S RECONSTRUCTION PROBLEM FOR GRAPHS 69 Proposition 2.16. If G is 2-expanding, all the cards in DG are orientable. Proof. Let G be a 2-expanding graph. Since all 2-expanding graphs are 1-expanding, we know from the previous proposition that Gv is orientable when v ∈ V1 . So suppose that v ∈ V2 . From Proposition 2.13 we know that G contains exactly n (n − 1)-anti-cliques. All of them consist entirely of vertices from V2 . Hence the vertices in Gv that form an (n − 1)-anti-clique belong to V2 . Now we will study graphs that are not 1-expanding. Let G be such a graph. Then there is a subset W of V1 so that |N (W )| ≤ |W |. Let ξ = min{k|∃W ⊆ V1 with |W | = k and |N (W )| ≤ k} If H is an induced subgraph of G so that |H ∩ V1 | = |H ∩ V2 | = ξ and H satisfies the condition that if v ∈ H ∩ V1 , then N (v) ⊂ H, we call H a Ξ structure. A subgraph of G which is a Ξ structure will be denoted by Ξ. Since the class of k-expanding graphs is recognizable, and a graph contains a Ξ structure if and only if it is not 1-expanding, the class of graphs containing a Ξ structure is recognizable. Lemma 2.17. Let G be a graph which is not 1-expanding and let v ∈ V1 ∩ Ξ. Then Gv is connected. Proof. Assume that Gv consists of t components, H1 , . . . , Ht . Since all the neighbours of v by definition are in Ξ, each of the components in Gv contains a subgraph of Ξ. We let Ξi = Hi ∩ Ξ for 1 ≤ i ≤ t. Since v has been removed from the graph, Ξi ∩ V1 is a proper subset of Ξ ∩ V1 , so Ξi ∩ V1 contains less than ξ vertices. Since Ξ ∩ V1 by assumption is the smallest subset W of V1 satisfying |N (W )| ≤ |W |, we must have |N (Ξi ∩ V1 )| > |Ξi ∩ V1 | for all i. Hence |Ξi ∩ V2 | = |N (Ξi ∩ V1 )| ≥ |Ξi ∩ V1 | + 1. But then ξ = t X ≥ i=1 t X |Ξ ∩ V2 | (|Ξi ∩ V1 | + 1) i=1 t X (|Ξi ∩ V1 |) + t = i=1 = ξ − 1 + t, giving t=1, so that Gv consists of only one component. Lemma 2.18. Let G ∈ Bm,n with n > m be a graph that is not 1-expanding. Then ξ is a reconstructible parameter. 70 TARAL GULDAHL SEIERSTAD Proof. Since G is not 1-expanding, G contains a Ξ structure. Since n > m, all connected cards are semiorientable. We let D ′ = {Gv |v ∈ V1 and Gv is connected}. As a consequence of lemma 2.17, ξ ≤ |D ′ |. All the cards in D ′ belong to Bm−1,n and are orientable. If one of the cards in D ′ contains a Ξ structure, the value of ξ in G is the same as the value of ξ on that card. If none of the cards in D ′ contains a Ξ structure, we can conclude that ξ = |D ′ |, since we know that a Ξ structure exists. 2.5. Colour classes with two degrees. Let G ∈ B be a bicoloured graph so that the vertices in V1 only have two different degrees. According to Lemma 1.12VI, we can assume that the difference between the two degrees is exactly one. Thus the degree set of V1 is {d, d + 1} for some d. Since G is bicoloured, G is reconstructible if and only if Gb is, and so we can without loss of generality assume that the number of vertices of degree d is less than or equal to the number of vertices of degree d + 1. In Lemma 1.16, page 26, we proved that if the degree distribution of V1 is {1, m − 1}, then G is reconstructible. We will now go one step further and consider graphs for which the degree distribution of V1 is {2, m − 2}. We let v1 and v2 be the vertices in V1 of degree d, and w1 , w2 , . . . , wm−2 be the vertices in V1 of degree d + 1. We let x1 , x2 , . . . , xn be the vertices in V2 . Lemma 2.19. Suppose that G is a bicoloured graph, such that the degree distribution of V1 is {2, m − 2}. Let the vertices in G be named as explained in the previous paragraph. If G is not reconstructible, the following statements hold. i Neither v1 nor v2 has a pendant neighbour. ii v1 and v2 do not have a neighbour in common. iii If xj ∈ N (vi ), there is a wk so that N (vi ) ∩ N (wk ) = {xj }. Proof. i The neighbour of vi satisfies the conditions in Lemma 1.13. ii Any vertex that is neighbour of both v1 and v2 satisfies the conditions in Lemma 1.13. iii Let a = deg(xj ), and consider Gxj . On this card V1 contains one vertex of degree d − 1 and a vertices of degree d. xj is a neighbour of the vertex of degree d − 1 and a − 1 of the vertices of degree d. Thus exactly one of the vertices of degree d in V1 in Gxj is not a neighbour of xj . In order to reconstruct G it suffices to find this vertex. According to ii, we can assume that this vertex has no neighbour in common with the vertex of degree d − 1. If iii is not satisfied, all the vertices of degree d in V1 on the card, except for one, has a neighbour in common with the vertex of degree d − 1, and this vertex is therefore the vertex of degree d that is not a neighbour of xj . ULAM’S RECONSTRUCTION PROBLEM FOR GRAPHS 71 Note the similarity between Lemma 2.19 and Claim 1.19, page 28. We see that i and ii in Lemma 2.19 are equivalent to i and ii in Claim 1.19, while iii in Lemma 2.19 implies iii in Claim 1.19. For suppose that iii in Lemma 2.19 holds, and that there are two vertices x and y in V2 such that vi ∈ N (x) ∩ N (y) for some i ∈ {1, 2}. Then x ∈ N (vi ), so by iii in Lemma 2.19, there is a wk in V1 such that N (vi ) ∩ N (wk ) = {x}. Then wk ∈ N (x) and wk 6∈ N (y), so N (x) 6⊆ N (y). To illustrate how we can use this result, we prove that the graphs in B6,n that satisfy these conditions are reconstructible. Example 2.20. Let G ∈ B6,n be a bicoloured graph such that the degree distribution of V1 is {2, 4}. Then G is reconstructible. Proof. As usual we can assume without loss of generality that the two degrees in V1 are consecutive integers, d and d + 1, such that two of the vertices in V1 have degree d and four of the vertices have degree d + 1. We let v1 and v2 be the vertices of degree d in V1 , w1 , . . . , w4 be the vertices of degree d + 1 in V1 and x1 , . . . , xn be the vertices in V2 . We want to look for a counterexample to the Reconstruction conjecture, so we assume that the conditions in Lemma 2.19 hold. According to condition iii in Lemma 2.19, for every neighbour xj of v1 there is a wk so that N (v1 ) ∩ N (wk ) = {xj }. Since there are only four wk ’s, v1 has no more than four neighbours. Thus d ≤ 4. The number of edges in G is 6d + 4, and since ε(G) ≥ 18 by Theorem 1.5, d ≥ 3, so we have d = 3 or d = 4. Case 1: d = 4. Because of iii, for every wk with 1 ≤ k ≤ 4, we have |N (v1 ) ∩ N (wk )| = 1 and |N (v2 ) ∩ N (wk )| = 1. This can only be accomplished if all the neighbours of v1 and v2 have degree two. Consider a vertex of degree two which is a neighbour of v1 and some wk . By Observation 1.18, page 28, there has to be relation of type (1.1) for this vertex, so we can assume that δwk = δv2 ⊔ {2}. Thus δwk = δv2 ⊔ {2} for all wk . But since all the neighbours of v2 have degree two, all the neighbours of all the wk ’s have degree two, and so all the vertices in V2 have degree two. Then G is reconstructible by Lemma 2.2II, page 51. Case 2: d = 3. In this case ε(G) = 6d + 4 = 22 and since |V2 | ≥ 11, the vertices in V2 have at most two incident edges on average. This means that if there is a vertex in V2 of degree greater than two, there must be a vertex of degree less than two. If all the vertices in V2 have degree two, G is reconstructible by Lemma 2.2II, so we can assume that there is a vertex of degree one in V2 . v1 has three neighbours, and unless G is reconstructible, then for every neighbour xj , there is one wk in V1 , which is also a neighbour of xj , so that wk and v2 are indistinguishable 72 TARAL GULDAHL SEIERSTAD from each other on the card Gxj . Thus δwk = δv2 ⊔ {deg(xj )}. This equation holds for three different wk ’s, say w1 , w2 and w3 . Since v2 cannot have any neighbours of degree one, neither can w1 , w2 or w3 . Thus w4 is the only vertex in V2 that can have a neighbour of degree one, and it can have only one, since the pendant vertex leads to one of the formulae δw4 = δv1 ⊔ {1} or δw4 = δv2 ⊔ {1}. Thus V2 contains exactly one vertex of degree one, and therefore at most one vertex of degree three, since the average degree among the vertices in V2 is at most two. If V2 contains no vertex of degree three, all the vertices in V2 have degree two, except for one which has degree one, and so G is reconstructible by Lemma 1.16. Therefore we assume that V2 contains a vertex of degree three. Suppose that w4 does not have a neighbour of degree three. Then w4 satisfies the conditions for v in Lemma 1.13, because w4 is a neighbour of the only pendant vertex in V2 , and all the other neighbours of w4 have degree two. So in that case, G is reconstructible. Thus we assume that w4 has a neighbour of degree three. Since δw4 = δvi ⊔ {1}, for some i, vi also has a neighbour of degree three. We assume without loss of generality that v1 has a neighbour of degree three. But for each of the three neighbours of v2 , there is a relation δwk = δv1 ⊔ {d′ } for some k and d′ . But since 3 ∈ δv1 , three of the wk ’s have neighbours of degree three. Including v1 there are four vertices in V1 with neighbours of degree three, which implies that there is more than one vertex in V2 of degree three. This is a contradiction, and this finishes the proof. 2.6. Neighbour degree sequences. When G is a bicoloured graph, we can use Observation 1.18, page 28. To repeat this observation: if G is not reconstructible, then for every u ∈ V2 , there is a relation (2.14) δu1 = δu2 ⊔ {deg(u)}, where u1 , u2 ∈ V1 , and u is a neighbour of u1 and not of u2 . On page 32, we defined a graph H, which illustrates the relations of type (2.14) between the vertices in V1 . If H is a connected graph, it means that all the vertices in V1 are related to each other through equations of type (2.14). In this section we will show how this information can be utilized. This is best illustrated with an example. Example 2.21. Suppose G ∈ B6,n is a bicoloured graph, and that the ordered degree distribution of V1 is (1, 1, 2, 2). Furthermore we assume that whenever two vertices in V1 have the same degree, they also have the same neighbour degree sequence, and that the graph H, defined as in page 32, is connected. Then G is reconstructible. Proof. We let v, w, x1 , x2 , y1 and y2 be the vertices in V1 , with deg(v) = d, deg(w) = d + 1, deg(xi ) = d + 2 and deg(yi ) = d + 3. Figure 29 shows the graph H. We will assume that G ULAM’S RECONSTRUCTION PROBLEM FOR GRAPHS y1 d y2 3 d3 d3 d3 x1 x2 d2 d2 w d1 v 73 degree d+3 d+2 d+1 d Figure 29 is not reconstructible. Then we can require that the graph obeys the observations on page 32. By assumption δx1 = δx2 and δy1 = δy2 . Since H is connected, all the vertices are related by equations of type (2.14). Then we get the following equations: (2.15) δw = δv ⊔ {d1 } (2.16) δxi = δw ⊔ {d2 } = δv ⊔ {d1 , d2 } (2.17) (2.18) δyi = δxj ⊔ {d3 } = δv ⊔ {d1 , d2 , d3 } (2.19) In (2.16) and (2.18) i, j ∈ {1, 2}. F Let Γ = z∈V1 δz . Then Γ = δv ⊔ δw ⊔ δx1 ⊔ δx2 ⊔ δy1 ⊔ δy2 = δv ⊔ δv ⊔ δv ⊔ δv ⊔ δv ⊔ δv ⊔ {d1 , d1 , d1 , d1 , d1 , d2 , d2 , d2 , d2 , d3 , d3 } = 6.δv ⊔ {5.d1 , 4.d2 , 2.d3 } The notation k.di means that di appears k times. First we assume that d1 , d2 and d3 are different from each other. Let ai be the number of vertices in V2 with degree di . Then di appears ai di times in Γ. From this we infer the following: (2.20) a1 d1 ≡ 5 (mod 6) (2.21) a2 d2 ≡ 4 (mod 6) (2.22) a3 d3 ≡ 2 (mod 6) In Table 1, page 74, we find the multiplication table for Z6 . By using this table, we can restrict the possible value of the ai ’s and di ’s. 74 TARAL GULDAHL SEIERSTAD 0 1 2 3 4 5 0 0 0 0 0 0 0 1 0 1 2 3 4 5 2 0 2 4 0 2 4 3 0 3 0 3 0 3 4 0 4 2 0 4 2 5 0 5 4 3 2 1 Table 1. Multiplication table for Z6 We now refer to the observations on page 32. There is only one edge in H with weight d1 , so by Observation H3, there is only one vertex in V2 of degree d1 , and it is a neighbour of w and not of v. By Observation H4, the xi ’s and yi ’s have the same number of neighbours of degree d1 as w has. Hence the vertex of degree d1 is a neighbour of w, x1 , x2 , y1 and y2 . We conclude that d1 = 5 and a1 = 1. By Observation H2, w does not have any neighbours of degree d2 , since it is the lower endpoint of both the edges with weight d2 . By (2.15), v does not either have any neighbours of degree d2 . Since v has no neighbours of degree d1 or d2 , all the neighbours of v have degree d3 . If d3 = 6, G is reconstructible by Lemma 1.12I, page 22, and since d3 6= d1 by assumption, we get that d3 < 5. As all the neighbours of v have degree d3 , G is reconstructible by Lemma 1.13 unless V2 contains a vertex of degree d3 − 1. Since d3 < d1 , we must have d2 = d3 − 1. From (2.21), (2.22) and Table 1 we see that d2 , d3 ∈ {1, 2, 4, 5}. But since d2 < d3 < 5, d2 , d3 ∈ {1, 2, 4}. As d2 = d3 − 1, the only possibility is that d2 = 1 and d3 = 2. But then, by (2.16), 1 ∈ δxi so by (2.18) 1 ∈ δyi , so yi has a neighbour of degree one. This vertex causes a relation δyi = δxi ⊔ {1} which contradicts (2.18), as d3 6= 1. Thus G is reconstructible if the values of d1 , d2 and d3 are all different. Then we have to consider the possibility that d1 , d2 and d3 are not all different. If d1 = d2 = d3 , all the vertices in V2 have the same degree, so G is reconstructible by Lemma 1.12II, page 22. Hence we can assume that one of them differs from the other two. We have three cases: d1 = d2 , d1 = d3 and d2 = d3 , which we will handle in the opposite order. Suppose that d2 = d3 . Then there are only two different degrees in V2 : d1 and d2 . We see that there is still only one edge in H with weight d1 . Hence we realize, as in the previous case, that V2 contains exactly one vertex of degree d1 and then the degree distribution of V1 is {1, a2 }, and G is reconstructible according to Lemma 1.16, page 26. Then suppose that d1 = d3 . In this case H looks like in Figure 30. This time Γ = 6.δv ⊔ {7.d1 , 4.d2 } ULAM’S RECONSTRUCTION PROBLEM FOR GRAPHS 75 y1 d y2 1 d 1 d1 d1 x1 x2 d2 d2 w d1 v Figure 30 Hence (2.23) a1 d1 ≡ 7 ≡ 1 (mod 6), and (2.21) is still valid. Thus from Table 1, d1 ∈ {1, 5}. If d1 = 1, w has a neighbour of degree one, and since δxi = δw ⊔ {d2 }, so do the xi ’s. But when xi has a pendant neighbour we know that δxi = δw ⊔ {1}, so d2 = 1. But then d1 = d2 = d3 so that G is reconstructible. So suppose that d1 = d3 = 5. Then δyi = δxi ⊔{5} = δw ⊔{d2 , 5}, so y1 has one neighbour of degree five more than w has. Thus there exists a vertex in V2 of degree five which is a neighbour of y1 and not of w. But a vertex of degree five which is not a neighbour of w has to be a neighbour of all vertices in V1 except for w. By Observation H1, there is an edge in H with weight five, such that the vertex in question is not a neighbour of the lower endpoint of the edge. Thus x1 w or x2 w has weight five, so d1 = d2 = d3 = 5 and G is reconstructible by Lemma 1.12II. y1 d y2 3 d 3 d3 d3 x1 x2 d1 d1 w d1 v Figure 31 Finally suppose d1 = d2 . Then H is as in Figure 31, and (2.24) Γ = 6.δv ⊔ {9.d1 , 2.d3 } so we get the two equations (2.25) (2.26) a1 d1 ≡ 9 ≡ 3 (mod 6) a3 d3 ≡ 2 (mod 6). This is the most difficult case because we no longer have values whose product equals 1 or 5 modulo 6, and there is no vertex in H which satisfies the conditions in Observation 76 TARAL GULDAHL SEIERSTAD H2. Suppose v has α neighbours of degree d3 . Then by (2.15), (2.17) and (2.19) w, x1 and x2 also have α neighbours of degree d3 , while y1 and y2 each have α + 1 such neighbours. (2.25) implies that a1 d1 is odd, which means that d1 itself is odd. Since we can assume that the difference between d1 and d3 is exactly one, d3 is even. d3 = 6 is excluded since this would mean that a vertex in V2 is a neighbour of all the vertices in V1 ; in this case G is reconstructible by Lemma 1.12I. Hence there are two possible values for d3 : 2 and 4. First suppose d3 = 2. Recall that a3 is the number of vertices in V2 of degree d3 . a3 d3 equals the number of times d3 appears in Γ, so by (2.24), (2.27) a3 d3 = 6α + 2, and with d3 = 2, 1 a3 = (6α + 2). 2 By Observation H1, every vertex in V2 of degree d3 = 2 is a neighbour of y1 , y2 or both. (2.28) Since both y1 and y2 have α + 1 neighbours of degree d3 , the total number of vertices in V2 of degree d3 cannot exceed 2(α + 1). Thus 2(α + 1) ≥ a3 and together with (2.28) this implies that α ≤ 1 and a3 ≤ 4. If α = 0, then a3 = 1, by (2.28), so V2 contains one vertex of degree d3 while all the others have degree d2 . Then G is reconstructible by Lemma 1.16, page 26. Hence we can assume that α = 1 and a3 = 4. Since α = 1 we see that v, w, x1 and x2 each have a neighbour of degree d3 . Thus every vertex of degree d3 = 2 has exactly one neighbour in {y1 , y2 } and exactly one neighbour in {v, w, x1 , x2 }. Then we also see that y1 and y2 do not have a neighbour of degree two in common. We can assume without loss of generality that x1 and y1 have a neighbour of degree two in common. Consider the card Gex1 y1 . To reconstruct G we must identify the neighbours of ex1 y1 . In this card x1 has the same degree as w, but δx1 6= δw ⊔ {2}, so we can identify x1 . The problem is then to distinguish y1 from x2 . But since we know that y1 has no neighbour of degree two in common with y2 , and y2 is easily identifiable on Gex1 y1 as the vertex of degree d + 3, we see that if x2 has a neighbour of degree two in common with y2 , we can identify y1 on the card. Thus we assume that x2 does not have a neighbour of degree two in common with y2 , and so it must have such a neighbour in common with y1 . Hence y1 has a neighbour of degree two in common with x1 and with x2 . y1 has only two neighbours of degree two, so the two remaining vertices in V2 of degree two are neighbours of y2 . One of them is also a neighbour of w and the other is a neighbour of v. Consider the card Gevy2 . Here v can be identified since it is the only vertex of degree d − 1, so what we have to do is tell y2 apart from x1 and x2 . But then y2 is the only of them that does not have a neighbour of degree two in common with y1 , and thus y2 can be identified. Hence G is reconstructible. ULAM’S RECONSTRUCTION PROBLEM FOR GRAPHS 77 Then suppose d3 = 4. Because of Observation H1, we see from the graph H that every vertex in V2 of degree d3 is either not a neighbour of x1 or not a neighbour of x2 . In other words x1 and x2 do not have a neighbour of degree four in common. Since x1 and x2 each have α neighbours of degree four, (2.29) a3 ≥ 2α. (2.27) still holds, so (2.30) a3 = 1 (6α + 2). 4 By (2.29) and (2.30), α ≤ 1 and a3 ≤ 2. Then (2.26) implies that a3 = 2, so V2 contains two vertices of degree four. Thus α = 1. Then v, w, x1 and x2 each have one neighbour of degree four, while y1 and y2 each have two neighbours of degree four. It follows that each of the two vertices in V2 of degree four is a neighbour of both y1 and y2 and has exactly two neighbours in the set {v, w, x1 , x2 }. This implies that since x1 and x2 do not have a neighbour of degree four in common, v and w do not either have a neighbour of degree four in common. v and w are the only vertices in H which are lower endpoints of some edge with weight d1 . If follows by Observation H1 that every vertex in V2 of degree d1 is either not a neighbour of v or not a neighbour of w. Hence v and w do not have a neighbour of degree d1 in common. Thus v and w do not have any neighbour in common. Since we can assume that |d1 − d3 | = 1, d1 can have two different values: 3 and 5. Suppose d1 = 3. In a similar way as in Lemma 2.19iii, page 70, we can prove that if z is a neighbour of v with deg(z) = 3, then there is an xi such that N (v) ∩ N (xi ) = {z}. This is proved in the following way: Consider the card Gz . On this card v has degree d − 1, so v can be identified. Any yj which is a neighbour of z can also be identified, since this vertex has neighbour degree sequence δyj \{3} = 6 δxi in the card. Thus the only unidentified neighbour of z is xi . It is possible that z is a neighbour of both the xi ’s; however this has nothing to say for our argument. What we have to do is distinguish w from xi . We know that v and w have no neighbours in common, so if xi is confused with w, xi cannot have any neighbours in common with v. Hence N (v) ∩ N (xi ) = {z}. We also know that if z is a vertex in V2 of degree three, then by Observation H1, z is a neighbour of the upper endpoint of an edge in H with weight d1 and not a neighbour of the lower endpoint. So if z ∈ N (v), then z is a neighbour of either x1 or x2 . Since |N (v) ∩ N (xi )| = 1 whenever v has a neighbour of degree three in common with some xi , it follows that v has no more than two neighbours of degree three. 78 TARAL GULDAHL SEIERSTAD Let β be the number of neighbours of v with degree d1 = 3. Then a1 d1 = 6β + 9, so that a1 = 13 (6β + 9) = 2β + 3. Since β ≤ 2, a1 ≤ 7, and then |V2 | = a1 + a3 ≤ 7 + 2 = 9. But then ν(G) = 15 and G is reconstructible by Theorem 1.5. Then assume that d1 = 5, which is the last possibility we have to consider. v and w still cannot have any neighbours of degree d1 in common. Thus all vertices in V2 of degree five are neighbours of x1 , x2 , y1 and y2 , and either v or w. Again let β be the number of neighbours of v of degree d1 . Then w has β + 1 neighbours of degree five and the other vertices in V1 have β + 2 neighbours of degree five. Since x1 has β + 2 neighbours of degree five, and it is a neighbour of all vertices in V2 of degree five, a1 = β + 2. As earlier, a1 d1 = 6β + 9. Hence β + 2 = 51 (6β + 9), which implies that β = 1. Hence a1 = β + 2 = 3, so |V2 | = a1 + a3 = 5. Again G is reconstructible by Theorem 1.5. We have to impose strict requirements on the graph in order to use this approach. If even one of the vertices does not conform, this method cannot be applied. However, notice that if this were the case in the example above, the vertices in V2 could only have assumed two different values for their degrees, unless G is reconstructible. This would clearly be a help for us. ULAM’S RECONSTRUCTION PROBLEM FOR GRAPHS 79 3. Some results for B6,n Since we proved in the first section that B5,n is reconstructible, it is natural to consider B6,n . We will not prove that B6,n is reconstructible, but we will complete the first step, which is to prove that for any G ∈ B6,n , all the cards in DG are orientable. Observation 3.1. Suppose p vertices in the same colour class of a bipartite graph together have exactly e incident edges. Further suppose that exactly a of the p vertices have degree one. Then (3.1) a ≥ 2p − e. Proof. Every pendant vertex contributes one edge, while a non-pendant vertex contributes at least two edges. Thus e ≥ a + 2(p − a). (3.1) follows. Proposition 3.2. If G ∈ B6,n , all the cards in DG are semiorientable. Proof. Let G ∈ B6,n . If V2 contains a vertex of degree six or five, all the cards are semiorientable according to Propositions 2.8, page 54, and 2.10, page 56. If the maximal degree in V1 differs from the maximal degree in V2 , all the cards are semiorientable by Corollary 1.7, page 16. We let ∆ be the maximal degree in G. Then we can assume that ∆ ≤ 4, and that both V1 and V2 contain a vertex with degree ∆. Since we now have assumed that ∆ < 6, we know from Theorem 1.5, page 13, that G is reconstructible if ν(G) ≤ 16 or ε(G) ≤ 18. Thus we assume that ν(G) ≥ 17 and ε(G) ≥ 19, and since V1 consists of six vertices, n = |V2 | ≥ 11. If G is 1-expanding, all the cards are semiorientable by Lemma 1.8, page 16, so we assume that it is not. Then we know from section 2.4 that G contains a Ξ structure. Let Ξ be a Ξ structure in G and let ξ = |Ξ ∩ V1 | = |Ξ ∩ V2 |. The vertices in Ξ ∩ V1 have all their neighbours in Ξ ∩ V2 ; consequently none of the vertices in Ξ ∩ V1 have more than ξ incident edges. Thus ξ of the vertices in V1 have no more than ξ incident edges, while the remaining 6 − ξ vertices in V1 have at most ∆ incident edges each. Hence (3.2) 19 ≤ ε(G) ≤ ξ 2 + ∆(6 − ξ). When we have an upper bound for the number of edges, it is always possible to find an upper bound for the number of vertices as well. We see that [ (3.3) V2 = (V2 ∩ Ξ) ∪ N (v). v∈V2 \Ξ 80 TARAL GULDAHL SEIERSTAD V2 ∩ Ξ contains ξ vertices, and N (v) contains deg(v) elements, so X |V2 | ≤ ξ + deg(v). v∈V2 \Ξ But this equation does not take into account that the vertices in V1 \ Ξ are connected to Ξ in some way. For every vertex in V1 there is one edge that connects the vertex with the rest of the graph. Thus if v is a vertex in V1 \ Ξ, v contributes at most deg(v) − 1 ”new” vertices to V2 . So we see that |V2 | ≤ ξ + X (deg(v) − 1) v∈V1 \Ξ ≤ ξ + (|V1 | − ξ)(∆ − 1) = ξ + (6 − ξ)(∆ − 1). If ∆ ≤ 2, then |V2 | ≤ ξ + (6 − ξ)(2 − 1) = 6. Then ν(G) = |V1 | + |V2 | ≤ 11, so G is reconstructible by McKay (1997), since it contains too few vertices. Then suppose that ∆ = 3. Then |V2 | ≤ ξ + (6 − ξ)(3 − 1) = 12 − ξ. Since we can assume that |V2 | ≥ 11, we must have ξ = 1. By (3.2), we get 19 ≤ ε ≤ 12 + 3(6 − 1) = 16, which is impossible. Thus ∆ ≥ 4. We have already assumed that ∆ ≤ 4, so ∆ = 4. Now |V2 | ≤ ξ + (6 − ξ)(4 − 1) = 18 − 2ξ Since |V2 | ≥ 11, ξ > 3 is ruled out. Thus we have three cases: ξ = 1, ξ = 2 and ξ = 3. By Lemma 2.18, page 69, ξ is reconstructible, so we can consider the three cases separately. In all cases we will prove that all the cards in D(V1 ) are semiorientable. Then it follows that all the cards in DG are semiorientable. We note that if v ∈ Ξ ∩ V1 , then Gv is connected by Lemma 2.17. Since |V2 | ≫ |V1 |, any connected card is semiorientable. Therefore, if we can show that all cards for which missing vertex is in V1 \ Ξ are semiorientable, then all cards in DG are semiorientable Case 1: ξ = 3. The vertices in G can be split into four sets: V1 ∩ Ξ, V2 ∩ Ξ, V1 \ Ξ and V2 \ Ξ. The orders of these sets are |V1 ∩ Ξ| = |V2 ∩ Ξ| = |V1 \ Ξ| = 3 and |V2 \ Ξ| = n − 3 ≥ 11 − 3 = 8. As mentioned it is sufficient to semiorientate the cards where the missing vertex is one of the three vertices in V1 \ Ξ. ULAM’S RECONSTRUCTION PROBLEM FOR GRAPHS V2 \ Ξ V2 ∩ Ξ V1 ∩ Ξ 81 V1 \ Ξ Figure 32. ξ = 3 Since ∆ = 4, the three vertices in V1 \ Ξ have at most twelve incident edges altogether. These edges are supposed to connect the vertices in V1 \ Ξ with both Ξ and V2 \ Ξ. At least one edge is spent to connect G \ Ξ with Ξ, and since there are no edges going from V1 ∩ Ξ to V2 \ Ξ, this edge must go from V1 \ Ξ to V2 ∩ Ξ. Thus there are at most eleven edges connecting V1 \ Ξ to V2 \ Ξ. Let e be the number of edges connecting V1 \ Ξ to V2 \ Ξ, and suppose that a of the vertices in V2 \ Ξ are pendant. Then e ≤ 11, so by Observation 3.1, a ≥ 2|V2 \ Ξ| − e ≥ 2 · 8 − 11 = 5. So V2 \ Ξ contains at least five pendant vertices. Since ξ > 1, V1 does not contain any vertices of degree 1. Thus any card where the missing vertex has a neighbour of degree one must belong to D(V1 ), and any such card is therefore semiorientable. Consequently, if there is a card in D(V1 ) which is not semiorientable, there is a vertex in V1 which is not a member of Ξ and does not have a pendant neighbour. Since V1 \ Ξ contains three vertices, we can then assume that there are at most two vertices in V1 with pendant neighbours. Since there are at least five pendant vertices in V2 , there is a vertex in V1 with three pendant vertices. But by Corollary 2.6 G is reconstructible unless there are two vertices in V1 such that one of them has two pendant neighbours and the other has one pendant neighbour. This is impossible, seeing that there are only two vertices in V1 with pendant neighbours. Hence we cannot construct a graph in B6,n with ξ = 3, such that not all cards are semiorientable, and so we are finished. Case 2: ξ = 2. Let v1 and v2 be the two vertices in V1 ∩ Ξ. Clearly neither v1 nor v2 has degree greater than two. If V1 contains a vertex of degree one, then ξ = 1. Therefore deg(v1 ) = deg(v2 ) = 2. Since ξ = 2, Ξ is a graph in B2,2 , so since both the vertices in V1 ∩ Ξ have degree two, Ξ must be isomorphic to K2,2 . Suppose that V1 contains three vertices of degree two. Since we have assumed that G contains at least nineteen edges, the three other vertices in V1 in sum have thirteen incident edges, which is impossible as ∆ = 4. Therefore we can assume that V1 contains exactly two vertices of degree two and that the other vertices in V1 have degree three or greater. By Lemma 2.17, page 69, Gv1 is connected, and thus orientable. In Gv1 V1 only contains one vertex of degree two, so this 82 TARAL GULDAHL SEIERSTAD vertex must be the other vertex in V1 ∩ Ξ - that is v2 . Since we know that N (v1 ) = N (v2 ), we can reconstruct G by adding a vertex to Gv1 and attaching it to the neighbours of v2 . Case 3: ξ = 1, which means that V1 contains a vertex of degree one. Then (3.2) yields that (3.4) 19 ≤ ε(G) ≤ 21. If V1 contains two vertices of degree one, then ε(G) ≤ 2 · 1 + 4∆ = 18, since ∆ = 4. Then ε(G) does not satisfy (3.4); consequently we can assume that V1 contains exactly one vertex of degree one. Subcase 3.1: V1 contains a vertex of degree two. The only way to get nineteen edges is that the remaining four vertices in V1 all have degree four. In this case, the degree sequence of V1 is {1, 2, 4, 4, 4, 4}. Thus ε is exactly 19. V2 contains at least eleven vertices, so if there are a pendant vertices in V2 , we get a ≥ 2|V2 | − ε ≥ 2 · 11 − 19 = 3, by Observation 3.1. Since G is not disconnected, the pendant vertex in V1 cannot have a pendant neighbour. Therefore one of the vertices of degree four has a pendant neighbour. By Corollary 2.6, page 54, either G is reconstructible, or else V1 contains a vertex of degree three. So since V1 does not have any vertices of degree three, G is reconstructible. Subcase 3.2: V1 does not contain any vertices of degree two. Since the maximal degree is four, all the vertices in V1 , save the one with degree one, have degree three or four. Again suppose there are a pendant vertices in V2 . Since ε ≤ 21 and V2 contains at least eleven vertices, we get a ≥ 2|V2 | − ε ≥ 2 · 11 − 21 = 1. Thus V2 contains at least one pendant vertex. Clearly the pendant vertex in V1 cannot have a pendant neighbour. Corollary 2.6 states that if a vertex in V1 of degree d has a pendant neighbour, then V1 contains a vertex with degree d − 1. Since V1 does not have any vertices of degree two, it follows that any pendant vertex in V2 is a neighbour of a vertex of degree four, and that V1 contains a vertex of degree three. If a vertex in V1 of degree four has two pendant neighbours, then Corollary 2.6 implies that one of the vertices in v1 of degree three also has a pendant neighbour. But since we just concluded that no vertex in V1 of degree three has a pendant neighbour, we see that no vertex in V1 of degree four has more than one pendant neighbour. Suppose there are ad vertices of degree d in V1 with 1 ≤ d ≤ 4. Then a1 = 1, a2 = 0 P and a3 + a4 = 5. We have that ε = 4d=1 dad = 1 + 3a3 + 4a4 . Together with the fact that ε ≥ 19, this implies that a4 ≥ 3. Thus there are at least three vertices in V1 of degree four. Since V1 contains at least one vertex of degree three, we get a3 ≥ 1, and a4 ≤ 4, so ε ≤ 20. Hence we have (3.5) 19 ≤ ε(G) ≤ 20. ULAM’S RECONSTRUCTION PROBLEM FOR GRAPHS 83 As usual it suffices to semiorientate the cards Gv for which v ∈ V1 \ Ξ. The vertices in V1 \ Ξ have degree three or four, so there are two types of cards we have to consider: those where the missing vertex has degree three, and those where the missing vertex has degree four. Cards for which the missing vertex has degree three: Let Gx be a card in DG such that deg(x) = 3. We know the degree sequence of both V1 and V2 and the neighbour degree sequence of x. If the neighbour degree sequence of x is not a subset of the degree sequence of V1 , x cannot be in V2 , and so Gx is semiorientable. Therefore we assume that δx is a subset of the degree sequence of V1 . Hence x has no neighbours of degree two. We have already assumed that vertices of degree three do not have pendant neighbours; then all the neighbours of x have degree three and four. Then the neighbours of x together have at least nine incident edges. We let p = |V2 \N (x)| and e be the number of edges that are not incident to any neighbour of x. Then p = |V2 | − deg(x) ≥ 11 − 3 = 8, and since the neighbours of x collectively have at least nine incident edges, e ≤ ε − 9, so by (3.5), e ≤ 11. If there are a pendant vertices in V2 , then by Observation 3.1, a ≥ 2p − e ≥ 2 · 8 − 11 = 5. But since we have assumed that only vertices of degree four have pendant neighbours, and there are at most four vertices in V1 of degree four, one of the vertices of degree four has two pendant neighbours. But we have also assumed that no vertex has more than one pendant neighbour, so this is impossible. Cards for which the missing vertex has degree four: Let Gx be a card in DG such that deg(x) = 4. Again, if Gx is not semiorientable, then the neighbour degree sequence of x must be a subset of the degree sequence of V1 . Hence x has no more than one neighbour of degree one, and the other neighbours must have degree three or four. We have assumed that a3 ≤ 2; that is there are at most two vertices of degree three in V1 . So then x has at most two neighbours of degree three. Again we let p be the number of vertices in V2 that are not neighbours of x, and e be the number of edges that are not incident to one of the neighbours of x. The neighbours of x collectively have at least 1 + 2 · 3 + 4 = 11 incident edges, so e ≤ ε − 11 ≤ 20 − 11 = 9. Since |N (x)| = 4, we get p = |V2 \ N (x)| = |V2 | − |N (x)| ≥ 11 − 4 = 7. Then by Observation 3.1 a ≥ 2p − e ≥ 2 · 7 − 9 = 5. Thus there are five pendant vertices in V2 , while there are at most four vertices in V1 of degree four. Hence one of the vertices of degree four has more than one pendant neighbours. But again this is impossible, since we have assumed that no vertex has more than one pendant neighbour. Proposition 3.3. If G ∈ B6,n , all the cards in DG are orientable. Proof. As usual Theorem 1.5 provides us with a lower bound for the number of vertices and edges. We can assume that G contains at least sixteen vertices and eighteen edges. Thus |V2 | = ν(G) − |V1 | ≥ 16 − 6 = 10. 84 TARAL GULDAHL SEIERSTAD Since |V2 | ≫ |V1 |, any connected card is orientable, so we will concentrate on the disconnected cards. We will consider a card Gv in DG and prove that no matter how Gv is, we can orientate it. We proved in Proposition 3.2 that when G ∈ B6,n , all the cards in DG are semiorientable. Throughout this proof it is therefore assumed that we know for every card Gv whether v ∈ V1 or v ∈ V2 . We need the following observation: Observation 1: If C1 is a component in Gv which is not orientable, and C1 ∈ Ba1 ,b1 , then there are some non-orientable components C2 , . . . , Ct in Gv such that Ci ∈ Bai ,bi , and such P P that ti=1 ai = ti=1 bi = k with 4 ≤ k ≤ 5. Proof. Since C1 is not orientable, there are two valid orientations O1 and O2 of Gv , such that O1 (C1 ) 6= O2 (C1 ). Let D be the subgraph of Gv such that for every w ∈ D, O1 (w) = O2 (w), and let C = Gv \D. Thus D consists of the components that are orientated the same way by O1 and O2 , while C consists of the components that are orientated differently by O1 and O2 . Note that this does not necessarily mean that all the components in D are orientable, since it is possible that there is another valid orientation O3 which orientates some components in D in a different way than O1 and O2 . This is, however, not relevant in our argument. Suppose that |C ∩ V1 | = 6 |C ∩ V2 |. Then O1 and O2 place different number of vertices in V1 and V2 . Since the sizes of the colour classes are reconstructible, O1 and O2 cannot both be valid. Therefore this is impossible, so |C ∩ V1 | = |C ∩ V2 |. Suppose that v ∈ V1 . (The argument is similar if v ∈ V2 .) The other vertices in V1 do not change degree when v is removed from the graph. Thus the degree sequence of V1 is the same in G and in Gv , except that deg(v) is removed in the latter sequence. Suppose the degree sequence of C ∩ V1 is different from the degree sequence of C ∩ V2 . Then the two orientations yield different degree sequences for V1 , so one of them is invalid. Hence we can assume that C ∩ V1 and C ∩ V2 have the same degree sequences. Now we know that the colour classes in C have the same number of elements and the same degree sequences. C cannot contain any isolated vertices, because we know that any isolated vertices belong to V2 when v ∈ V1 and to V1 when v ∈ V2 . Let k = |C∩V1 | = |C∩V2 |. If k = 1, C ≃ K1,1 . If k = 2 or k = 3 and C is connected all the possible graphs are listed in Figure 5 and 6, page 20. These graphs are all symmetric, and they are therefore orientable. Suppose that C is disconnected. If k = 2, then C consists of two components both of which are isomorphic to K1,1 . They are symmetric and therefore orientable. If k = 3, then either C consists of three components isomorphic to K1,1 , or two components isomorphic to K1,2 . In the former case all the components are symmetric, and in the latter C must be as in ULAM’S RECONSTRUCTION PROBLEM FOR GRAPHS 85 Figure 7, page 21. In both cases C is symmetric and orientable. Therefore we can assume that k ≥ 4. Since V1 only contains six vertices, k ≤ 6. Suppose k = 6. Then V1 = C ∩ V1 , so v ∈ V2 . But then all of v’s neighbours are in V1 . Since V1 ⊂ C, all the neighbours of v are in C. Then all vertices in Gv belong to C, so ν(G) = ν(C) + 1 = 2k + 1 = 13. Then G is reconstructible by Theorem 1.5. Hence we can assume that k < 6. Note that Observation 1 implies that if one of the colour classes of a component contains six or more vertices, then the component is orientable. We still consider the card Gv , and we want to prove that Gv is orientable, no matter how it looks. Thus we suppose that Gv is not orientable. Then there is a non-orientable component C1 in Gv . We let C = ∪ti=1 Ci be non-orientable components as in Observation 1. By that Observation C ∈ B4,4 or C ∈ B5,5 . Hence we have two cases. v v Figure 33. Case 1 Case 1: C ∈ B5,5 . Then |V1 | = 6 and |C ∩ V1 | = 5. If v ∈ V1 , all other vertices in V1 belong to C. Then all components in Gv other than C are isolated vertices. If v ∈ V2 , the component in Gv other than C is a star with one vertex in V1 . Examples of both cases can be seen in Figure 33; note, however, that C does not have to be a connected graph as it is in the figure. We know that |V2 | ≥ 10, so in both cases there is a vertex in V1 with at least four pendant neighbours. Unless G is reconstructible, then, according to Corollary 2.6, page 54, V1 also contains vertices with three, two and one pendant neighbours. These vertices must belong to C. But then six of the five vertices in C ∩ V2 are pendant, which is absurd. v v Figure 34. Case 2 Case 2: C ∈ B4,4 . Figure 34 contains two examples - one where v ∈ V1 and one where v ∈ V2 . Again C may consist of more than one component. Let D = Gv \ C. 86 TARAL GULDAHL SEIERSTAD We will prove that all cards in D other than Gv are orientable. Since ν(C) = 8 and ν(G) ≥ 16, none of the components in Gv can have more than ν(G) − 3 vertices. Then Lemma 2.11, page 63, implies that Gv is also orientable. We will split the cards in DG into two types of cards according to whether the missing vertex belongs to C or D. Cards of type 1: Consider a card Gw ∈ D with w ∈ C. One of the components in Gw contains the vertex v, and then this component also contains D. Let C ′ be this component. Then |C ′ ∩ V2 | ≥ |(G \ C) ∩ V2 | = |V2 | − |C ∩ V2 | ≥ 10 − 4 = 6. Thus one of the colour classes of C ′ contains contains six vertices or more and then C ′ is orientable as a consequence of Observation 1. Let C ′′ = Gw \ C ′ . Then C ′′ ∪ {w} ⊆ C, so ν(C ′′ ) + 1 ≤ ν(C) = 8. Hence C ′′ contains no more than seven vertices. Then C ′′ cannot be non-orientable by Observation 1. Thus Gw is orientable. Cards of type 2: Then suppose Gw is a card with w ∈ D. The component in Gw that contains v, also contains C. Let this component be C ′ . One of the colour classes of the component consists of at least four vertices and the other of at least five; thus C ′ contains at least nine vertices. If there are some non-orientable components in Gw they must, by Observation 1, have at least four vertices in V1 . The components in Gv other than C ′ have at most two vertices in V1 , so if there are any non-orientable components in Gw , C ′ is one of them. But Observation 1 implies that C ′ can only be non-orientable if there is a subgraph C ′′ of G such that C ′′ ∈ Bk,k for 4 ≤ k ≤ 5 and C ′ ⊆ C ′′ . If k = 5, then C ′ is orientable by case 1. Therefore k = 4, but since one of the colour classes in C ′ contains five vertices, this is impossible. Hence C ′ is orientable. Thus Gw is orientable both if w ∈ C and if w ∈ D. Thus we have proved that all cards in D except Gv are orientable. Hence, by Lemma 2.11, Gv is also orientable. Proposition 3.3 implies that when we try to reconstruct B6,n , we can assume that the graphs are bicoloured. As we did for B5,n , we split the graphs into subclasses according their degree distributions. The following eleven ways are possible: {6} {5,1} {4,2} {4,1,1} {3,3} {3,2,1} {3,1,1,1} {2,2,2} {2,2,1,1} {2,1,1,1,1} {1,1,1,1,1,1} X X X X Lemma 1.12II Lemma 1.16 example 2.20 page 87 X Lemma 1.12V p example 2.21 X Lemma 1.12IV X Lemma 1.12III ULAM’S RECONSTRUCTION PROBLEM FOR GRAPHS 87 The partitions marked X are the ones for which we have proved or will prove that the according subclass of graphs is reconstructible, and p means that the case has been partially solved. With a final effort we will now prove that graphs in B6,n for which V1 has the degree distribution {4, 1, 1} are reconstructible. The ordered degree distribution of V1 can be (4, 1, 1), (1, 4, 1) or (1, 1, 4). If V1 in G has degree distributions (4, 1, 1), then V1 in Gb has degree distribution (1, 1, 4), and since G is reconstructible if and only Gb is, we only need to consider one of the two possibilities. We will split the proof into three cases. In the first two cases we assume that the degree distribution of V1 is (4, 1, 1) and (1, 4, 1) respectively, and that the degrees in V1 are consecutive integers. In the final case we assume that the degrees in V1 are not consecutive integers. x1 x2 d2 x3 x4 d3 d4 w d1 d5 v Figure 35 Case 1: The ordered degree distribution is (1, 1, 4) and the three degrees in V1 are consecutive integers. Then the degree sequence of V1 is {d, d + 1, d + 2, d + 2, d + 2, d + 2} for some d, and we let v be the vertex of degree d, w be the vertex of degree d + 1 and x1 , . . . , x4 be the four vertices of degree d + 2. The graph H as defined in page 32 is drawn in Figure 35. We assume that the edges in H have degrees d1 , . . . , d5 , as indicated in the figure, but we make no assumptions yet about whether they are equal to each other. We assume that G is not reconstructible, so we can assume that the observations on page 32 are satisfied. By Observation H1, for every vertex in V2 of degree d′ , there is an edge e with weight d′ in H, such that the vertex is a neighbour of the upper endpoint of e and not a neighbour of the lower endpoint. Let u be a neighbour of w. The only edge that can satisfy Observation H1 is the edge wv, so u is a neighbour of w and not a neighbour of v, and deg(u) = d5 . Thus all the neighbours of w have degree d5 , and since δw = δv ⊔ {d5 }, all the neighbours of v also have degree d5 . The principles from Lemma 2.19, page 70, still apply, even though our graph is not precisely as required for that lemma. In particular we see that v cannot have a neighbour of degree one, and v and w have no neighbour in common. Condition iii also applies, but only for v. That is, for every neighbour yj of v, there is an xi so that N (v) ∩ N (xi ) = {yj }, and such that δxi = δw ⊔ {d5 }. If this is not satisfied, G is reconstructible. To prove this, 88 TARAL GULDAHL SEIERSTAD consider the card Gyj . Since yj is a neighbour of v, v has degree d − 1 in the card, so we can identify it. Thus if we cannot determine which vertices in Gyj are the neighbours of yj , then the problem must be to distinguish w from some xi , where xi ∈ N (yj ) and w 6∈ N (yj ). Then δxi = δw ⊔ {d5 }, and since we know that w and v do not have any neighbours in common, xi and v cannot have any neighbours in common in the card Gyj . Hence N (v) ∩ N (xi ) = {yj }. When δxi = δw ⊔ {d5 }, we know that the edge xi w in H has weight d5 . Since all the d neighbours of v have degree d5 , it follows from what we proved in the previous paragraph that d of the edges xi w have weight d5 . If d = 4, then all the edges in H have weight d5 , so all the vertices in V2 have degree d5 . In this case G is reconstructible by Lemma 1.12II. If d = 3, then all but one of the edges in H have degree d5 . By Observation H3 there is only one vertex in V2 with degree different from d5 , so G is reconstructible by Lemma 1.16, page 26. Therefore we can assume that d ≤ 2. If d = 1, then ε(G) = 6d + 9 = 15, so G is reconstructible by Theorem 1.5. Hence we can assume that d = 2. Then two of the edges xi w have weight d5 . We can assume that x1 w and x2 w have weight d5 . Then δx1 = δx2 = δw ⊔ {d5 }, so all the neighbours of x1 and x2 have degree d5 . It follows that if there is a vertex in V2 of degree different from d5 , it cannot have other neighbours than x3 and x4 . Hence it has degree one or two. Since δx3 = δw ⊔ {d3 } and δx4 = δw ⊔ {d4 }, neither x3 nor x4 has more than one neighbour of degree different from d5 . Because of Lemma 1.16, we can assume that there are at least two vertices in V2 of degree different from d5 . The only way this is possible is if both x3 and x4 have a neighbour of degree one. If d5 > 2, then the difference between the two degrees in V2 is greater than one, so G is reconstructible by Lemma 1.12VI. Hence we assume that d5 = 2. Then two of the vertices in V2 have degree one, and the other vertices in V2 have degree two. Thus ε(G) is even. But ε(G) = 6d + 9 which is not even, so this is impossible. Hence G is reconstructible. w x1 x2 x3 x4 v Figure 36 Case 2: The ordered degree distribution of V1 is (1, 4, 1). Here ε(G) = 6d + 6. Since we can assume that ε(G) ≥ 18, we get d ≥ 2. But if d = 2, the greatest degree in V1 is four, and if V2 contains a vertex of degree six, G is reconstructible by Lemma 1.12I. Thus G ULAM’S RECONSTRUCTION PROBLEM FOR GRAPHS 89 contains no vertex of degree higher than five, so according to Theorem 1.5, we can assume that ε(G) ≥ 19, and then d = 2 is also excluded. Suppose that y is a vertex in V2 which is a neighbour of v and not of w. Then this vertex satisfies the conditions in Lemma 1.13, so that G is reconstructible. Therefore we assume that all the neighbours of v are also neighbours of w. So let y1 be a neighbour of v and w, and consider Gy1 . On this card v is readily identified as the vertex of degree d − 1, and any neighbours of y1 of degree d + 1 will be found as vertices of degree d in Gy1 . So the problem is to distinguish w from the other vertices of degree d + 1 in the card. The property that N (v) ⊂ N (w) in G is also visible on Gy1 , so unless there is another vertex, x1 , in the card so that δw = δx1 ⊔ {deg(y1 )} and all the neighbours of v on the card are also neighbours of x1 , we can identify w and thereby reconstruct G. Thus we assume that such a vertex exists, so that NGy1 (v) ⊂ NGy1 (x1 ). This means that all the neighbours of v, except for y1 , are neighbours of x1 . Let y2 be another neighbour of v. According to the assumptions we have made, this vertex is also a neighbour of w and x1 . But the arguments we used above also apply to y2 , so there has to be a vertex x2 of which y2 is not a neighbour, so that all the neighbours of v, except for y2 , are neighbours of x2 . Since v has at least three neighbours, there is also a vertex y3 and a vertex x3 , so that y3 ∈ N (v) and (N (v) \ {y3 }) ⊂ N (x3 ). If we gather the information we have now, we know that there are three vertices in V2 , y1 , y2 and y3 , so that {v, w, x2 , x3 } ⊆ N (y1 ), {v, w, x1 , x3 } ⊆ N (y2 ) and {v, w, x1 , x2 } ⊆ N (y3 ). So the degrees of y1 , y2 and y3 are all at least four. If deg(v) = 4, we can use this argument yet another time, so that we know there are four vertices in V2 , each of which has degree five. Thus each of the d neighbours of v has degree d + 1. Since there are only four xi ’s, v cannot have more than four neighbours, so d ≤ 4. Let p be the number of vertices in V2 \ N (v), and let e be the number of edges that are not incident to any vertex in N (v). Then p = n − deg(v) ≥ 11− d and e = ε(G)− d(d+ 1) = ((6d + 6) − d(d + 1)). If a is the number of pendant vertices in V2 , we get by equation Observation 3.1 that a ≥ 2(11 − d) − ((6d + 6) − d(d + 1)) = d2 − 7d + 16. We have only two cases - d = 3 and d = 4 - and in both cases we get a ≥ 4. Hence there are at least four pendant vertices in V2 . By using Corollary 2.6, we see that none of the xi ’s can have more than one pendant neighbour. Since δw = δxi ⊔ {deg(yi )} with deg(yi ) > 1 for some i, w cannot have more than one pendant neighbour either. Thus there are at most five pendant vertices in V2 . Suppose that there are five pendant vertices, such that 90 TARAL GULDAHL SEIERSTAD all the vertices in V1 except v have a pendant neighbour. Then δw = δxi ⊔ {1}, but that is not possible, since both w and xi have exactly one pendant neighbour. Therefore we can assume that there are exactly four pendant vertices in V2 , and since δw = δxi ⊔ {deg(yi )} with deg(yi ) > 1 for some i, it is not possible that all the xi ’s have pendant neighbours, while w does not have it. Therefore we can assume that w has a pendant neighbour, and that three of the xi ’s have a pendant neighbour. Suppose that d = 4. By the argument earlier in this proof, we have δw = δxi ⊔ {deg(yi )} for 1 ≤ i ≤ 4. Since 1 ∈ δw , it follows that 1 ∈ δxi when 1 ≤ i ≤ 4. But then all the xi ’s have a pendant neighbour, contrary to our assumption. Therefore we can assume that d = 3. We know that δw = δxi ⊔{deg(yi )} with deg(yi ) 6= 1, when 1 ≤ i ≤ 3. Since w has a pendant neighbour, we must have δw = δx4 ⊔ {1}. Then x4 does not have a pendant neighbour, while x1 , x2 and x3 do. Then δx1 = δx2 = δx2 = δv ∪ {1}, so since δw = δx1 ∪ {deg(y1 )} = δx2 ∪ {deg(y2 )} = δx3 ∪ {deg(y3 )}, we get that deg(y1 ) = deg(y2 ) = deg(y3 ). Let α = deg(y1 ). Then we can deduce the neighbour degree sequences of most of the vertices in V1 : δv = {α, α, α} δx1 = {1, α, α, α} δx2 = {1, α, α, α} δx3 = {1, α, α, α} δx4 = {α, α, α, β} δw = {1, α, α, α, β} Here β is an integer we do not know the value of yet. However, since there are only four pendant vertices in V2 , β cannot have value one. We see that if β 6= α, then there are only two vertices in V1 with a neighbour of degree β, so in this case β = 2. Consequently β either equals two or α. Since α is either four of five, the number of times α is written in the neighbour degree sequences above, must be divisible by either four or five. Since there are currently eighteen α’s, the only way this is possible is if β = α. But then the vertices in V2 have only two different degrees, which differ from each other with more than one, so that G is reconstructible by Lemma 1.12VI. Case 3: For completeness it is necessary to consider the cases where the degrees of the vertices in V1 are not consecutive integers. Obviously some of the degrees must be consecutive integers, or else G would be reconstructible by Lemma 1.12VI. Suppose that the vertices in V1 are v, w and x1 , . . . , x4 , with deg(v) = d1 , deg(w) = d2 and deg(xi ) = d3 . ULAM’S RECONSTRUCTION PROBLEM FOR GRAPHS 91 If d1 and d2 are consecutive integers and d3 differs with at least two from both d1 and d2 , we see that the graph H contains at most one edge. If H does not contain any edges, then G is clearly reconstructible. If H contains one edge, then unless G is reconstructible, all the vertices in V2 have the same degree as the weight of this edge. But G is also reconstructible in this case, since the vertices in V2 then satisfy the conditions in Lemma 1.12II. Then suppose d2 and d3 are consecutive integers and d1 differs with at least two from both d2 and d3 . We can assume without loss of generality that b + 1 = c, because, if that is not the case we can instead consider the bipartite complement. Then any neighbour of w would satisfy the conditions in Lemma 1.13, and so G is reconstructible. 92 TARAL GULDAHL SEIERSTAD 4. Separable graphs In the final section we will consider graphs that are not necessarily bipartite. A vertex v in a graph is a cutpoint if Gv is disconnected. If G is a graph that contains a cutpoint, G is called separable. [Bon69] proved that all separable graphs without pendant vertices are reconstructible, so in this section we will assume that G is a separable graph with at least one pendant vertex. A block is a maximal non-separable subgraph of G. Associated with any graph G is the block-cutpoint graph of G which is the graph H with vertex set V (H) = {x|x is a block of G or x is a cutpoint of G} and edge set E(H) = {xy|x is a block of G and y is a cutpoint of G with y ∈ x}. The block-cutpoint graph of a graph is always a tree with exactly one central point. The block or cutpoint in G corresponding to the center of the block-cutpoint graph of G is called the autocenter of G. The maximal subgraph of G without pendant vertices is the pruned graph of G. Note that the pruned graph is a proper subgraph of G, since G contains a pendant vertex. The pruned center of G is the autocenter of the pruned graph of G. If v is a pendant vertex, then the pruned graph of Gv is the same as the pruned graph of G. The same applies for the pruned center. Let G be a graph, and let F be a subgraph of G, so that any vertex in G \ F has at most one neighbour in F . If F has order greater than one, a branch of G at F is a maximal, non-trivial, connected subgraph of G with exactly one vertex in common with F . If F consists of a single vertex, a branch of G at F is any non-trivial, maximal, connected subgraph of G with exactly one vertex in common with F so that the vertex in F is not a cutpoint of the subgraph. In both cases the vertex in the intersection between a branch B and F is called the root of B. Lemma 4.1 ([GH69]). If for some pendant vertex v, two of the branches at the pruned center in Gv contain pendant vertices, we can determine the rooted branches at the pruned center of G. We will prove a more general result which implies Lemma 4.1. Let F be a subgraph as above, and let B1 and B2 be two branches at F so that B1 ∩ F = {v1 } and B2 ∩ F = {v2 }. We say that B1 and B2 are equivalent if there is an isomorphism φ : B1 → B2 so that φ(v1 ) = v2 and an automorphism α of F so that α(v1 ) = v2 . We say that the branches at F are known if we can determine how many elements there are in each of the equivalence classes of branches at F . ULAM’S RECONSTRUCTION PROBLEM FOR GRAPHS 93 Lemma 4.2. Let G and F be as above, and let P be a decidable property. Suppose that we know that the following conditions are satisfied: 1. Given any rooted branch, it is possible to determine which of the vertices in the branch satisfy P , without information about the rest of the graph. 2. If B is a rooted branch and v and w are vertices in B which satisfy P , then w also satisfies P in the rooted branch B − v. 3. If v satisfies P , then we can identify the subgraph F in Gv . 4. There are at least two branches at F containing vertices that satisfy P . Then the rooted branches are known. Proof. ([GH69]) Let D ′ be the deck of cards for which the missing vertex satisfies P . Since P is decidable, we can determine which cards belong to D ′ . By Condition 3, we can identify F in all the cards in D ′ . Of all the branches at F containing a vertex satisfying P , let B be a branch with maximal number of vertices. Suppose that B has M vertices. Because of Condition 4, B is visible in its entirety on at least one of the cards in D ′ , and so the value of M can be determined. Then we let Bi , with 1 ≤ i ≤ s, be the equivalence classes of branches with M vertices that appear in the cards in D ′ with vertices that satisfy P . Let Gj be the cards in D ′ with 1 ≤ j ≤ k, and let αij be the number of branches in Bi in Gj . If there is some i such that αij = p for all j, then there are p + 1 of the Bi branches in G. Otherwise there is some q and r so that αiq = αir + 1. In this case there are αiq branches in G of type Bi . Let J be the set of cards, such that Gv ∈ J if Gv ∈ D ′ and Gv contains one less than the known number of branches of type B1 . Let Q = {B1 − v|v satisfies P }. If |Q| = 1, the branches with M − 1 vertices are those of Gv ∈ J minus one of the type isomorphic to the element of Q. Otherwise they are the ones which appear in all the cards in J, and the number of times they appear in G is the smallest number of times it appears in a Gv ∈ J. The branches with fewer than M − 1 vertices and those with more than M vertices are given by any Gv ∈ J, and so are the branches which do not contain vertices that satisfy P. Note that even if Condition 4 in Lemma 4.2 is satisfied, we are not necessarily able to determine that it is so. Suppose that D ′ contains exactly two cards, and that on both these cards exactly one branch contains a vertex satisfying P . Then we are generally not able to determine whether the two vertices that satisfy P are in the same branch, or in two different branches. However, if there is a card in D ′ which contains two branches with vertices satisfying P , we know that Condition 4 is satisfied. This is enough to prove Lemma 4.1. 94 TARAL GULDAHL SEIERSTAD Proof of Lemma 4.1. Let F be the pruned center of G, and let P be the property that v is pendant. Clearly Conditions 1 through 3 are satisfied. Condition 4 is implied by the assumption that there is a card Gv so that two branches at the pruned center in Gv contain pendant vertices, and so Lemma 4.2 applies. We define the following extra condition: Condition A. There is a pendant vertex v, so that two of the branches at the pruned center in Gv contain pendant vertices. Lemma 4.3. Let G be a graph which satisfies Condition A, and suppose that the pruned center of G is either a cutpoint or a complete graph. Then G is reconstructible. Proof. By Lemma 4.1, the branches at the pruned center are known. If the pruned center is a cutpoint, G is reconstructed by identifying the roots of the branches with each other. If the pruned center is a complete graph, then for every branch we can identify the root of the branch with any vertex in the complete graph, but so that no vertex in the pruned center is identified with more than one root. Then G is reconstructed. Lemma 4.4. Let G be a graph which satisfies Condition A, and suppose that the automorphism group of the pruned center of G is trivial. Then G is reconstructible. Proof. Again the branches at the pruned center are known by Lemma 4.1. Thus we are able to determine to which orbit of the pruned center each of the branches is to be connected. Since the automorphism group of the pruned center is trivial, all the orbits have order one. Then, for every branch, there is only one vertex in the pruned center to which the root can be connected. Hence G is reconstructible. Lemma 4.5. Let G be a bipartite graph which satisfies Condition A and has the property that whenever v is a pendant vertex, Gv is orientable. If the pruned center of G is a complete bipartite graph, G is reconstructible. Proof. Let D ′ be the subdeck of DG consisting of the cards where the missing vertex is pendant. Consider G as a bicoloured graph. Since the cards in D ′ are orientable, we can colour the vertices in each of the cards in D ′ correctly. Then we can require that two branches are equivalent if and only if they are equivalent in the usual way and their roots have the same colour. Lemma 4.2 still applies. Thus we not only know the structure of the branches, but also to which colour class the root of every branch belongs. Then we can reconstruct G in the same manner as in Lemma 4.3. Reconstruction of separable graphs have been studied by, among others, [Bon69], [GH69] and [KP81]. In all these cases the emphasis has been on the pruned graph and ULAM’S RECONSTRUCTION PROBLEM FOR GRAPHS 95 the pruned center and their automorphism groups. What makes the pruned center convenient is the property that it can be identified on any card where a pendant vertex has been removed. However, this property can be shared by other subgraphs of G. Let F be a block of G so that σG (F ) = 1. (Recall from page 9 that σG (F ) is the number of subgraphs of G isomorphic to F , and that the value of σG (F ) is reconstructible.) Then F can be found on any card Gv where v 6∈ F . Thus we can let P be the property that v 6∈ F and that Gv is connected. Suppose F is a cutset. Every branch at F clearly contains a vertex which is not a cutpoint, so Lemma 4.2 applies, and so the branches at F are determined. Thus if F happens to be a complete graph or a graph with trivial automorphism group, G is reconstructible by the same reasoning as in the proofs of Lemma 4.3 and 4.4 respectively. Even if F is not a cutset, we can use this technique. Let G be a graph with a subgraph F , such that ν(F ) = ν(G) − 2, σG (F ) = 1 and suppose that F has a trivial automorphism group. Let v and w be the two vertices in G \ F . We can find the two cards Gv and Gw since they are the only one that contain a subgraph isomorphic to F . In the card Gv we see how w is attached to F , and in the card Gw we see how v is attached to F . Then we can reconstruct G by starting with F and attaching v and w. Since the automorphism group of F is trivial, there is no ambiguity as to how to attach v and w to F . Then all the edges in G are accounted for, except in the case that there is an edge between v and w. But since we know how many edges there are in G, we can determine whether v and w are adjacent, and if necessary add such an edge to our new graph. Then G is reconstructed. It is also possible that there is a single vertex that can be identified in some cards. Suppose that G contains a cutpoint v with degree d, so that G contains no other vertex of degree d and no vertices with degrees d − 1 or d + 1. Then whenever w 6= v, v is the only vertex in Gw with degree d. If we let F = {v}, we see that all the conditions in Lemma 4.2 are satisfied, so that the branches at v are known. Then we can reconstruct G by identifying the roots of the branches with each other. Suppose instead that v is the only vertex of degree d, and that there are no vertices in G with degree d + 1, but that there are vertices with degree d − 1. Whenever w is a vertex with d(v, w) ≥ 2, then v is the only vertex in Gw with degree d. Then we let F = {v} and we let w satisfy P if d(v, w) ≥ 2 and w is not a cut-point. Clearly the assumption that d(v, w) ≥ 2 is the same as the assumption that deg(w) 6= d and d 6∈ δw , so P is decidable. Thus if there is a card Gw , such that d(v, w) ≥ 2, and such that at least two branches at v in the card contain vertices that are not neighbours of v, then G is reconstructible by Lemma 4.2. A vertex v is a k-cutpoint if Gv consists of exactly k components. 96 TARAL GULDAHL SEIERSTAD Lemma 4.6. Suppose that G contains a cutpoint v so that for every branch B at v, ν(G) . 2 ν(B) ≤ Then G is reconstructible. Proof. If z is a vertex in G, let P be the property that z is not a cutpoint and let F = {v}. If we are able to identify v on all connected cards in DG , it follows from Lemma 4.2 that G is reconstructible. Let B1 , . . . , Bk be the branches at v and let C1 , . . . , Ck be the components in Gv . Suppose that there is a card Gw in which we are not able to identify v. All but one of the branches at v remain intact in Gw , so if v is a k-cutpoint in G, v is a k′ -cutpoint in Gw with k′ ≥ k − 1. Thus since we are not able to identify v, there has to be an l-cutpoint x 6= v in Gw with l ≥ k − 1. Suppose that Gw − x ≃ D1 ∪ . . . ∪ Dl . k − 1 of the branches of v are unchanged, so we can assume that C1 ≃ D1 , C2 ≃ D2 , . . . , Ck−1 ≃ Dk−1 and Ck − w ≃ ∪li=k Di . (If l = k − 1 this means that Ck − w is the empty graph so that Ck is an isolated vertex; that is v has a neighbour of degree one.) Since x 6= v, v is in Dj for some j. There are two possibilities: j < k and j ≥ k. First suppose that j < k. We can assume without loss of generality that v ∈ D1 . This means that all branches of v, except for one, are part of D1 . Since C1 ≃ D1 , we cannot have C1 ⊂ D1 ; therefore C2 , C3 , . . . , Ck ⊂ D1 . Here ⊂ stands for proper subset. Let bi = ν(Bi ), ci = ν(Ci ) and di = ν(Di ). We see that for all i, bi = ci + 1 and that ν(G) = 1 + k X ci . i=1 Since Ci ⊂ D1 for i > 1 and c1 = d1 , we get k X ci ≤ c1 . i=2 Hence b1 = c1 + 1 k X ci + 1 ≥ i=2 = k X ci + 1 − c1 i=1 = ν(G) + 1 − b1 , so that b1 ≥ which is a contradiction. ν(G) + 1 , 2 ULAM’S RECONSTRUCTION PROBLEM FOR GRAPHS 97 The other case is that v ∈ Dj for j ≥ k. We assume without loss of generality that j = k. This case is similar to the other. Since Ck − w ≃ ∪li=k Di , ck > dk , so Ck 6⊂ Dk . We also see that ck = ∪li=k di + 1 ≥ dk + 1. Hence Ci ⊂ Dk for 1 ≤ i ≤ k and so bk = ck + 1 ≥ dk + 2 k−1 X ci + 2 ≥ i=1 = k X ci + 2 − ck i=1 = ν(G) + 2 − bk . Hence bk ≥ which contradicts the assumption. ν(G) + 2 , 2 98 TARAL GULDAHL SEIERSTAD 5. Summary In this thesis we proved that Bm,n is reconstructible if m ≤ 5, and that many graphs in B6,n are reconstructible. A natural continuation of this work would therefore be to finish the case B6,n , and perhaps even continue to B7,n . However the remaining cases in B6,n are those that are most complicated, so it is likely that the proof will be rather lengthy, with many subcases. Continuing in this manner with B7,n , B8,n and so on, is possible, but is of limited interest unless it leads to discoveries regarding more general cases. We have also studied the problem of semiorientating and orientating the cards of a bipartite graph. If we could orientate all the cards of any bipartite graph, then the problem of reconstructing bipartite graphs would be reduced the the problem of reconstructing bicoloured graphs. Therefore any progress in this question would be interesting. The main difficulty is to semiorientate and orientate disconnected cards. One idea is to try to semiorientate these cards by using an approach similar to the one in Lemma 4.6. Suppose that v is a cutpoint. In every branch at v there is at least one vertex which is not a cutpoint, which leads to a connected card. In many cases connected cards are orientable, and if v can be identified in one orientable card, then we can see on this card to which colour class v belongs. Then Gv is semiorientable. Another idea is to try to reduce the problem by proving that if a certain class of bipartite graphs is reconstructible, then all bipartite graphs are reconstructible. This has been done in the general case by [Yon88]. He proved that if all 2-connected graphs are reconstructible, then all graphs are reconstructible. His proof is based on the observation that G is reconstructible if and only if the complement of G is reconstructible. In particular he proved that if G is a graph such that both G and Gc are separable, then G is reconstructible. It could be possible to use a similar approach using the bipartite complement. Unfortunately it appears that if both G and Gb are separable, then G can be among the bipartite graphs that are most difficult to reconstruct. But that is not to say there are not other classes of graphs for which this approach can be useful. At the time of writing the Reconstruction conjecture has been unsolved for 61 years, and it seems unlikely that it will be solved in the near future, even in the case of bipartite graphs. Most likely this problem will provide research opportunities for years to come. ULAM’S RECONSTRUCTION PROBLEM FOR GRAPHS 99 References [ADH98] Armen S. Asratian, Tristan M.J. Denley, and Roland Häggkvist. Bipartite graphs and their applications. Cambridge University Press, 1998. [Ase88] Z. M. Aselderov. Vosstanovlenie grafa po ego podgrafam (vosstanovlenie grafa po ego podgrafam). Akademiia Nauk Ukrainskoi SSR, 1988. [BH77] J.A. Bondy and R.L. Hemminger. Graph reconstruction - a survey. J. Graph Theory, 1:227–268, 1977. [Bon69] J.A. Bondy. On Ulam’s conjecture for separable graphs. Pac. J. Math., 31:281–288, 1969. [GH69] D.L. Greenwell and R.L. Hemminger. Reconstructing graphs. In Many Facets of Graph Theory, Proc. Conf. Western Michigan Univ., Kalamazoo/Mi. 1968, 91-114 . 1969. [GM69] D. Geller and B. Manvel. Reconstruction of cacti. Can. J. Math., 21:1354–1360, 1969. [Har64] F. Harary. On the reconstruction of a graph from a collection of subgraphs. In Theory of Graphs and its Applications, pages 47–52, Prague, 1964. Czechoslovak Academy of Sciences. [Har69] F. Harary. The four color conjecture and other graphical diseases. In Proof techniques in Graph Theory, pages 1–9. Academic Press, New York, 1969. [Hyy68] S. Hyyrö. Einige Bemerkungen über Rekonstruktion des Graphen aus seinen Untergraphen. Ann. Univ. Turku., Ser. A I 118, No.7, 1968. [Kel57] Paul J. Kelly. A congruence theorem for trees. Pac. J. Math., 7:961–968, 1957. [KP81] V. Krishnamoorthy and K. R. Parthasarathy. On the reconstruction conjecture for separable graphs. J. Aust. Math. Soc., Ser. A, 30:307–320, 1981. [Lex98] Trine Lexander. Kantrekonstruksjon av grafer. Master’s thesis, Matematisk institutt, Universitetet i Bergen, 1998. [Lol83] Joar Loland. Rekonstruksjonsproblemet for grafer. Master’s thesis, Matematisk institutt, Universitetet i Bergen, 1983. [McK97] Brendan D. McKay. Small graphs are reconstructible. Australas. J. Comb., 15:123–126, 1997. [MW78] Bennet Manvel and Joseph M. Weinstein. Nearly Acyclic Graphs are Reconstructible. J. Graph Theory, 2:25–39, 1978. [Sal83] Norma Zagaglia Salvi. Reconstructing some invariants of a bipartite graph. J. Comb. Inf. Syst. Sci., 8:5–9, 1983. [Sto88] Paul K. Stockmeyer. Tilting at windmills or my quest for non-reconstructable graphs. Congr. Numerantium 63, 1988. [Tjø91] Erik Naze Tjøtta. Reconstructing graphs with big diameters. Master’s thesis, Matematisk institutt, Universitetet i Bergen, 1991. [Wei75] J. M. Weinstein. Reconstructing colored graphs. Pacific J. Math., 57:307–314, 1975. [Wil96] Robin J. Wilson. Introduction to Graph Theory. Addison Weasley Longman Limited, 1996. [Yon88] Yang Yongzhi. The reconstruction conjecture is true if all 2-connected graphs are reconstructible. J. Graph Theory, 12(2):237–243, 1988. Index expanding graph, 16, 67 E(G), 8 Gb , 23 H, 32 Km,n , 12 NG (v), 9 V (G), 8 B, 12 Bm,n , 12 DG , 8 DG (Vi ), 15 ∆(G), 9 O, 19 Ξ, 69 deg(v), 9 δvk , 10 ν(G), 8 σG (F ), 9 v σG (F ), 9 ε(G), 8 ξ, 69 d(v, w), 15 k-cutpoint, 96 k-expanding, 16 forest, 10 fuse, 15 Hall’s condition, 67 Kelly’s corollary, 9 Kelly’s lemma, 9 neighbour degree sequence, 10 neighbourhood, 9 ordered degree distribution, 26 orientable, 15 orientation, 19 pendant vertex, 10 pruned center, 92 pruned graph, 92 recognizable, 8 reconstructible, 8 reconstruction, 8 root, 92 semiorientable, 15, 53 separable, 10, 92 star, 14 symmetric bipartite graph, 12 anti-clique, 16 autocenter, 92 balanced bipartite graph, 12 biadjacency matrix, 51 bicoloured graph, 50 bipartite complement, 50 bipartite graph, 12 bipartition, 12 block, 92 block-cutpoint graph, 92 bomb, 15 branch, 92 tree, 10 valid orientation, 19 weakly reconstructible, 8 cactus, 10 card, 8 clique, 16 colour class, 12 coloured graph, 50 complement, 50 complete bipartite graph, 12 complete graph, 16 cutpoint, 92 decidable function, 17 deck, 8 degree, 9 degree distribution, 26 degree sequence, 10 degree set, 26 distance, 15 100