reserve X for set;
reserve a,b,c,k,m,n for Nat;
reserve i,j for Integer;
reserve r,s for Real;
reserve p,p1,p2,p3 for Prime;

theorem Th40:
  for f being real-valued finite-support Function holds
  f <= n implies
  for F being real-valued FinSequence st
  F = ((EmptyBag SetPrimes)+*f)*canFS(support((EmptyBag SetPrimes)+*f))
  holds F <= n
  proof
    let f be real-valued finite-support Function;
    assume
A1: f <= n;
    set b = B+*f;
    set C = canFS(support b);
    let F be real-valued FinSequence such that
A2: F = b*C;
    let x be object such that
A3: x in dom F;
    set y = C.x;
A4: F.x = b.y by A2,A3,FUNCT_1:12;
    per cases;
    suppose
A5:   y in dom f;
      then b.y = f.y by FUNCT_4:13;
      hence F.x <= n by A1,A4,A5;
    end;
    suppose not y in dom f;
      then b.y = B.y by FUNCT_4:11;
      hence thesis by A2,A3,FUNCT_1:12;
    end;
  end;
