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;
reserve A for non empty set,
  h for PartFunc of A*,A,
  a for Element of A;

theorem
  for D being non empty set for h being homogeneous quasi_total non
  empty PartFunc of D*,D holds dom h = (arity(h))-tuples_on D
proof
  let D be non empty set;
  let f be homogeneous quasi_total non empty PartFunc of D*,D;
  set y = the Element of dom f;
A1: dom f c= D* by RELAT_1:def 18;
  then
A2: y in D*;
  thus dom f c= (arity(f))-tuples_on D
  proof
    let x be object;
    assume
A3: x in dom f;
    then reconsider x9 = x as FinSequence of D by A1,FINSEQ_1:def 11;
    len x9 = arity f by A3,Def25;
    then x9 is Element of (arity(f))-tuples_on D by FINSEQ_2:92;
    hence thesis;
  end;
  reconsider y as FinSequence of D by A2,FINSEQ_1:def 11;
  let x be object;
  assume x in (arity(f))-tuples_on D;
  then x in {s where s is Element of D* : len s = arity(f)} by FINSEQ_2:def 4;
  then
A4: ex s being Element of D* st x = s & len s = arity(f);
  len y = arity f by Def25;
  hence thesis by A4,Def22;
end;
