reserve G, G1, G2 for _Graph, H for Subgraph of G;

theorem
  G is loopless iff G is GraphUnion of G.allForests()
proof
  hereby
    set H = the removeLoops of G;
    assume G is loopless;
    then A1: G == H by GLIB_009:58;
    H is GraphUnion of G.allForests() by Th97;
    hence G is GraphUnion of G.allForests() by A1, GLIB_014:22;
  end;
  assume G is GraphUnion of G.allForests();
  hence G is loopless;
end;
