reserve x,z for set;
reserve k for Element of NAT;
reserve D for non empty set;
reserve X for set;
reserve p,r for relation;
reserve a,a1,a2,b for FinSequence;
reserve a,b for FinSequence of D;
reserve p,r for Element of relations_on D;
reserve u,v,w for boolean object;
reserve A,z for set,
  x,y for FinSequence of A,
  h for PartFunc of A*,A,
  n,m for Nat;

theorem Th17:
  for A being non empty set, a being Element of A holds <*>A .-->a
  is homogeneous quasi_total non empty PartFunc of A*,A
proof
  let A be non empty set, a be Element of A;
  set f = <*>A .-->a;
A2: dom f c= A*
  proof
    let z be object;
    assume z in dom f;
    then z = <*>A by TARSKI:def 1;
    hence thesis by FINSEQ_1:def 11;
  end;
A3: rng f = {a} by FUNCOP_1:8;
  rng f c= A
  proof
    let z be object;
    assume z in rng f;
    then z = a by A3,TARSKI:def 1;
    hence thesis;
  end;
  then reconsider f as PartFunc of A*,A by A2,RELSET_1:4;
A4: f is quasi_total
  proof
    let x,y be FinSequence of A;
    assume that
A5: len x = len y and
A6: x in dom f;
    x = <*>A by A6,TARSKI:def 1;
    then len x = 0;
    then y = <*>A by A5;
    hence thesis by TARSKI:def 1;
  end;
  f is homogeneous;
  hence thesis by A4;
end;
