let G1 be non _trivial connected _Graph; :: thesis: for G2 being non spanning Subgraph of G1 ex v, e, w being object st
( v <> w & e DJoins v,w,G1 & not e in the_Edges_of G2 & ( for G3 being addAdjVertex of G2,v,e,w holds G3 is Subgraph of G1 ) & ( ( v in the_Vertices_of G2 & not w in the_Vertices_of G2 ) or ( not v in the_Vertices_of G2 & w in the_Vertices_of G2 ) ) )

let G2 be non spanning Subgraph of G1; :: thesis: ex v, e, w being object st
( v <> w & e DJoins v,w,G1 & not e in the_Edges_of G2 & ( for G3 being addAdjVertex of G2,v,e,w holds G3 is Subgraph of G1 ) & ( ( v in the_Vertices_of G2 & not w in the_Vertices_of G2 ) or ( not v in the_Vertices_of G2 & w in the_Vertices_of G2 ) ) )

set S = the_Vertices_of G2;
A1: the_Vertices_of G2 is non empty proper Subset of (the_Vertices_of G1) by GLIB_000:def 33, SUBSET_1:def 6;
set v0 = the Element of G1 .AdjacentSet (the_Vertices_of G2);
reconsider v0 = the Element of G1 .AdjacentSet (the_Vertices_of G2) as Vertex of G1 by A1, TARSKI:def 3;
consider w0 being Vertex of G1 such that
A2: ( w0 in the_Vertices_of G2 & v0,w0 are_adjacent ) by A1, CHORD:50;
consider e being object such that
A3: e Joins v0,w0,G1 by A2, CHORD:def 3;
set v = (the_Source_of G1) . e;
set w = (the_Target_of G1) . e;
take (the_Source_of G1) . e ; :: thesis: ex e, w being object st
( (the_Source_of G1) . e <> w & e DJoins (the_Source_of G1) . e,w,G1 & not e in the_Edges_of G2 & ( for G3 being addAdjVertex of G2,(the_Source_of G1) . e,e,w holds G3 is Subgraph of G1 ) & ( ( (the_Source_of G1) . e in the_Vertices_of G2 & not w in the_Vertices_of G2 ) or ( not (the_Source_of G1) . e in the_Vertices_of G2 & w in the_Vertices_of G2 ) ) )

take e ; :: thesis: ex w being object st
( (the_Source_of G1) . e <> w & e DJoins (the_Source_of G1) . e,w,G1 & not e in the_Edges_of G2 & ( for G3 being addAdjVertex of G2,(the_Source_of G1) . e,e,w holds G3 is Subgraph of G1 ) & ( ( (the_Source_of G1) . e in the_Vertices_of G2 & not w in the_Vertices_of G2 ) or ( not (the_Source_of G1) . e in the_Vertices_of G2 & w in the_Vertices_of G2 ) ) )

take (the_Target_of G1) . e ; :: thesis: ( (the_Source_of G1) . e <> (the_Target_of G1) . e & e DJoins (the_Source_of G1) . e,(the_Target_of G1) . e,G1 & not e in the_Edges_of G2 & ( for G3 being addAdjVertex of G2,(the_Source_of G1) . e,e,(the_Target_of G1) . e holds G3 is Subgraph of G1 ) & ( ( (the_Source_of G1) . e in the_Vertices_of G2 & not (the_Target_of G1) . e in the_Vertices_of G2 ) or ( not (the_Source_of G1) . e in the_Vertices_of G2 & (the_Target_of G1) . e in the_Vertices_of G2 ) ) )
A4: e in the_Edges_of G1 by A3, GLIB_000:def 13;
then A5: ( e DJoins (the_Source_of G1) . e,(the_Target_of G1) . e,G1 & e Joins (the_Source_of G1) . e,(the_Target_of G1) . e,G1 ) by GLIB_000:def 13, GLIB_000:def 14;
then A6: ( ( (the_Source_of G1) . e = v0 & (the_Target_of G1) . e = w0 ) or ( (the_Source_of G1) . e = w0 & (the_Target_of G1) . e = v0 ) ) by A3, GLIB_000:15;
A7: not v0 in the_Vertices_of G2 by A1, CHORD:50;
hence ( (the_Source_of G1) . e <> (the_Target_of G1) . e & e DJoins (the_Source_of G1) . e,(the_Target_of G1) . e,G1 ) by A2, A5, A6; :: thesis: ( not e in the_Edges_of G2 & ( for G3 being addAdjVertex of G2,(the_Source_of G1) . e,e,(the_Target_of G1) . e holds G3 is Subgraph of G1 ) & ( ( (the_Source_of G1) . e in the_Vertices_of G2 & not (the_Target_of G1) . e in the_Vertices_of G2 ) or ( not (the_Source_of G1) . e in the_Vertices_of G2 & (the_Target_of G1) . e in the_Vertices_of G2 ) ) )
thus A8: not e in the_Edges_of G2 :: thesis: ( ( for G3 being addAdjVertex of G2,(the_Source_of G1) . e,e,(the_Target_of G1) . e holds G3 is Subgraph of G1 ) & ( ( (the_Source_of G1) . e in the_Vertices_of G2 & not (the_Target_of G1) . e in the_Vertices_of G2 ) or ( not (the_Source_of G1) . e in the_Vertices_of G2 & (the_Target_of G1) . e in the_Vertices_of G2 ) ) )
proof end;
hereby :: thesis: ( ( (the_Source_of G1) . e in the_Vertices_of G2 & not (the_Target_of G1) . e in the_Vertices_of G2 ) or ( not (the_Source_of G1) . e in the_Vertices_of G2 & (the_Target_of G1) . e in the_Vertices_of G2 ) )
let G3 be addAdjVertex of G2,(the_Source_of G1) . e,e,(the_Target_of G1) . e; :: thesis: G3 is Subgraph of G1
now :: thesis: ( the_Vertices_of G3 c= the_Vertices_of G1 & the_Edges_of G3 c= the_Edges_of G1 & ( for e0 being set st e0 in the_Edges_of G3 holds
( (the_Source_of G3) . e0 = (the_Source_of G1) . e0 & (the_Target_of G3) . e0 = (the_Target_of G1) . e0 ) ) )
( (the_Source_of G1) . e in the_Vertices_of G1 & (the_Target_of G1) . e in the_Vertices_of G1 ) by A5, GLIB_000:13;
then A9: {((the_Source_of G1) . e),((the_Target_of G1) . e)} c= the_Vertices_of G1 by ZFMISC_1:32;
A10: (the_Vertices_of G2) \/ {((the_Source_of G1) . e),((the_Target_of G1) . e)} c= the_Vertices_of G1 by A9, XBOOLE_1:8;
the_Vertices_of G3 c= (the_Vertices_of G2) \/ {((the_Source_of G1) . e),((the_Target_of G1) . e)} by Th54;
hence the_Vertices_of G3 c= the_Vertices_of G1 by A10, XBOOLE_1:1; :: thesis: ( the_Edges_of G3 c= the_Edges_of G1 & ( for e0 being set st e0 in the_Edges_of G3 holds
( (the_Source_of G3) . b2 = (the_Source_of G1) . b2 & (the_Target_of G3) . b2 = (the_Target_of G1) . b2 ) ) )

A11: {e} c= the_Edges_of G1 by A4, ZFMISC_1:31;
A12: (the_Edges_of G2) \/ {e} c= the_Edges_of G1 by A11, XBOOLE_1:8;
A13: the_Edges_of G3 c= (the_Edges_of G2) \/ {e} by Th54;
hence the_Edges_of G3 c= the_Edges_of G1 by A12, XBOOLE_1:1; :: thesis: for e0 being set st e0 in the_Edges_of G3 holds
( (the_Source_of G3) . b2 = (the_Source_of G1) . b2 & (the_Target_of G3) . b2 = (the_Target_of G1) . b2 )

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