stackInSomeState : {l m : Level} {D : Set l} {t : Set m} (s : SingleLinkedStack D) !$\rightarrow$! Stack {l} {m} D {t} ( SingleLinkedStack D) stackInSomeState s = record { stack = s ; stackMethods = singleLinkedStackSpec } push!$\rightarrow$!push!$\rightarrow$!pop2 : {l : Level} {D : Set l} (x y : D) (s : SingleLinkedStack D) !$\rightarrow$! pushStack (stackInSomeState s) x (\s1 !$\rightarrow$! pushStack s1 y (\s2 !$\rightarrow$! pop2Stack s2 (\s3 y1 x1 !$\rightarrow$! (Just x !$\equiv$! x1) !$\wedge$! (Just y !$\equiv$! y1)))) push!$\rightarrow$!push!$\rightarrow$!pop2 {l} {D} x y s = record {pi1 = refl ; pi2 = refl}