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

theorem Th193:
  G2.allComponents() c= G1.allComponents() implies G2 is Subgraph of G1
proof
  assume A1: G2.allComponents() c= G1.allComponents();
  now
    now
      let x be object;
      assume x in the_Vertices_of G2;
      then reconsider v = x as Vertex of G2;
      set C = the plain inducedSubgraph of G2, G2.reachableFrom(v);
      C in G2.allComponents() by Th189;
      then C is Component of G1 by A1, Th189;
      then A2: the_Vertices_of C c= the_Vertices_of G1 by GLIB_000:def 32;
      the_Vertices_of C = G2.reachableFrom(v) by GLIB_000:def 37;
      then v in the_Vertices_of C by GLIB_002:9;
      hence x in the_Vertices_of G1 by A2;
    end;
    hence the_Vertices_of G2 c= the_Vertices_of G1 by TARSKI:def 3;
    now
      let e be object;
      set v = (the_Source_of G2).e, w = (the_Target_of G2).e;
      assume e in the_Edges_of G2;
      then A3: e Joins v,w,G2 by GLIB_000:def 13;
      then reconsider v as Vertex of G2 by GLIB_000:13;
      set H = the plain inducedSubgraph of G2, G2.reachableFrom(v);
      the_Vertices_of H = G2.reachableFrom(v) by GLIB_000:def 37;
      then reconsider v9 = v as Vertex of H by GLIB_002:9;
      e in v.edgesInOut() by A3, GLIB_000:62;
      then e in v9.edgesInOut() by GLIBPRE0:44;
      then A4: e in the_Edges_of H;
      H in G2.allComponents() by Th189;
      then H is Subgraph of G1 by A1, Th189;
      then the_Edges_of H c= the_Edges_of G1 by GLIB_000:def 32;
      hence e in the_Edges_of G1 by A4;
    end;
    hence the_Edges_of G2 c= the_Edges_of G1 by TARSKI:def 3;
    let e be set;
    set v = (the_Source_of G2).e, w = (the_Target_of G2).e;
    assume e in the_Edges_of G2;
    then A5: e DJoins v,w,G2 by GLIB_000:def 14;
    then e Joins v,w,G2 by GLIB_000:16;
    then reconsider v as Vertex of G2 by GLIB_000:13;
    set H = the plain inducedSubgraph of G2, G2.reachableFrom(v);
    the_Vertices_of H = G2.reachableFrom(v) by GLIB_000:def 37;
    then reconsider v9 = v as Vertex of H by GLIB_002:9;
    e in v.edgesOut() by A5, GLIB_000:59;
    then e in v9.edgesOut() by GLIBPRE0:44;
    then A6: e DJoins v,w,H by A5, GLIB_000:73;
    H in G2.allComponents() by Th189;
    then H is Subgraph of G1 by A1, Th189;
    then e DJoins v,w,G1 by A6, GLIB_000:72;
    hence (the_Source_of G2).e = (the_Source_of G1).e &
      (the_Target_of G2).e = (the_Target_of G1).e by GLIB_000:def 14;
  end;
  hence thesis by GLIB_000:def 32;
end;
