reserve p,q,r for FinSequence;
reserve u,v,x,y,y1,y2,z for object, A,D,X,Y for set;
reserve i,j,k,l,m,n for Nat;
reserve J for Nat;
reserve n for Nat;

theorem
  for D be non empty set, R be Equivalence_Relation of D,
      y be FinSequence of Class(R)
    ex x be FinSequence of D st x is_representatives_FS y
proof
  let D be non empty set, R be Equivalence_Relation of D,
      y be FinSequence of Class R;
  defpred P[object,object] means
    for u be Element of D st $2 = u holds Class(R,u) = y.$1;
A1: for e be object st e in dom y ex u be object st u in D & P[e,u]
  proof
    let e be object;
    assume e in dom y;
    then y.e in rng y by FUNCT_1:def 3;
    then consider a be Element of D such that
A2: y.e = Class(R,a) by EQREL_1:36;
    take a;
    thus a in D;
    let u be Element of D;
    assume a = u;
    hence thesis by A2;
  end;
  consider f being Function such that
A3: dom f = dom y & rng f c= D &
    for e be object st e in dom y holds P[e,f.e] from FUNCT_1:sch 6(A1);
  dom f = Seg len y by A3,FINSEQ_1:def 3;
  then reconsider f as FinSequence by FINSEQ_1:def 2;
  reconsider f as FinSequence of D by A3,FINSEQ_1:def 4;
  take f;
  thus len f = len y by A3,Th27;
  let n;
  assume
A4: n in dom f;
  then f.n in rng f by FUNCT_1:def 3;
  then reconsider u = f.n as Element of D;
  Class(R,u) = y.n by A3,A4;
  hence thesis;
end;
