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 _finite _Graph, G2 being Subgraph of G1, v1 being Vertex
of G1, v2 being Vertex of G2 st v1 = v2 holds v2.inDegree() <= v1.inDegree() &
  v2.outDegree() <= v1.outDegree() & v2.degree() <= v1.degree()
proof
  let G1 be _finite _Graph, G2 be Subgraph of G1, v1 be Vertex of G1, v2 be
  Vertex of G2;
  assume
A1: v1 = v2;
  then v2.edgesIn() = v1.edgesIn() /\ (the_Edges_of G2) by Th79;
  hence
A2: v2.inDegree() <= v1.inDegree() by NAT_1:43,XBOOLE_1:17;
A3: v2.edgesOut() = v1.edgesOut()/\(the_Edges_of G2) by A1,Th79;
  hence v2.outDegree() <= v1.outDegree() by NAT_1:43,XBOOLE_1:17;
  v2.outDegree() <= card v1.edgesOut() by A3,NAT_1:43,XBOOLE_1:17;
  hence thesis by A2,XREAL_1:7;
end;
