An efficient dominating set (or perfect code) in a graph is a set of vertices the closed neighborhoods of which partition the graph's vertex set. We introduce graphs that are hereditary efficiently dominatable in that sense that every induced subgraph of the graph contains an efficient dominating set. We prove a decomposition theorem for (bull, fork, C 4 )-free graphs, based on which we characterize, in terms of forbidden induced subgraphs, the class of hereditary efficiently dominatable graphs. We also give a decomposition theorem for hereditary efficiently dominatable graphs and examine some algorithmic aspects of such graphs. In particular, we give a polynomial time algorithm for finding an efficient dominating set (if one exists) in a class of graphs properly containing the class of hereditary efficiently dominatable graphs by reducing the problem to the maximum weight independent set problem in claw-free graphs. C 2012 Wiley Periodicals, Inc. Claim 6. If k ≥ 5 then P has no end neighbors.Proof. Let k ≥ 5, and suppose for a contradiction that there exists a vertexSince G has no duplicated vertices, we may assume that there exists a neighbor of v, say w, that is not adjacent to v 1 . Let P = (v, v 2 , . . . , v k ). Then P is a longest induced path of G, and we can apply Claims 4 and 5 to w and P to conclude that N(w) ∩ V (P ) = {v, v 2 }. However, this implies thatcontrary to Claim 4. Claim 7. If k ≥ 5, no vertex dominates P. Journal of Graph Theory Proof. Otherwise, G would contain a semiraft with parts {v 2 , v + 123 } and {v − 234 , v + 34 }. By symmetry, we also obtain: Claim 22. At least one of the sets V + 234 , V − 123 , V + 12 is empty. Claim 23. At least one of the sets V 1234 , V + 123 , V + 34 is empty. Proof. Otherwise, G would contain a semiraft with parts {v + 123 , v 1234 } and {v 4 , v + 34 }. Claim 24. V + 123 = ∅ if and only if V + 34 = ∅. Proof. If V + 123 = ∅ and V + 34 = ∅, then N[v + 34 ] = N[v 4 ], contrary to the fact that G has no duplicated vertices. Conversely, if V + 34 = ∅ and V + 123 = ∅, then N[v + 123 ] = N[v 2 ], which is again a contradiction. HEREDITARY EFFICIENTLY DOMINATABLE GRAPHS 413 By symmetry, we also obtain: Claim 25. V + 234 = ∅ if and only if V + 12 = ∅. Claim 26. V − 123 = ∅ if and only if V − 234 = ∅. Proof. If V − 123 = ∅ and V − 234 = ∅, then N[v − 234 ] = N[v 3 ], contrary to the fact that G has no duplicated vertices. Conversely, if V − 234 = ∅ and V − 123 = ∅, then N[v − 123 ] = N[v 2 ], which is again a contradiction. Claim 27. At least one of the sets V 1234 and V − 234 is empty. Proof. If both sets V 1234 and V − 234 were nonemtpy then G would contain a semiraft with parts {v 2 , v 1234 } ∪ V + 123 and {v − 234 , v 4 } ∪ V 34 + (independently of whether the sets V + 123 and V + 34 are both empty or both nonempty). By symmetry, we also obtain: Claim 28. At least one of the sets V 1234 and V − 123 is empty. Claim 29. If V 1234 = ∅ then V − 34 = ∅. Proof. If V 1234 = ∅ and V − 34 = ∅ then N[v 4 ] = H[v − 34 ], a contradiction with the fact that G has no dupl...