let G1, G2 be _Graph; :: thesis: ( G2 is G1 -isomorphic implies G1 .allSpanningForests() ,G2 .allSpanningForests() are_isomorphic )
assume G2 is G1 -isomorphic ; :: thesis: G1 .allSpanningForests() ,G2 .allSpanningForests() are_isomorphic
then consider F being PGraphMapping of G1,G2 such that
A1: F is isomorphism by GLIB_010:def 23;
set f = (SG2SGFunc F) | (G1 .allSpanningForests());
A2: dom ((SG2SGFunc F) | (G1 .allSpanningForests())) = G1 .allSpanningForests() by FUNCT_2:def 1;
A3: rng ((SG2SGFunc F) | (G1 .allSpanningForests())) = G2 .allSpanningForests() by A1, Th114;
SG2SGFunc F is one-to-one by A1, Th31;
then A4: (SG2SGFunc F) | (G1 .allSpanningForests()) is one-to-one by FUNCT_1:52;
now :: thesis: for G being _Graph st G in G1 .allSpanningForests() holds
((SG2SGFunc F) | (G1 .allSpanningForests())) . G is b1 -isomorphic _Graph
end;
hence G1 .allSpanningForests() ,G2 .allSpanningForests() are_isomorphic by A2, A3, A4, GLIB_015:def 13; :: thesis: verum