let G1 be _Graph; :: thesis: for G3 being Subgraph of G1
for v, e, w being object
for G2 being addEdge of G3,v,e,w st e DJoins v,w,G1 holds
G2 is Subgraph of G1

let G3 be Subgraph of G1; :: thesis: for v, e, w being object
for G2 being addEdge of G3,v,e,w st e DJoins v,w,G1 holds
G2 is Subgraph of G1

let v, e, w be object ; :: thesis: for G2 being addEdge of G3,v,e,w st e DJoins v,w,G1 holds
G2 is Subgraph of G1

let G2 be addEdge of G3,v,e,w; :: thesis: ( e DJoins v,w,G1 implies G2 is Subgraph of G1 )
assume A1: e DJoins v,w,G1 ; :: thesis: G2 is Subgraph of G1
per cases ( ( v in the_Vertices_of G3 & w in the_Vertices_of G3 & not e in the_Edges_of G3 ) or not v in the_Vertices_of G3 or not w in the_Vertices_of G3 or e in the_Edges_of G3 ) ;
suppose A2: ( v in the_Vertices_of G3 & w in the_Vertices_of G3 & not e in the_Edges_of G3 ) ; :: thesis: G2 is Subgraph of G1
now :: thesis: ( the_Vertices_of G2 c= the_Vertices_of G1 & the_Edges_of G2 c= the_Edges_of G1 & ( for e0 being set st e0 in the_Edges_of G2 holds
( (the_Source_of G2) . e0 = (the_Source_of G1) . e0 & (the_Target_of G2) . e0 = (the_Target_of G1) . e0 ) ) )
the_Vertices_of G2 = the_Vertices_of G3 by A2, GLIB_006:def 11;
hence the_Vertices_of G2 c= the_Vertices_of G1 ; :: thesis: ( the_Edges_of G2 c= the_Edges_of G1 & ( for e0 being set st e0 in the_Edges_of G2 holds
( (the_Source_of G2) . b2 = (the_Source_of G1) . b2 & (the_Target_of G2) . b2 = (the_Target_of G1) . b2 ) ) )

A3: {e} c= the_Edges_of G1 by A1, GLIB_000:def 14, ZFMISC_1:31;
A4: (the_Edges_of G3) \/ {e} c= the_Edges_of G1 by A3, XBOOLE_1:8;
A5: the_Edges_of G2 = (the_Edges_of G3) \/ {e} by A2, GLIB_006:def 11;
hence the_Edges_of G2 c= the_Edges_of G1 by A4; :: thesis: for e0 being set st e0 in the_Edges_of G2 holds
( (the_Source_of G2) . b2 = (the_Source_of G1) . b2 & (the_Target_of G2) . b2 = (the_Target_of G1) . b2 )

let e0 be set ; :: thesis: ( e0 in the_Edges_of G2 implies ( (the_Source_of G2) . b1 = (the_Source_of G1) . b1 & (the_Target_of G2) . b1 = (the_Target_of G1) . b1 ) )
assume e0 in the_Edges_of G2 ; :: thesis: ( (the_Source_of G2) . b1 = (the_Source_of G1) . b1 & (the_Target_of G2) . b1 = (the_Target_of G1) . b1 )
per cases then ( e0 in the_Edges_of G3 or e0 = e ) by A5, ZFMISC_1:136;
end;
end;
hence G2 is Subgraph of G1 by GLIB_000:def 32; :: thesis: verum
end;
suppose ( not v in the_Vertices_of G3 or not w in the_Vertices_of G3 or e in the_Edges_of G3 ) ; :: thesis: G2 is Subgraph of G1
end;
end;