reserve i,j for Nat;
reserve x,y for set;
reserve A for non empty set;
reserve c for Element of StandardStackSystem A;
reserve m for stack of StandardStackSystem A;
reserve X for non empty non void StackSystem;
reserve s,s1,s2 for stack of X;
reserve e,e1,e2 for Element of X;
reserve X for StackAlgebra;
reserve s,s1,s2,s3 for stack of X;
reserve e,e1,e2,e3 for Element of X;

theorem Th30:
  for x being Element of (the carrier of X)*
  ex s1 st |.s1.| = x & s1 in coset s
  proof set A = the carrier of X;
    defpred P[FinSequence of A] means ex s1 st |.s1.| = $1 & s1 in coset s;
    emp core s by Def19; then
    |.core s.| = {} by Th5; then
A1: P[<*>A] by Th29;
A2: now
      let p be FinSequence of A;
      let x be Element of A;
      assume P[p]; then
      consider s1 such that
A3:   |.s1.| = p & s1 in coset s;
      thus P[<*x*>^p]
      proof
        take s2 = push(x,s1);
        thus thesis by A3,Th8,Def17;
      end;
    end;
    for p being FinSequence of A holds P[p] from IndSeqD(A1,A2);
    hence thesis;
  end;
