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 Th12:
  for x being Element of (the carrier of X)*
  ex s st |.s.| = x
  proof
    set D = the carrier of X;
    defpred P[FinSequence of D] means ex s st |.s.| = $1;
A1: P[<*> D]
    proof
      consider s such that
A2:   emp s by Th2;
      take s; thus thesis by A2,Th5;
    end;
A3: for p being FinSequence of D for x being Element of D st P[p]
    holds P[<*x*>^p]
    proof
      let p be FinSequence of D, x be Element of D;
      given s such that
A4:   |.s.| = p;
      take s2 = push(x,s);
      thus thesis by A4,Th8;
    end;
    for p being FinSequence of D holds P[p] from IndSeqD(A1,A3);
    hence thesis;
  end;
