let G be _Graph; :: thesis: for n being Nat st ( for v being Vertex of G holds v .outDegree() c= n ) holds
G is with_max_out_degree

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