let G1 be _Graph; :: thesis: for G2 being removeLoops of G1
for G3 being removeDParallelEdges of G2 holds G3 is DSimpleGraph of G1

let G2 be removeLoops of G1; :: thesis: for G3 being removeDParallelEdges of G2 holds G3 is DSimpleGraph of G1
let G3 be removeDParallelEdges of G2; :: thesis: G3 is DSimpleGraph of G1
consider E being RepDEdgeSelection of G2 such that
A1: G3 is inducedSubgraph of G2, the_Vertices_of G2,E by Def8;
( the_Vertices_of G2 c= the_Vertices_of G2 & the_Edges_of G2 = G2 .edgesBetween (the_Vertices_of G2) ) by GLIB_000:34;
then A2: ( the_Vertices_of G3 = the_Vertices_of G2 & the_Edges_of G3 = E ) by A1, GLIB_000:def 37;
A3: ( the_Vertices_of G2 = the_Vertices_of G1 & the_Edges_of G2 = (the_Edges_of G1) \ (G1 .loops()) ) by GLIB_000:53;
consider E0 being RepDEdgeSelection of G1 such that
A4: E = E0 /\ (the_Edges_of G2) by Th81;
A5: the_Vertices_of G3 = the_Vertices_of G1 by A2, A3;
for e being object holds
( e in the_Edges_of G3 iff e in E0 \ (G1 .loops()) )
proof end;
then A9: the_Edges_of G3 = E0 \ (G1 .loops()) by TARSKI:2;
A10: G3 is Subgraph of G1 by GLIB_000:43;
( the_Vertices_of G1 c= the_Vertices_of G1 & the_Edges_of G1 = G1 .edgesBetween (the_Vertices_of G1) ) by GLIB_000:34;
then G3 is inducedSubgraph of G1, the_Vertices_of G1,E0 \ (G1 .loops()) by A5, A9, A10, GLIB_000:def 37;
hence G3 is DSimpleGraph of G1 by Def10; :: thesis: verum