reserve n,m,k,k1,k2 for Nat;
reserve r,r1,r2,s,t,p for Real;
reserve seq,seq1,seq2 for Real_Sequence;
reserve x,y for set;

theorem Th30:
  rng (seq ^\ k) = {seq.n where n: k <= n}
proof
  set seq1 = seq ^\ k;
  set Z = {seq.m where m: k <= m};
  now
    let x be object;
    assume x in Z;
    then consider k1 being Nat such that
A1: x=seq.k1 and
A2: k <= k1;
    consider k2 being Nat such that
A3: k1 = k + k2 by A2,NAT_1:10;
    reconsider k2 as Element of NAT by ORDINAL1:def 12;
    x = seq1.k2 by A1,A3,NAT_1:def 3;
    hence x in rng seq1 by FUNCT_2:4;
  end;
  then
A4: Z c= rng seq1;
A5: dom seq1 = NAT by FUNCT_2:def 1;
  now
    let y be object;
    assume y in rng seq1;
    then consider m1 be object such that
A6: m1 in NAT and
A7: y = seq1.m1 by A5,FUNCT_1:def 3;
    reconsider m1 as Nat by A6;
    reconsider km1 = k+m1 as Nat;
    y = seq.(km1) by A7,NAT_1:def 3;
    hence y in Z by SETLIM_1:1;
  end;
  then rng seq1 c= Z;
  hence thesis by A4;
end;
