let k be Nat; for F being NAT -defined Function holds dom F, dom (Shift (F,k)) are_equipotent
let F be NAT -defined Function; dom F, dom (Shift (F,k)) are_equipotent
defpred S1[ object , object ] means ex il being Element of NAT st
( $1 = il & $2 = k + il );
A1:
for e being object st e in dom F holds
ex u being object st S1[e,u]
proof
let e be
object ;
( e in dom F implies ex u being object st S1[e,u] )
assume
e in dom F
;
ex u being object st S1[e,u]
then reconsider e =
e as
Element of
NAT ;
take
k + e
;
S1[e,k + e]
take
e
;
( e = e & k + e = k + e )
thus
(
e = e &
k + e = k + e )
;
verum
end;
consider f being Function such that
A2:
dom f = dom F
and
A3:
for x being object st x in dom F holds
S1[x,f . x]
from CLASSES1:sch 1(A1);
take
f
; WELLORD2:def 4 ( f is one-to-one & dom f = dom F & rng f = dom (Shift (F,k)) )
thus
dom f = dom F
by A2; rng f = dom (Shift (F,k))
A11:
dom (Shift (F,k)) = { (m + k) where m is Nat : m in dom F }
by Def12;
hereby TARSKI:def 3,
XBOOLE_0:def 10 dom (Shift (F,k)) c= rng f
let y be
object ;
( y in rng f implies y in dom (Shift (F,k)) )assume
y in rng f
;
y in dom (Shift (F,k))then consider x being
object such that A12:
x in dom f
and A13:
f . x = y
by FUNCT_1:def 3;
consider il being
Element of
NAT such that A14:
x = il
and A15:
f . x = k + il
by A2, A3, A12;
thus
y in dom (Shift (F,k))
by A2, A11, A12, A13, A14, A15;
verum
end;
let y be object ; TARSKI:def 3 ( not y in dom (Shift (F,k)) or y in rng f )
assume
y in dom (Shift (F,k))
; y in rng f
then consider m being Nat such that
A16:
y = m + k
and
A17:
m in dom F
by A11;
consider il being Element of NAT such that
A18:
m = il
and
A19:
f . m = k + il
by A3, A17;
thus
y in rng f
by A2, A16, A17, A18, A19, FUNCT_1:def 3; verum