defpred S1[ Element of NAT ] means ( $1 > card (Support p) or ex M being finite Subset of (Bags n) st
( M c= Support p & card M = $1 & ( for b, b' being bag of n st b in M & b' in Support p & b <= b',T holds
b' in M ) ) );
A2: S1[ 0 ]
proof
ex M being finite Subset of (Bags n) st
( M c= Support p & card M = 0 & ( for b, b' being bag of n st b in M & b' in Support p & b <= b',T holds
b' in M ) )
proof
set M = {} (Bags n);
take {} (Bags n) ; :: thesis: ( {} (Bags n) c= Support p & card ({} (Bags n)) = 0 & ( for b, b' being bag of n st b in {} (Bags n) & b' in Support p & b <= b',T holds
b' in {} (Bags n) ) )

thus ( {} (Bags n) c= Support p & card ({} (Bags n)) = 0 & ( for b, b' being bag of n st b in {} (Bags n) & b' in Support p & b <= b',T holds
b' in {} (Bags n) ) ) by XBOOLE_1:2; :: thesis: verum
end;
hence S1[ 0 ] ; :: thesis: verum
end;
A3: now
let k be Element of NAT ; :: thesis: ( S1[k] implies S1[k + 1] )
assume A4: S1[k] ; :: thesis: S1[k + 1]
( k + 1 > card (Support p) or ex M being finite Subset of (Bags n) st
( M c= Support p & card M = k + 1 & ( for b, b' being bag of n st b in M & b' in Support p & b <= b',T holds
b' in M ) ) )
proof
assume A5: not k + 1 > card (Support p) ; :: thesis: ex M being finite Subset of (Bags n) st
( M c= Support p & card M = k + 1 & ( for b, b' being bag of n st b in M & b' in Support p & b <= b',T holds
b' in M ) )

k <= k + 1 by NAT_1:11;
then consider M1 being finite Subset of (Bags n) such that
A6: ( M1 c= Support p & card M1 = k & ( for b, b' being bag of n st b in M1 & b' in Support p & b <= b',T holds
b' in M1 ) ) by A4, A5, XXREAL_0:2;
A7: for u being set st u in M1 holds
u in Support p by A6;
set G = (Support p) \ M1;
now
let u be set ; :: thesis: ( u in (Support p) \ M1 implies u in Bags n )
assume u in (Support p) \ M1 ; :: thesis: u in Bags n
then u in Support p by XBOOLE_0:def 5;
hence u in Bags n ; :: thesis: verum
end;
then reconsider G = (Support p) \ M1 as Subset of (Bags n) by TARSKI:def 3;
then reconsider G = G as non empty finite Subset of (Bags n) ;
set R = RelStr(# (Bags n),T #);
consider x being Element of RelStr(# (Bags n),T #) such that
A8: ( x in G & x is_maximal_wrt G,the InternalRel of RelStr(# (Bags n),T #) ) by BAGORDER:7;
reconsider b = x as bag of n by POLYNOM1:def 14;
A9: now
let b' be bag of n; :: thesis: ( b' in G implies b' <= b,T )
assume A10: b' in G ; :: thesis: b' <= b,T
hence b' <= b,T ; :: thesis: verum
end;
set M = M1 \/ {b};
now
let u be set ; :: thesis: ( u in {b} implies u in Bags n )
assume u in {b} ; :: thesis: u in Bags n
then u = b by TARSKI:def 1;
hence u in Bags n ; :: thesis: verum
end;
then {b} c= Bags n by TARSKI:def 3;
then M1 \/ {b} c= (Bags n) \/ (Bags n) by XBOOLE_1:13;
then reconsider M = M1 \/ {b} as finite Subset of (Bags n) ;
then A12: M c= Support p by TARSKI:def 3;
not b in M1 by A8, XBOOLE_0:def 5;
then A13: card M = k + 1 by A6, CARD_2:54;
now
let b1, b2 be bag of n; :: thesis: ( b1 in M & b2 in Support p & b1 <= b2,T implies b2 in M )
assume A14: ( b1 in M & b2 in Support p & b1 <= b2,T ) ; :: thesis: b2 in M
hence b2 in M ; :: thesis: verum
end;
hence ex M being finite Subset of (Bags n) st
( M c= Support p & card M = k + 1 & ( for b, b' being bag of n st b in M & b' in Support p & b <= b',T holds
b' in M ) ) by A12, A13; :: thesis: verum
end;
hence S1[k + 1] ; :: thesis: verum
end;
for k being Element of NAT holds S1[k] from NAT_1:sch 1(A2, A3);
hence ex b1 being finite Subset of (Bags n) st
( b1 c= Support p & card b1 = i & ( for b, b' being bag of n st b in b1 & b' in Support p & b <= b',T holds
b' in b1 ) ) by A1; :: thesis: verum