theory Stack_Aux imports Stack begin text‹The function ‹list› appends the two lists and is needed for the list abstraction of the deque.› fun list :: "'a stack ⇒ 'a list" where "list (Stack left right) = left @ right" instantiation stack ::(type) size begin fun size_stack :: "'a stack ⇒ nat" where "size (Stack left right) = length left + length right" instance.. end end