let A be non empty set ; :: thesis: for s being stack of (StandardStackSystem A) holds |.s.| = s
defpred S1[ stack of (StandardStackSystem A)] means |.$1.| = $1;
A1: now
let s be stack of (StandardStackSystem A); :: thesis: ( emp s implies S1[s] )
assume emp s ; :: thesis: S1[s]
then ( s = {} & |.s.| = {} ) by EXAM, Th31;
hence S1[s] ; :: thesis: verum
end;
A2: now
let s be stack of (StandardStackSystem A); :: thesis: for e being Element of (StandardStackSystem A) st S1[s] holds
S1[ push (e,s)]

let e be Element of (StandardStackSystem A); :: thesis: ( S1[s] implies S1[ push (e,s)] )
assume S1[s] ; :: thesis: S1[ push (e,s)]
then |.(push (e,s)).| = <*e*> ^ s by Th34;
hence S1[ push (e,s)] by EXAM; :: thesis: verum
end;
let s be stack of (StandardStackSystem A); :: thesis: |.s.| = s
thus S1[s] from STACKS_1:sch 3(A1, A2); :: thesis: verum