reserve G, G1, G2 for _Graph, H for Subgraph of G;

theorem Th27:
  for G being non edgeless _Graph, H being removeLoops of G
  for S being GraphUnionSet, G9 being GraphUnion of S
  st (for v being Vertex of G ex H9 being Element of S st
      v in the_Vertices_of H9) &
    (for e being Edge of G st not e in G.loops() ex H9 being Element of S st
      createGraph(e) is Subgraph of H9)
  holds H is Subgraph of G9
proof
  let G be non edgeless _Graph, H being removeLoops of G;
  let S be GraphUnionSet, G9 be GraphUnion of S;
  assume that
    A1: for v being Vertex of G ex H9 being Element of S st
      v in the_Vertices_of H9 and
    A2: for e being Edge of G st not e in G.loops() ex H9 being Element of S st
      createGraph(e) is Subgraph of H9;
  now
    let x be object;
    assume x in the_Vertices_of H;
    then consider H9 being Element of S such that
      A3: x in the_Vertices_of H9 by A1;
    H9 is Subgraph of G9 by GLIB_014:21;
    then the_Vertices_of H9 c= the_Vertices_of G9 by GLIB_000:def 32;
    hence x in the_Vertices_of G9 by A3;
  end;
  then A4: the_Vertices_of H c= the_Vertices_of G9 by TARSKI:def 3;
  now
    let x be object;
    assume x in the_Edges_of H;
    then x in the_Edges_of G \ G.loops() by GLIB_000:53;
    then A5: x in the_Edges_of G & not x in G.loops() by XBOOLE_0:def 5;
    then reconsider e = x as Edge of G;
    consider H9 being Element of S such that
      A6: createGraph(e) is Subgraph of H9 by A2, A5;
    H9 is Subgraph of G9 by GLIB_014:21;
    then createGraph(e) is Subgraph of G9 by A6, GLIB_000:43;
    then the_Edges_of createGraph(e) c= the_Edges_of G9 by GLIB_000:def 32;
    then {e} c= the_Edges_of G9 by Th13;
    hence x in the_Edges_of G9 by ZFMISC_1:31;
  end;
  then A7: the_Edges_of H c= the_Edges_of G9 by TARSKI:def 3;
  now
    let e0 be set;
    assume e0 in the_Edges_of H;
    then e0 in the_Edges_of G \ G.loops() by GLIB_000:53;
    then A8: e0 in the_Edges_of G & not e0 in G.loops() by XBOOLE_0:def 5;
    then reconsider e = e0 as Edge of G;
    consider H9 being Element of S such that
      A9: createGraph(e) is Subgraph of H9 by A2, A8;
    H9 is Subgraph of G9 by GLIB_014:21;
    then A10: createGraph(e) is Subgraph of G9 by A9, GLIB_000:43;
    the_Edges_of createGraph(e) = {e} by Th13;
    then A11: e0 in the_Edges_of createGraph(e) by TARSKI:def 1;
    then A12: (the_Source_of createGraph(e)).e0 = (the_Source_of G9).e0 &
      (the_Target_of createGraph(e)).e0 = (the_Target_of G9).e0
      by A10, GLIB_000:def 32;
    createGraph(e) is Subgraph of H by A8, Th26;
    hence (the_Source_of H).e0 = (the_Source_of G9).e0 &
      (the_Target_of H).e0 = (the_Target_of G9).e0 by A11, A12
, GLIB_000:def 32;
  end;
  hence thesis by A4, A7, GLIB_000:def 32;
end;
