fact: Definition IPv4_Packet_Format : FormatM IPv4_Packet ByteString := (format_nat 4 ◦ (constant 4) ++ format_nat 4 ◦ (plus 5) ◦ @length _ ◦ Options ++ format_unused_word 8 ++ format_word ◦ TotalLength ++ format_word ◦ ID ++ format_unused_word 1 ++ format_bool ◦ DF ++ format_bool ◦ MF ++ format_word ◦ FragmentOffset ++ format_word ◦ TTL ++ format_enum ProtocolTypeCodes ◦ Protocol)%format ThenChecksum IPChecksum_Valid OfSize 16 ThenCarryOn (format_word ◦ SourceAddress ++ format_word ◦ DestAddress ++ format_list format_word ◦ Options)%format.
imports: Coq.Strings.String Coq.Vectors.Vector Coq.ZArith.ZArith Fiat.Common.SumType Fiat.Common.EnumType Fiat.Common.BoundedLookup Fiat.Common.ilist Fiat.Computation Fiat.QueryStructure.Specification.Representation.Notations Fiat.QueryStructure.Specification.Representation.Heading Fiat.QueryStructure.Specification.Representation.Tuple Fiat.Narcissus.BinLib Fiat.Narcissus.Common.Specs Fiat.Narcissus.Common.WordFacts Fiat.Narcissus.Common.ComposeCheckSum Fiat.Narcissus.Common.ComposeIf Fiat.Narcissus.Common.ComposeOpt Fiat.Narcissus.Formats Fiat.Narcissus.BaseFormats Fiat.Narcissus.Stores.EmptyStore Fiat.Narcissus.Automation.Solver Fiat.Narcissus.Automation.AlignedAutomation Bedrock.Word