reserve i,j,k,l for natural Number;
reserve A for set, a,b,x,x1,x2,x3 for object;
reserve D,D9,E for non empty set;
reserve d,d1,d2,d3 for Element of D;
reserve d9,d19,d29,d39 for Element of D9;
reserve p,q,r for FinSequence;
reserve s for Element of D*;
reserve m,n for Nat,
  s,w for FinSequence of NAT;

theorem
  for D being non empty set,
      s being FinSequence of D st s <> {}
   ex w being FinSequence of D, n being Element of D st s = <*n*>^w
proof
  let D be non empty set,
      s be FinSequence of D;
  defpred P[FinSequence of D] means
    $1 <> {} implies ex w being FinSequence of D,
    n being Element of D st $1 = <*n*>^w;
A1: for s being FinSequence of D
     for m being Element of D st P[s] holds P[s^<*m*>]
  proof
    let s be FinSequence of D;
    let m be Element of D such that
A2: s <> {} implies ex w being FinSequence of D,
     n be Element of D st s = <*n*>^w;
    assume s^<*m*> <> {};
    per cases;
    suppose
A3:   s = {};
      reconsider w = <*> D as FinSequence of D;
      take w, n = m;
      thus s^<*m*> = <*m*> by A3,FINSEQ_1:34
        .= <*n*>^w by FINSEQ_1:34;
    end;
    suppose
      s <> {};
      then consider w be FinSequence of D,
         n be Element of D such that
A4:   s = <*n*>^w by A2;
      take w^<*m*>,n;
      thus thesis by A4,FINSEQ_1:32;
    end;
  end;
A5: P[<*> D];
  for p being FinSequence of D holds P[p] from IndSeqD(A5,A1);
  hence thesis;
end;
