proposition: Lemma fold_encode_list_body_length: forall (lst: list (BoundedNat 8)) str (c : CacheEncode), padding str = 0 -> List.length (byteString (fst (fold_left (encode_list_body EncodeBoundedNat) lst (str, c)))) = List.length (byteString str) + (length lst).
proof: Proof. induction lst; simpl; intros. - omega. - rewrite encode_char'. rewrite ByteString_transformer_eq_app by auto. simpl; rewrite IHlst by auto; simpl. rewrite app_length; simpl; omega. Qed.
imports: Fiat.Common.Coq__8_4__8_5__Compat CertifiedExtraction.Extraction.BinEncoders.Basics Coq.Lists.List Bedrock.Word Program Nomega