let G1, G2 be _Graph; for F being PGraphMapping of G1,G2 st F is weak_SG-embedding & F is onto holds
G2 .allSpanningForests() = rng ((SG2SGFunc F) | (G1 .allSpanningForests()))
let F be PGraphMapping of G1,G2; ( F is weak_SG-embedding & F is onto implies G2 .allSpanningForests() = rng ((SG2SGFunc F) | (G1 .allSpanningForests())) )
set f = SG2SGFunc F;
assume A1:
( F is weak_SG-embedding & F is onto )
; G2 .allSpanningForests() = rng ((SG2SGFunc F) | (G1 .allSpanningForests()))
then
rng (F _V) = the_Vertices_of G2
by GLIB_010:def 12;
then A2:
rng ((SG2SGFunc F) | (G1 .allSpanningForests())) c= G2 .allSpanningForests()
by A1, Th113;
dom (F _V) = the_Vertices_of G1
by A1, GLIB_010:def 11;
then
F _V is total
by PARTFUN1:def 2;
then
( G2 .allForests() c= rng ((SG2SGFunc F) | (G1 .allForests())) & G2 .allSpanningSG() c= rng ((SG2SGFunc F) | (G1 .allSpanningSG())) )
by A1, Th68, Th91;
then
(G2 .allForests()) /\ (G2 .allSpanningSG()) c= (rng ((SG2SGFunc F) | (G1 .allForests()))) /\ (rng ((SG2SGFunc F) | (G1 .allSpanningSG())))
by XBOOLE_1:27;
then A3:
G2 .allSpanningForests() c= (rng ((SG2SGFunc F) | (G1 .allForests()))) /\ (rng ((SG2SGFunc F) | (G1 .allSpanningSG())))
by Th103;
A4:
rng ((SG2SGFunc F) | (G1 .allForests())) = (SG2SGFunc F) .: (G1 .allForests())
by RELAT_1:115;
A5:
rng ((SG2SGFunc F) | (G1 .allSpanningSG())) = (SG2SGFunc F) .: (G1 .allSpanningSG())
by RELAT_1:115;
A6:
SG2SGFunc F is one-to-one
by A1, Th31;
(rng ((SG2SGFunc F) | (G1 .allForests()))) /\ (rng ((SG2SGFunc F) | (G1 .allSpanningSG()))) =
(SG2SGFunc F) .: ((G1 .allForests()) /\ (G1 .allSpanningSG()))
by A4, A5, A6, FUNCT_1:62
.=
rng ((SG2SGFunc F) | ((G1 .allForests()) /\ (G1 .allSpanningSG())))
by RELAT_1:115
.=
rng ((SG2SGFunc F) | (G1 .allSpanningForests()))
by Th103
;
hence
G2 .allSpanningForests() = rng ((SG2SGFunc F) | (G1 .allSpanningForests()))
by A2, A3, XBOOLE_0:def 10; verum