let G1 be connected _Graph; :: thesis: for G2 being Subgraph of G1 st the_Edges_of G1 c= the_Edges_of G2 holds
G1 == G2

let G2 be Subgraph of G1; :: thesis: ( the_Edges_of G1 c= the_Edges_of G2 implies G1 == G2 )
assume A1: the_Edges_of G1 c= the_Edges_of G2 ; :: thesis: G1 == G2
A2: the_Edges_of G1 = the_Edges_of G2 by A1, XBOOLE_0:def 10;
A3: G1 is Subgraph of G1 by GLIB_000:40;
the_Vertices_of G1 = the_Vertices_of G2
proof
per cases ( not G1 is _trivial or G1 is _trivial ) ;
suppose A4: not G1 is _trivial ; :: thesis: the_Vertices_of G1 = the_Vertices_of G2
assume the_Vertices_of G1 <> the_Vertices_of G2 ; :: thesis: contradiction
then not the_Vertices_of G1 c= the_Vertices_of G2 by XBOOLE_0:def 10;
then A5: (the_Vertices_of G1) \ (the_Vertices_of G2) <> {} by XBOOLE_1:37;
set v = the Element of (the_Vertices_of G1) \ (the_Vertices_of G2);
reconsider v = the Element of (the_Vertices_of G1) \ (the_Vertices_of G2) as Vertex of G1 by A5, TARSKI:def 3;
per cases ( v .edgesInOut() = {} or v .edgesInOut() <> {} ) ;
end;
end;
suppose A11: G1 is _trivial ; :: thesis: the_Vertices_of G1 = the_Vertices_of G2
then consider v1 being Vertex of G1 such that
A12: the_Vertices_of G1 = {v1} by GLIB_000:22;
consider v2 being Vertex of G2 such that
A13: the_Vertices_of G2 = {v2} by A11, GLIB_000:22;
thus the_Vertices_of G1 = the_Vertices_of G2 by A12, A13, ZFMISC_1:3; :: thesis: verum
end;
end;
end;
hence G1 == G2 by A2, A3, GLIB_000:86; :: thesis: verum