
theorem Th118:
  for G1 being _Graph, G2 being removeLoops of G1
  for G3 being removeDParallelEdges of G2 holds G3 is DSimpleGraph of G1
proof
  let G1 be _Graph, G2 be removeLoops of G1;
  let G3 be removeDParallelEdges of G2;
  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
    let e be object;
    hereby
      assume e in the_Edges_of G3;
      then A6: e in E0 & e in the_Edges_of G2 by A2, A4, XBOOLE_0:def 4;
      then not e in G1.loops() by A3, XBOOLE_0:def 5;
      hence e in E0 \ G1.loops() by A6, XBOOLE_0:def 5;
    end;
    assume A7: e in E0 \ G1.loops();
    then A8: e in the_Edges_of G2 by A3, TARSKI:def 3, XBOOLE_1:33;
    e in E0 by A7, XBOOLE_0:def 5;
    hence thesis by A2, A4, A8, XBOOLE_0:def 4;
  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 thesis by Def10;
end;
