
theorem
  for G being _Graph, n being Nat
  st for v being Vertex of G holds v.inDegree() c= n
  holds G is with_max_in_degree
proof
  let G be _Graph, n be Nat;
  assume A1: for v being Vertex of G holds v.inDegree() c= n;
  defpred P[Nat] means ex v being Vertex of G st v.inDegree() = $1;
  A2: for k being Nat st P[k] holds k <= n
  proof
    let k be Nat;
    given v being Vertex of G such that
      A3: v.inDegree() = k;
    Segm k c= Segm n by A1, A3;
    hence thesis by NAT_1:39;
  end;
  A4: ex k being Nat st P[k]
  proof
    set v = the Vertex of G;
    v.inDegree() is finite by A1, FINSET_1:1;
    then reconsider k = v.inDegree() as Nat;
    take k,v;
    thus thesis;
  end;
  consider k being Nat such that
    A5: P[k] & for i being Nat st P[i] holds i <= k from NAT_1:sch 6(A2,A4);
  consider v being Vertex of G such that
    A6: v.inDegree() = k by A5;
  now
    let w be Vertex of G;
    w.inDegree() is finite by A1, FINSET_1:1;
    then reconsider i = w.inDegree() as Nat;
    Segm i c= Segm k by A5, NAT_1:39;
    hence w.inDegree() c= v.inDegree() by A6;
  end;
  hence thesis;
end;
