
theorem Th29: :: Subgraph01
  for G being _Graph,
      A,B being non empty Subset of the_Vertices_of G st B c= A
  for H1 being inducedSubgraph of G,A
  for H2 being inducedSubgraph of H1,B holds H2 is inducedSubgraph of G,B
proof
  let G be _Graph;
  let A,B be non empty Subset of the_Vertices_of G such that
A1: B c= A;
  let H1 be inducedSubgraph of G,A;
  let H2 be inducedSubgraph of H1,B;
A2: the_Vertices_of H1 = A by GLIB_000:def 37;
  then
A3: the_Vertices_of H2 = B by A1,GLIB_000:def 37;
A4: now
    let e be set such that
A5: e in G.edgesBetween(B);
A6: (the_Target_of G).e in B by A5,GLIB_000:31;
A7: (the_Source_of G).e in B by A5,GLIB_000:31;
    then e in G.edgesBetween(A) by A1,A5,A6,GLIB_000:31;
    then
A8: e in the_Edges_of H1 by GLIB_000:def 37;
    then
A9: (the_Target_of H1).e = (the_Target_of G).e by GLIB_000:def 32;
    (the_Source_of H1).e = (the_Source_of G).e by A8,GLIB_000:def 32;
    then e in H1.edgesBetween(B) by A7,A6,A8,A9,GLIB_000:31;
    hence e in the_Edges_of H2 by A1,A2,GLIB_000:def 37;
  end;
  H1.edgesBetween(B) c= G.edgesBetween(B) by GLIB_000:76;
  then the_Edges_of H2 c= G.edgesBetween(B) by A1,A2,GLIB_000:def 37;
  then for x being object holds x in the_Edges_of H2
      iff x in G.edgesBetween(B)
  by A4;
  then
A10: the_Edges_of H2 = G.edgesBetween(B) by TARSKI:2;
A11: now
    let e be set such that
A12: e in the_Edges_of H2;
A13: (the_Target_of H2).e = (the_Target_of H1).e by A12,GLIB_000:def 32;
    (the_Source_of H2).e = (the_Source_of H1).e by A12,GLIB_000:def 32;
    hence
    (the_Source_of H2).e = (the_Source_of G).e & (the_Target_of H2).e = (
    the_Target_of G).e by A12,A13,GLIB_000:def 32;
  end;
  the_Edges_of H2 c= the_Edges_of H1;
  then the_Edges_of H2 c= the_Edges_of G by XBOOLE_1:1;
  then H2 is Subgraph of G by A3,A11,GLIB_000:def 32;
  hence thesis by A3,A10,GLIB_000:def 37;
end;
