
theorem Th19:
  for G1 being connected _Graph, G2 being Subgraph of G1
  st the_Edges_of G1 c= the_Edges_of G2 holds G1 == G2
proof
  let G1 be connected _Graph, G2 be Subgraph of G1;
  assume A1: the_Edges_of G1 c= the_Edges_of 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;
    suppose A4: G1 is non _trivial;
      assume the_Vertices_of G1 <> the_Vertices_of G2;
      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 as Vertex of G1 by A5, TARSKI:def 3;
      per cases;
      suppose v.edgesInOut() = {};
        hence contradiction by A4, GLIB_000:def 49;
      end;
      suppose A6: v.edgesInOut() <> {};
        set e = the Element of v.edgesInOut();
        per cases by A6, GLIB_000:61;
        suppose A7: (the_Source_of G1).e = v;
          A8: e in the_Edges_of G2 by A2, A6, GLIB_000:61;
          then (the_Source_of G2).e = v by A7, GLIB_000:def 32;
          then v in the_Vertices_of G2 by A8, FUNCT_2:5;
          hence contradiction by A5, XBOOLE_0:def 5;
        end;
        suppose A9: (the_Target_of G1).e = v;
          A10: e in the_Edges_of G2 by A2, A6, GLIB_000:61;
          then (the_Target_of G2).e = v by A9, GLIB_000:def 32;
          then v in the_Vertices_of G2 by A10, FUNCT_2:5;
          hence contradiction by A5, XBOOLE_0:def 5;
        end;
      end;
    end;
    suppose A11: G1 is _trivial;
      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 thesis by A12, A13, ZFMISC_1:3;
    end;
  end;
  hence thesis by A2, A3, GLIB_000:86;
end;
