Do you mean the following implementation of a queue using two stacks?According to this description, enqueuing always results in one push. Dequeuing seems also clear: if the Outstack is nonempty, then you need just one pop; otherwise, i.e., when the Instack has x elements, you need x pops and x - 1 pushes (the last element does not have to be pushed in the Outstack). I am not sure that induction is necessary...We'll implement a FIFO queue using two stacks. Lets call the stacks Instack and Outstack. An element is inserted in the queue by pushing it into the Instack. An element is extracted from the queue by popping it from the Outstack. If the Outstack is empty then all elements currently in Instack are transferred to Outstack but in the reverse order.