reserve A for set, x,y,z for object,
  k for Element of NAT;
reserve n for Nat,
  x for object;
reserve V, C for set;

theorem Th30:
  for X, Y being non empty set, f being FinSequence of X*, v being
  Function of X, Y holds (dom f --> v)**f is FinSequence of Y*
proof
  let X, Y be non empty set, f be FinSequence of X*, v be Function of X, Y;
  set F = (dom f --> v)**f;
A1: dom F = dom (dom f --> v) /\ dom f by PBOOLE:def 19
    .= dom f /\ dom f
    .= dom f;
A2: rng F c= Y*
  proof
    let y be object;
    assume y in rng F;
    then consider x being object such that
A3: x in dom F and
A4: y = F.x by FUNCT_1:def 3;
    reconsider x as Element of NAT by A1,A3;
    f.x in X* by A1,A3,FINSEQ_2:11;
    then
A5: f.x is FinSequence of X by FINSEQ_1:def 11;
    y = (dom f --> v).x * (f.x) by A3,A4,PBOOLE:def 19
      .= v*(f.x) by A1,A3,FUNCOP_1:7;
    then y is FinSequence of Y by A5,FINSEQ_2:32;
    hence thesis by FINSEQ_1:def 11;
  end;
  dom F = Seg len f by A1,FINSEQ_1:def 3;
  then F is FinSequence-like by FINSEQ_1:def 2;
  hence thesis by A2,FINSEQ_1:def 4;
end;
