assume A1:
not NAT , RAT are_equipotent
; contradiction
defpred S1[ Element of NAT , Subset of REAL] means $2 = RAT_with_denominator ($1 + 1);
A2:
for n being Element of NAT ex X being Subset of REAL st S1[n,X]
consider F being sequence of (bool REAL) such that
A3:
for n being Element of NAT holds S1[n,F . n]
from FUNCT_2:sch 3(A2);
for x being object st x in union (rng F) holds
x in RAT
then A8:
union (rng F) c= RAT
;
for x being object st x in RAT holds
x in union (rng F)
then
RAT c= union (rng F)
;
then A12:
union (rng F) = RAT
by A8, XBOOLE_0:def 10;
dom F = NAT
by FUNCT_2:def 1;
then A13:
rng F is countable
by CARD_3:93;
for Y being set st Y in rng F holds
Y is countable
then
RAT is countable
by A12, A13, CARD_4:12;
then
card RAT c= omega
by CARD_3:def 14;
then
not omega in card RAT
;
then
( not omega c= card RAT or not omega <> card RAT )
by CARD_1:3;
then
card RAT in omega
by A1, CARD_1:4, CARD_1:5, CARD_1:47;
hence
contradiction
; verum