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 Th78:
  for G1 being _Graph, G2 being Subgraph of G1, v1 being Vertex of
  G1, v2 being Vertex of G2 st v1 = v2 holds v2.edgesIn() c= v1.edgesIn() & v2
  .edgesOut() c= v1.edgesOut() & v2.edgesInOut() c= v1.edgesInOut()
proof
  let G1 be _Graph, G2 be Subgraph of G1, v1 be Vertex of G1, v2 be Vertex of
  G2;
  assume
A1: v1 = v2;
  now
    let x be object;
    assume
A2: x in v2.edgesIn();
    then (the_Target_of G2).x = v2 by Lm7;
    then
A3: (the_Target_of G1).x = v1 by A1,A2,Def32;
    x in the_Edges_of G2 by A2;
    hence x in v1.edgesIn() by A3,Lm7;
  end;
  hence v2.edgesIn() c= v1.edgesIn();
  now
    let x be object;
    assume
A4: x in v2.edgesOut();
    then (the_Source_of G2).x = v2 by Lm8;
    then
A5: (the_Source_of G1).x = v1 by A1,A4,Def32;
    x in the_Edges_of G2 by A4;
    hence x in v1.edgesOut() by A5,Lm8;
  end;
  hence v2.edgesOut() c= v1.edgesOut();
  now
    let x be object;
    assume
A6: x in v2.edgesInOut();
    then (the_Source_of G2).x = v2 or (the_Target_of G2).x = v2 by Th61;
    then
A7: (the_Source_of G1).x = v1 or (the_Target_of G1).x=v1 by A1,A6,Def32;
    x in the_Edges_of G2 by A6;
    hence x in v1.edgesInOut() by A7,Th61;
  end;
  hence thesis;
end;
