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
  s in coset push(e,s) & (not emp s implies s in coset pop s)
  proof
    pop push(e,s) = s & not emp push(e,s) & push(e,s) in coset push(e,s)
    by Def11,Def12,Def17;
    hence s in coset push(e,s) by Def17;
    assume not emp s; then
    push(top s, pop s) = s & pop s in coset pop s by Def9,Def17;
    hence thesis by Def17;
  end;
