proposition: Lemma whd_eq_rect_comm : forall sz sz' w eq_comm, whd (eq_rect (S (sz + sz')) word w (S (sz' + sz)) eq_comm) = whd w.
proof: Proof. intros ? ?; rewrite trans_plus_comm; intros. destruct (shatter_word_S w) as (?, (w', H)); rewrite H in *; clear. unfold eq_rect; simpl. pattern eq_comm. apply K_dec_set; eauto; decide equality. Qed.
imports: Fiat.Common.Coq__8_4__8_5__Compat Coq.Logic.Eqdep_dec Fiat.Computation Fiat.Narcissus.Common.Specs Fiat.Narcissus.Common.ComposeOpt Fiat.Narcissus.Formats.WordOpt Fiat.Narcissus.Formats.EnumOpt Fiat.Narcissus.Formats.Sequence Fiat.Narcissus.BaseFormats Fiat.Narcissus.BinLib.AlignedEncodeMonad Coq.Vectors.Vector Coq.ZArith.ZArith Bedrock.Word