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

theorem
  the_Edges_of G = G.loops() iff G.allSpanningForests() is edgeless
proof
  hereby
    assume the_Edges_of G = G.loops();
    then A1: G.allForests() is edgeless by Th99;
    G.allSpanningForests() = G.allSpanningSG() /\ G.allForests() by Th103;
    hence G.allSpanningForests() is edgeless by A1;
  end;
  assume A2: G.allSpanningForests() is edgeless;
  now
    let x be object;
    assume A3: x in the_Edges_of G;
    then reconsider G9 = G as non edgeless _Graph;
    reconsider e = x as Edge of G9 by A3;
    set H9 = the plain addVertices of createGraph(e), the_Vertices_of G;
    assume not x in G.loops();
    then H9 in G.allSpanningForests() by Th107;
    hence contradiction by A2;
  end;
  then the_Edges_of G c= G.loops() by TARSKI:def 3;
  hence thesis by XBOOLE_0:def 10;
end;
