reserve GS for GraphStruct;
reserve G,G1,G2,G3 for _Graph;
reserve e,x,x1,x2,y,y1,y2,E,V,X,Y for set;
reserve n,n1,n2 for Nat;
reserve v,v1,v2 for Vertex of G;

theorem
  for G1 being _Graph, G2 being Subgraph of G1, v1 being Vertex of G1,
  v2 being Vertex of G2, e being set st v1 = v2 & e in the_Edges_of G2 holds v1
  .adj(e) = v2.adj(e)
proof
  let G1 be _Graph, G2 be Subgraph of G1, v1 be Vertex of G1, v2 be Vertex of
  G2, e be set;
  assume that
A1: v1 = v2 and
A2: e in the_Edges_of G2;
A3: (the_Source_of G2).e = (the_Source_of G1).e & (the_Target_of G2).e = (
  the_Target_of G1).e by A2,Def32;
  now
    per cases;
    suppose
A4:   (the_Target_of G1).e = v1;
      hence v1.adj(e) = (the_Source_of G1).e by A2,Def41
        .= v2.adj(e) by A1,A2,A3,A4,Def41;
    end;
    suppose
A5:   (the_Source_of G1).e = v1 & (the_Target_of G1).e <> v1;
      hence v1.adj(e) = (the_Target_of G1).e by A2,Def41
        .= v2.adj(e) by A1,A2,A3,A5,Def41;
    end;
    suppose
A6:   (the_Source_of G1).e <> v1 & (the_Target_of G1).e <> v1;
      hence v1.adj(e) = v2 by A1,Def41
        .= v2.adj(e) by A1,A3,A6,Def41;
    end;
  end;
  hence thesis;
end;
