let G1 be _Graph; :: thesis: for G2 being loopless _Graph st G2 .allSpanningForests() c= G1 .allSpanningForests() holds
G2 is spanning Subgraph of G1

let G2 be loopless _Graph; :: thesis: ( G2 .allSpanningForests() c= G1 .allSpanningForests() implies G2 is spanning Subgraph of G1 )
assume A1: G2 .allSpanningForests() c= G1 .allSpanningForests() ; :: thesis: G2 is spanning Subgraph of G1
set H0 = the spanning acyclic plain Subgraph of G2;
the spanning acyclic plain Subgraph of G2 in G2 .allSpanningForests() by Th102;
then the spanning acyclic plain Subgraph of G2 is spanning Subgraph of G1 by A1, Th102;
then A2: the_Vertices_of G1 = the_Vertices_of the spanning acyclic plain Subgraph of G2 by GLIB_000:def 33
.= the_Vertices_of G2 by GLIB_000:def 33 ;
now :: thesis: for x being object st x in the_Edges_of G2 holds
x in the_Edges_of G1
end;
then A4: the_Edges_of G2 c= the_Edges_of G1 by TARSKI:def 3;
now :: thesis: for x being set st x in the_Edges_of G2 holds
( (the_Source_of G2) . x = (the_Source_of G1) . x & (the_Target_of G2) . x = (the_Target_of G1) . x )
end;
hence G2 is spanning Subgraph of G1 by A2, A4, GLIB_000:def 32, GLIB_000:def 33; :: thesis: verum