let G2 be _Graph; :: thesis: for v, e being object
for w being Vertex of G2
for G1 being addAdjVertex of G2,v,e,w st not e in the_Edges_of G2 & not v in the_Vertices_of G2 holds
G1 .componentSet() = ((G2 .componentSet()) \ {(G2 .reachableFrom w)}) \/ {((G2 .reachableFrom w) \/ {v})}

let v, e be object ; :: thesis: for w being Vertex of G2
for G1 being addAdjVertex of G2,v,e,w st not e in the_Edges_of G2 & not v in the_Vertices_of G2 holds
G1 .componentSet() = ((G2 .componentSet()) \ {(G2 .reachableFrom w)}) \/ {((G2 .reachableFrom w) \/ {v})}

let w be Vertex of G2; :: thesis: for G1 being addAdjVertex of G2,v,e,w st not e in the_Edges_of G2 & not v in the_Vertices_of G2 holds
G1 .componentSet() = ((G2 .componentSet()) \ {(G2 .reachableFrom w)}) \/ {((G2 .reachableFrom w) \/ {v})}

let G1 be addAdjVertex of G2,v,e,w; :: thesis: ( not e in the_Edges_of G2 & not v in the_Vertices_of G2 implies G1 .componentSet() = ((G2 .componentSet()) \ {(G2 .reachableFrom w)}) \/ {((G2 .reachableFrom w) \/ {v})} )
set M1 = (G2 .componentSet()) \ {(G2 .reachableFrom w)};
set M2 = {((G2 .reachableFrom w) \/ {v})};
assume A1: ( not e in the_Edges_of G2 & not v in the_Vertices_of G2 ) ; :: thesis: G1 .componentSet() = ((G2 .componentSet()) \ {(G2 .reachableFrom w)}) \/ {((G2 .reachableFrom w) \/ {v})}
then A2: the_Vertices_of G1 = (the_Vertices_of G2) \/ {v} by GLIB_006:def 12;
then reconsider v9 = w as Vertex of G1 by XBOOLE_0:def 3;
e Joins v,w,G1 by A1, GLIB_006:132;
then A3: e Joins w,v,G1 by GLIB_000:14;
now :: thesis: for x being object holds
( ( not x in G1 .componentSet() or x in (G2 .componentSet()) \ {(G2 .reachableFrom w)} or x in {((G2 .reachableFrom w) \/ {v})} ) & ( ( x in (G2 .componentSet()) \ {(G2 .reachableFrom w)} or x in {((G2 .reachableFrom w) \/ {v})} ) implies x in G1 .componentSet() ) )
let x be object ; :: thesis: ( ( not x in G1 .componentSet() or x in (G2 .componentSet()) \ {(G2 .reachableFrom w)} or x in {((G2 .reachableFrom w) \/ {v})} ) & ( ( x in (G2 .componentSet()) \ {(G2 .reachableFrom w)} or x in {((G2 .reachableFrom w) \/ {v})} ) implies b1 in G1 .componentSet() ) )
hereby :: thesis: ( ( x in (G2 .componentSet()) \ {(G2 .reachableFrom w)} or x in {((G2 .reachableFrom w) \/ {v})} ) implies b1 in G1 .componentSet() )
assume x in G1 .componentSet() ; :: thesis: ( x in (G2 .componentSet()) \ {(G2 .reachableFrom w)} or x in {((G2 .reachableFrom w) \/ {v})} )
then consider v1 being Vertex of G1 such that
A4: x = G1 .reachableFrom v1 by GLIB_002:def 8;
per cases ( v1 <> v or v1 = v ) ;
suppose v1 <> v ; :: thesis: ( x in (G2 .componentSet()) \ {(G2 .reachableFrom w)} or x in {((G2 .reachableFrom w) \/ {v})} )
end;
end;
end;
assume ( x in (G2 .componentSet()) \ {(G2 .reachableFrom w)} or x in {((G2 .reachableFrom w) \/ {v})} ) ; :: thesis: b1 in G1 .componentSet()
per cases then ( x in (G2 .componentSet()) \ {(G2 .reachableFrom w)} or x in {((G2 .reachableFrom w) \/ {v})} ) ;
end;
end;
hence G1 .componentSet() = ((G2 .componentSet()) \ {(G2 .reachableFrom w)}) \/ {((G2 .reachableFrom w) \/ {v})} by XBOOLE_0:def 3; :: thesis: verum