let G be _Graph; :: thesis: ( the_Edges_of G = G .loops() iff for H being removeLoops of G holds G .allSpanningForests() = {(H | _GraphSelectors)} )
hereby :: thesis: ( ( for H being removeLoops of G holds G .allSpanningForests() = {(H | _GraphSelectors)} ) implies the_Edges_of G = G .loops() )
assume A1: the_Edges_of G = G .loops() ; :: thesis: for H being removeLoops of G holds G .allSpanningForests() = {(H | _GraphSelectors)}
let H be removeLoops of G; :: thesis: G .allSpanningForests() = {(H | _GraphSelectors)}
A2: H is edgeless by A1;
now :: thesis: for x being object holds
( ( x in G .allSpanningForests() implies x = H | _GraphSelectors ) & ( x = H | _GraphSelectors implies x in G .allSpanningForests() ) )
let x be object ; :: thesis: ( ( x in G .allSpanningForests() implies x = H | _GraphSelectors ) & ( x = H | _GraphSelectors implies x in G .allSpanningForests() ) )
hereby :: thesis: ( x = H | _GraphSelectors implies x in G .allSpanningForests() )
assume x in G .allSpanningForests() ; :: thesis: x = H | _GraphSelectors
then reconsider H9 = x as spanning acyclic plain Subgraph of G by Th102;
now :: thesis: ( the_Vertices_of H9 = the_Vertices_of H & the_Edges_of H9 = the_Edges_of H & the_Source_of H9 = the_Source_of H & the_Target_of H9 = the_Target_of H )end;
then A7: H9 == H by GLIB_000:def 34;
H == H | _GraphSelectors by GLIB_000:128;
hence x = H | _GraphSelectors by A7, GLIB_000:85, GLIB_009:44; :: thesis: verum
end;
assume x = H | _GraphSelectors ; :: thesis: x in G .allSpanningForests()
hence x in G .allSpanningForests() by A2, Th104; :: thesis: verum
end;
hence G .allSpanningForests() = {(H | _GraphSelectors)} by TARSKI:def 1; :: thesis: verum
end;
assume A8: for H being removeLoops of G holds G .allSpanningForests() = {(H | _GraphSelectors)} ; :: thesis: the_Edges_of G = G .loops()
now :: thesis: for e being object st e in the_Edges_of G holds
e in G .loops()
end;
then the_Edges_of G c= G .loops() by TARSKI:def 3;
hence the_Edges_of G = G .loops() by XBOOLE_0:def 10; :: thesis: verum