let G1, G2 be _Graph; :: thesis: for G being GraphUnion of G1,G2 st G1 tolerates G2 & the_Vertices_of G1 misses the_Vertices_of G2 holds
for W being Walk of G holds
( W is Walk of G1 or W is Walk of G2 )

let G be GraphUnion of G1,G2; :: thesis: ( G1 tolerates G2 & the_Vertices_of G1 misses the_Vertices_of G2 implies for W being Walk of G holds
( W is Walk of G1 or W is Walk of G2 ) )

assume A1: ( G1 tolerates G2 & the_Vertices_of G1 misses the_Vertices_of G2 ) ; :: thesis: for W being Walk of G holds
( W is Walk of G1 or W is Walk of G2 )

then A2: G is Supergraph of G2 by GLIB_014:26;
then A3: ( G1 is Subgraph of G & G2 is Subgraph of G ) by GLIB_006:57;
A4: the_Vertices_of G = (the_Vertices_of G1) \/ (the_Vertices_of G2) by A1, GLIB_014:25;
A5: the_Edges_of G = (the_Edges_of G1) \/ (the_Edges_of G2) by A1, GLIB_014:25;
defpred S1[ Walk of G] means ( $1 is Walk of G1 or $1 is Walk of G2 );
A6: for W being trivial Walk of G holds S1[W]
proof end;
A8: for W being Walk of G
for e being object st e in (W .last()) .edgesInOut() & S1[W] holds
S1[W .addEdge e]
proof
let W be Walk of G; :: thesis: for e being object st e in (W .last()) .edgesInOut() & S1[W] holds
S1[W .addEdge e]

let e be object ; :: thesis: ( e in (W .last()) .edgesInOut() & S1[W] implies S1[W .addEdge e] )
assume e in (W .last()) .edgesInOut() ; :: thesis: ( not S1[W] or S1[W .addEdge e] )
then consider w being Vertex of G such that
A9: e Joins W .last() ,w,G by GLIB_000:64;
assume S1[W] ; :: thesis: S1[W .addEdge e]
per cases then ( W is Walk of G1 or W is Walk of G2 ) ;
end;
end;
for W being Walk of G holds S1[W] from GLIB_009:sch 1(A6, A8);
hence for W being Walk of G holds
( W is Walk of G1 or W is Walk of G2 ) ; :: thesis: verum