reserve E, x, y, X for set;
reserve A, B, C, D for Subset of E^omega;
reserve a, a1, a2, b, c, c1, c2, d, ab, bc for Element of E^omega;
reserve e for Element of E;
reserve i, j, k, l, n, n1, n2, m for Nat;

theorem Th8:
  for p being XFinSequence st p <> {}
   ex q being XFinSequence, x being object st p = <%x%> ^ q
proof
  let p be XFinSequence;
  defpred P[Nat] means for p being XFinSequence st len p = $1 & p <> {} ex q
  being XFinSequence, x being object st p = <%x%> ^ q;
A1: now
    let n;
    assume
A2: P[n];
    thus P[n + 1]
    proof
      let p be XFinSequence such that
A3:   len p = n + 1 and
A4:   p <> {};
      consider q being XFinSequence, x being object such that
A5:   p = q ^ <%x%> by A4,AFINSQ_1:40;
A6:   n + 1 = len q + len <%x%> by A3,A5,AFINSQ_1:17
        .= len q + 1 by AFINSQ_1:34;
      per cases;
      suppose
     q = {};
        then p = {}^<%x%> by A5
          .= <%x%> ^ {};
        hence thesis;
      end;
      suppose
        q <> {};
        then consider r being XFinSequence, y being object such that
A7:     q = <%y%> ^ r by A2,A6;
        p = <%y%> ^ (r ^ <%x%>) by A5,A7,AFINSQ_1:27;
        hence thesis;
      end;
    end;
  end;
A8: P[0];
A9: for n holds P[n] from NAT_1:sch 2(A8, A1);
A10: len p = len p;
  assume p <> {};
  hence thesis by A9,A10;
end;
