• Top
    • Documentation
    • Books
    • Boolean-reasoning
    • Projects
      • Apt
      • Zfc
      • Acre
      • Milawa
      • Smtlink
      • Abnf
        • Deftreeops
        • Defdefparse
        • Defgrammar
        • Tree-utilities
        • Notation
        • Grammar-parser
        • Meta-circular-validation
        • Parsing-primitives-defresult
        • Parsing-primitives-seq
        • Operations
        • Examples
          • Pdf-example
          • Smtp-example
          • Imap-example
          • Http-example
            • *all-http-grammar-rules*
            • *all-http-message-grammar-rules*
              • Http-cst-request-target-conc?
              • Http-cst-uri-host-conc?
              • Http-cst-start-line-conc?
              • Http-cst-list-list-conc-matchp$
              • Http-cst-list-list-alt-matchp$
              • Http-cst-field-vchar-conc?
              • Http-cst-chunk-ext-val-conc?
              • Http-cst-list-rep-matchp$
              • Http-cst-list-elem-matchp$
              • Http-cst-request-target-conc4-rep-elem
              • Http-cst-request-target-conc3-rep-elem
              • Http-cst-request-target-conc2-rep-elem
              • Http-cst-request-target-conc1-rep-elem
              • Http-cst-chunk-ext-val-conc2-rep-elem
              • Http-cst-chunk-ext-val-conc1-rep-elem
              • Http-cst-start-line-conc2-rep-elem
              • Http-cst-start-line-conc1-rep-elem
              • Http-cst-request-target-conc4-rep
              • Http-cst-request-target-conc4
              • Http-cst-request-target-conc3-rep
              • Http-cst-request-target-conc3
              • Http-cst-request-target-conc2-rep
              • Http-cst-request-target-conc2
              • Http-cst-request-target-conc1-rep
              • Http-cst-request-target-conc1
              • Http-cst-protocol-version-conc-rep-elem
              • Http-cst-matchp$
              • Http-cst-field-vchar-conc2-rep-elem
              • Http-cst-field-vchar-conc2-rep
              • Http-cst-field-vchar-conc1-rep-elem
              • Http-cst-field-vchar-conc1-rep
              • Http-cst-connection-option-conc-rep-elem
              • Http-cst-connection-option-conc-rep
              • Http-cst-chunk-ext-val-conc2-rep
              • Http-cst-chunk-ext-val-conc1-rep
              • Http-cst-uri-host-conc3-rep-elem
              • Http-cst-uri-host-conc3-rep
              • Http-cst-uri-host-conc2-rep-elem
              • Http-cst-uri-host-conc2-rep
              • Http-cst-uri-host-conc1-rep-elem
              • Http-cst-uri-host-conc1-rep
              • Http-cst-transfer-parameter-conc
              • Http-cst-transfer-extension-conc
              • Http-cst-transfer-encoding-conc
              • Http-cst-start-line-conc2-rep
              • Http-cst-start-line-conc2
              • Http-cst-start-line-conc1-rep
              • Http-cst-start-line-conc1
              • Http-cst-received-protocol-conc
              • Http-cst-protocol-version-conc-rep
              • Http-cst-protocol-version-conc
              • Http-cst-protocol-name-conc-rep-elem
              • Http-cst-protocol-name-conc-rep
              • Http-cst-field-vchar-conc2
              • Http-cst-field-vchar-conc1
              • Http-cst-field-name-conc-rep-elem
              • Http-cst-connection-option-conc
              • Http-cst-chunk-ext-val-conc2
              • Http-cst-chunk-ext-val-conc1
              • Http-cst-chunk-ext-name-conc-rep-elem
              • Http-cst-chunk-ext-name-conc-rep
              • Http-cst-authority-form-conc-rep-elem
              • Http-cst-authority-form-conc-rep
              • Http-cst-asterisk-form-conc-rep-elem
              • Http-cst-asterisk-form-conc-rep
              • Http-cst-absolute-form-conc-rep-elem
              • Http-cst-absolute-form-conc-rep
              • Http-cst-uri-host-conc3
              • Http-cst-uri-host-conc2
              • Http-cst-uri-host-conc1
              • Http-cst-trailer-part-conc
              • Http-cst-status-line-conc
              • Http-cst-status-code-conc
              • Http-cst-segment-nz-nc-conc
              • Http-cst-request-line-conc
              • Http-cst-reason-phrase-conc
              • Http-cst-quoted-string-conc
              • Http-cst-quoted-pair-conc
              • Http-cst-pseudonym-conc-rep-elem
              • Http-cst-pseudonym-conc-rep
              • Http-cst-protocol-name-conc
              • Http-cst-pct-encoded-conc
              • Http-cst-path-rootless-conc
              • Http-cst-path-noscheme-conc
              • Http-cst-path-absolute-conc
              • Http-cst-path-abempty-conc
              • Http-cst-partial-uri-conc
              • Http-cst-origin-form-conc
              • Http-cst-obs-text-conc-rep-elem
              • Http-cst-obs-text-conc-rep
              • Http-cst-method-conc-rep-elem
              • Http-cst-message-body-conc
              • Http-cst-last-chunk-conc
              • Http-cst-ipv4address-conc
              • Http-cst-ip-literal-conc
              • Http-cst-http-version-conc
              • Http-cst-http-name-conc-rep-elem
              • Http-cst-http-name-conc-rep
              • Http-cst-http-message-conc
              • Http-cst-header-field-conc
              • Http-cst-field-value-conc
              • Http-cst-field-name-conc-rep
              • Http-cst-field-content-conc
              • Http-cst-dquote-conc-rep-elem
              • Http-cst-content-length-conc
              • Http-cst-connection-conc
              • Http-cst-chunked-body-conc
              • Http-cst-chunk-ext-name-conc
              • Http-cst-authority-form-conc
              • Http-cst-asterisk-form-conc
              • Http-cst-absolute-uri-conc
              • Http-cst-absolute-path-conc
              • Http-cst-absolute-form-conc
              • Http-cst-via-conc
              • Http-cst-vchar-conc-rep-elem
              • Http-cst-vchar-conc-rep
              • Http-cst-userinfo-conc
              • Http-cst-upgrade-conc
              • Http-cst-trailer-conc
              • Http-cst-te-conc-rep-elem
              • Http-cst-te-conc-rep
              • Http-cst-t-ranking-conc
              • Http-cst-sp-conc-rep-elem
              • Http-cst-segment-nz-conc
              • Http-cst-segment-conc
              • Http-cst-scheme-conc
              • Http-cst-reg-name-conc
              • Http-cst-pseudonym-conc
              • Http-cst-protocol-conc
              • Http-cst-path-empty-conc
              • Http-cst-octet-conc-rep-elem
              • Http-cst-octet-conc-rep
              • Http-cst-obs-text-conc
              • Http-cst-obs-fold-conc
              • Http-cst-method-conc-rep
              • Http-cst-method-conc
              • Http-cst-lf-conc-rep-elem
              • Http-cst-ipvfuture-conc
              • Http-cst-https-uri-conc
              • Http-cst-http-uri-conc
              • Http-cst-http-name-conc
              • Http-cst-htab-conc-rep-elem
              • Http-cst-htab-conc-rep
              • Http-cst-fragment-conc
              • Http-cst-field-name-conc
              • Http-cst-dquote-conc-rep
              • Http-cst-dquote-conc
              • Http-cst-digit-conc-rep-elem
              • Http-cst-digit-conc-rep
              • Http-cst-cr-conc-rep-elem
              • Http-cst-comment-conc
              • Http-cst-chunk-size-conc
              • Http-cst-chunk-ext-conc
              • Http-cst-chunk-data-conc
              • Http-cst-chunk-conc
              • Http-cst-bws-conc-rep-elem
              • Http-cst-bws-conc-rep
              • Http-cst-authority-conc
              • *http-grammar-rules*
              • Http-cst-vchar-conc
              • Http-cst-token-conc
              • Http-cst-te-conc
              • Http-cst-sp-conc-rep
              • Http-cst-sp-conc
              • Http-cst-rws-conc
              • Http-cst-query-conc
              • Http-cst-port-conc
              • Http-cst-ows-conc
              • Http-cst-octet-conc
              • Http-cst-lf-conc-rep
              • Http-cst-lf-conc
              • Http-cst-htab-conc
              • Http-cst-host-conc
              • Http-cst-h16-conc
              • Http-cst-digit-conc
              • Http-cst-crlf-conc
              • Http-cst-cr-conc-rep
              • Http-cst-cr-conc
              • Http-cst-bws-conc
              • Http-cst-%x80-ff-nat
              • Http-cst-%x61-7a-nat
              • Http-cst-%x5d-7e-nat
              • Http-cst-%x41-5a-nat
              • Http-cst-%x31-39-nat
              • Http-cst-%x30-39-nat
              • Http-cst-%x30-35-nat
              • Http-cst-%x30-34-nat
              • Http-cst-%x2a-5b-nat
              • Http-cst-%x23-5b-nat
              • Http-cst-%x21-7e-nat
              • Http-cst-%x21-27-nat
              • Http-cst-%x0-ff-nat
            • Uri-example
            • Imf-example
          • Differences-with-paper
          • Constructor-utilities
          • Grammar-printer
          • Parsing-tools
        • Vwsim
        • Isar
        • Wp-gen
        • Dimacs-reader
        • Pfcs
        • Legacy-defrstobj
        • C
        • Proof-checker-array
        • Soft
        • Farray
        • Rp-rewriter
        • Instant-runoff-voting
        • Imp-language
        • Sidekick
        • Ethereum
        • Leftist-trees
        • Java
        • Riscv
        • Taspi
        • Bitcoin
        • Zcash
        • Des
        • X86isa
        • Sha-2
        • Yul
        • Proof-checker-itp13
        • Regex
        • ACL2-programming-language
        • Json
        • Jfkr
        • Equational
        • Cryptography
        • Axe
        • Poseidon
        • Where-do-i-place-my-book
        • Aleo
        • Bigmems
        • Builtins
        • Execloader
        • Solidity
        • Paco
        • Concurrent-programs
        • Bls12-377-curves
      • Debugging
      • Community
      • Std
      • Proof-automation
      • Macro-libraries
      • ACL2
      • Interfacing-tools
      • Hardware-verification
      • Software-verification
      • Math
      • Testing-utilities
    • Http-example

    *all-http-message-grammar-rules*

    All the HTTP grammar rules that define the first-level structure of messages.

    Starting from the top-level rule HTTP-message that defines messages, not all the rules in *all-http-grammar-rules* are reached when generating strings of terminals. The rules that are not reached serve to define the format of certain field values and the format for the chunked transfer coding.

    The rules reached starting from HTTP-message provide a first-level definition of messages. According to these rules, strings of terminals (octets) are parsed into trees rooted at HTTP-message. In these parse trees, field values are ``opaque'', i.e. they are essentially unstructured sequences of certain octets, according to the field-content rule. These field values can be parsed further according to the other rules.

    The rules reached starting from HTTP-message are well-formed and closed. Since they are a subset of *all-http-grammar-rules*, they also generate terminal strings consisting only of octets.

    Definition: *all-http-message-grammar-rules*

    (defconst *all-http-message-grammar-rules*
      (trans-rules-of-names (list (rulename "HTTP-message"))
                            *all-http-grammar-rules*))

    Definitions and Theorems

    Theorem: rulelist-wfp-of-*all-http-message-grammar-rules*

    (defthm rulelist-wfp-of-*all-http-message-grammar-rules*
      (rulelist-wfp *all-http-message-grammar-rules*))

    Theorem: rulelist-closedp-of-*all-http-message-grammar-rules*

    (defthm rulelist-closedp-of-*all-http-message-grammar-rules*
      (rulelist-closedp *all-http-message-grammar-rules*))