proposition: Lemma dequeue_encode_word'_enqueue_opt' : forall n w w' b b' ext, dequeue_opt w' = Some (b, b') -> dequeue_opt (mappend (encode_word' n w w') ext) = Some (b, (mappend (encode_word' n w b') ext)).
proof: Proof. induction w; simpl; intros. - erewrite dequeue_mappend_opt; eauto using dequeue_head_opt. - eapply dequeue_mappend_opt. rewrite enqueue_opt_format_word. erewrite IHw; eauto. rewrite <- enqueue_opt_format_word; reflexivity. Qed.
imports: Fiat.Common.Coq__8_4__8_5__Compat Coq.ZArith.ZArith Fiat.Common Fiat.Computation.Notations Fiat.Narcissus.Common.Specs Fiat.Narcissus.Common.WordFacts Fiat.Narcissus.BaseFormats