defpred S1[ Element of NAT ] means for F being Function st card (rng F) = $1 holds
P1[F];
A3: S1[ 0 ]
proof
let F be Function; :: thesis: ( card (rng F) = 0 implies P1[F] )
assume A4: card (rng F) = 0 ; :: thesis: P1[F]
rng F = {} by A4;
hence P1[F] by A1, RELAT_1:64; :: thesis: verum
end;
A5: for n being Element of NAT st S1[n] holds
S1[n + 1]
proof
let n be Element of NAT ; :: thesis: ( S1[n] implies S1[n + 1] )
assume A6: S1[n] ; :: thesis: S1[n + 1]
let F be Function; :: thesis: ( card (rng F) = n + 1 implies P1[F] )
assume A7: card (rng F) = n + 1 ; :: thesis: P1[F]
for x being set st x in rng F & P2[x,F] holds
P1[F | ((dom F) \ (F " {x}))]
proof
let x be set ; :: thesis: ( x in rng F & P2[x,F] implies P1[F | ((dom F) \ (F " {x}))] )
assume A8: ( x in rng F & P2[x,F] ) ; :: thesis: P1[F | ((dom F) \ (F " {x}))]
set D = (dom F) \ (F " {x});
card ((rng F) \ {x}) = n by A7, A8, Th65;
then card (rng (F | ((dom F) \ (F " {x})))) = n by Th64;
hence P1[F | ((dom F) \ (F " {x}))] by A6; :: thesis: verum
end;
hence P1[F] by A2; :: thesis: verum
end;
let F be Function; :: thesis: ( rng F is finite implies P1[F] )
assume A9: rng F is finite ; :: thesis: P1[F]
consider n being Nat such that
A10: rng F,n are_equipotent by A9, CARD_1:74;
A11: n in NAT by ORDINAL1:def 13;
A12: card (rng F) = n by A10, CARD_1:def 5;
for k being Element of NAT holds S1[k] from NAT_1:sch 1(A3, A5);
hence P1[F] by A11, A12; :: thesis: verum