• 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
            • Pdf-cst-dict-value-conc?
              • Pdf-cst-dict-entry-conc?
              • Pdf-cst-list-list-conc-matchp$
              • Pdf-cst-list-list-alt-matchp$
              • Pdf-cst-list-rep-matchp$
              • Pdf-cst-list-elem-matchp$
              • Pdf-cst-startxref-marker-conc-rep-elem
              • Pdf-cst-reference-array-entry-conc
              • Pdf-cst-matchp$
              • Pdf-cst-endstream-marker-conc-rep-elem
              • Pdf-cst-dict-value-conc9-rep-elem
              • Pdf-cst-dict-value-conc8-rep-elem
              • Pdf-cst-dict-value-conc7-rep-elem
              • Pdf-cst-dict-value-conc6-rep-elem
              • Pdf-cst-dict-value-conc5-rep-elem
              • Pdf-cst-dict-value-conc4-rep-elem
              • Pdf-cst-dict-value-conc3-rep-elem
              • Pdf-cst-dict-value-conc2-rep-elem
              • Pdf-cst-dict-value-conc1-rep-elem
              • Pdf-cst-dict-entry-conc8-rep-elem
              • Pdf-cst-dict-entry-conc7-rep-elem
              • Pdf-cst-dict-entry-conc6-rep-elem
              • Pdf-cst-dict-entry-conc5-rep-elem
              • Pdf-cst-dict-entry-conc4-rep-elem
              • Pdf-cst-dict-entry-conc3-rep-elem
              • Pdf-cst-dict-entry-conc2-rep-elem
              • Pdf-cst-dict-entry-conc1-rep-elem
              • Pdf-cst-xref-marker-conc-rep-elem
              • Pdf-cst-trailer-marker-conc-rep-elem
              • Pdf-cst-trailer-marker-conc-rep
              • Pdf-cst-trailer-dictionary-conc
              • Pdf-cst-stream-marker-conc-rep-elem
              • Pdf-cst-startxref-marker-conc-rep
              • Pdf-cst-startxref-marker-conc
              • Pdf-cst-right-bracket-conc-rep-elem
              • Pdf-cst-reference-array-conc
              • Pdf-cst-left-bracket-conc-rep-elem
              • Pdf-cst-endstream-marker-conc-rep
              • Pdf-cst-endstream-marker-conc
              • Pdf-cst-endobj-marker-conc-rep-elem
              • Pdf-cst-dict-value-conc9-rep
              • Pdf-cst-dict-value-conc9
              • Pdf-cst-dict-value-conc8-rep
              • Pdf-cst-dict-value-conc8
              • Pdf-cst-dict-value-conc7-rep
              • Pdf-cst-dict-value-conc7
              • Pdf-cst-dict-value-conc6-rep
              • Pdf-cst-dict-value-conc6
              • Pdf-cst-dict-value-conc5-rep
              • Pdf-cst-dict-value-conc5
              • Pdf-cst-dict-value-conc4-rep
              • Pdf-cst-dict-value-conc4
              • Pdf-cst-dict-value-conc3-rep
              • Pdf-cst-dict-value-conc3
              • Pdf-cst-dict-value-conc2-rep
              • Pdf-cst-dict-value-conc2
              • Pdf-cst-dict-value-conc1-rep
              • Pdf-cst-dict-value-conc1
              • Pdf-cst-dict-entry-conc8-rep
              • Pdf-cst-dict-entry-conc8
              • Pdf-cst-dict-entry-conc7-rep
              • Pdf-cst-dict-entry-conc7
              • Pdf-cst-dict-entry-conc6-rep
              • Pdf-cst-dict-entry-conc6
              • Pdf-cst-dict-entry-conc5-rep
              • Pdf-cst-dict-entry-conc5
              • Pdf-cst-dict-entry-conc4-rep
              • Pdf-cst-dict-entry-conc4
              • Pdf-cst-dict-entry-conc3-rep
              • Pdf-cst-dict-entry-conc3
              • Pdf-cst-dict-entry-conc2-rep
              • Pdf-cst-dict-entry-conc2
              • Pdf-cst-dict-entry-conc1-rep
              • Pdf-cst-dict-entry-conc1
              • *pdf-grammar-rules*
              • Pdf-cst-xref-marker-conc-rep
              • Pdf-cst-xref-entry-conc
              • Pdf-cst-trailer-marker-conc
              • Pdf-cst-stream-marker-conc-rep
              • Pdf-cst-stream-marker-conc
              • Pdf-cst-start-dict-conc-rep-elem
              • Pdf-cst-start-dict-conc-rep
              • Pdf-cst-right-bracket-conc-rep
              • Pdf-cst-right-bracket-conc
              • Pdf-cst-pdf-marker-conc-rep-elem
              • Pdf-cst-pdf-marker-conc-rep
              • Pdf-cst-obj-marker-conc-rep-elem
              • Pdf-cst-obj-marker-conc-rep
              • Pdf-cst-name-char-conc-rep-elem
              • Pdf-cst-name-char-conc-rep
              • Pdf-cst-left-bracket-conc-rep
              • Pdf-cst-left-bracket-conc
              • Pdf-cst-eof-marker-conc-rep-elem
              • Pdf-cst-eof-marker-conc-rep
              • Pdf-cst-endobj-marker-conc-rep
              • Pdf-cst-endobj-marker-conc
              • Pdf-cst-end-dict-conc-rep-elem
              • Pdf-cst-digit1-9-conc-rep-elem
              • Pdf-cst-dictionary-conc
              • Pdf-cst-default-entry-conc
              • Pdf-cst-backslash-conc-rep-elem
              • Pdf-cst-backslash-conc-rep
              • Pdf-cst-zero-conc-rep-elem
              • Pdf-cst-zero-conc-rep
              • Pdf-cst-xref-marker-conc
              • Pdf-cst-xref-int-conc
              • Pdf-cst-type-entry-conc
              • Pdf-cst-trailer-conc
              • Pdf-cst-stream-conc
              • Pdf-cst-start-dict-conc
              • Pdf-cst-slash-conc-rep-elem
              • Pdf-cst-slash-conc-rep
              • Pdf-cst-reference-conc
              • Pdf-cst-rectangle-conc
              • Pdf-cst-plus-conc-rep-elem
              • Pdf-cst-plus-conc-rep
              • Pdf-cst-period-conc-rep-elem
              • Pdf-cst-period-conc-rep
              • Pdf-cst-pdf-marker-conc
              • Pdf-cst-objects-conc
              • Pdf-cst-object-conc
              • Pdf-cst-obj-marker-conc
              • Pdf-cst-null-conc-rep-elem
              • Pdf-cst-null-conc-rep
              • Pdf-cst-name-char-conc
              • Pdf-cst-minus-conc-rep-elem
              • Pdf-cst-minus-conc-rep
              • Pdf-cst-header-conc
              • Pdf-cst-font-entry-conc
              • Pdf-cst-eof-marker-conc
              • Pdf-cst-end-dict-conc-rep
              • Pdf-cst-end-dict-conc
              • Pdf-cst-digit1-9-conc-rep
              • Pdf-cst-digit1-9-conc
              • Pdf-cst-digit-conc-rep-elem
              • Pdf-cst-digit-conc-rep
              • Pdf-cst-dict-key-conc
              • Pdf-cst-backslash-conc
              • Pdf-cst-array-conc
              • Pdf-cst-zero-conc
              • Pdf-cst-xref-conc
              • Pdf-cst-ws-conc
              • Pdf-cst-string-conc
              • Pdf-cst-slash-conc
              • Pdf-cst-real-conc
              • Pdf-cst-plus-conc
              • Pdf-cst-period-conc
              • Pdf-cst-pdf-conc
              • Pdf-cst-null-conc
              • Pdf-cst-name-conc
              • Pdf-cst-minus-conc
              • Pdf-cst-font-conc
              • Pdf-cst-digit-conc
              • Pdf-cst-%x5d-10ffff-nat
              • Pdf-cst-%x31-39-nat
              • Pdf-cst-%x30-39-nat
              • Pdf-cst-%x23-5b-nat
              • Pdf-cst-%x20-7e-nat
              • Pdf-cst-%x20-21-nat
            • Smtp-example
            • Imap-example
            • Http-example
            • 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
    • Pdf-example

    Pdf-cst-dict-value-conc?

    Signature
    (pdf-cst-dict-value-conc? cst) → number
    Arguments
    cst — Guard (treep cst).
    Returns
    number — Type (posp number).

    Definitions and Theorems

    Function: pdf-cst-dict-value-conc?

    (defun pdf-cst-dict-value-conc? (cst)
      (declare (xargs :guard (treep cst)))
      (declare (xargs :guard (pdf-cst-matchp cst "dict-value")))
      (let ((__function__ 'pdf-cst-dict-value-conc?))
        (declare (ignorable __function__))
        (cond ((equal (tree-nonleaf->rulename?
                           (nth 0 (nth 0 (tree-nonleaf->branches cst))))
                      (rulename "boolean"))
               1)
              ((equal (tree-nonleaf->rulename?
                           (nth 0 (nth 0 (tree-nonleaf->branches cst))))
                      (rulename "number"))
               2)
              ((equal (tree-nonleaf->rulename?
                           (nth 0 (nth 0 (tree-nonleaf->branches cst))))
                      (rulename "name"))
               3)
              ((equal (tree-nonleaf->rulename?
                           (nth 0 (nth 0 (tree-nonleaf->branches cst))))
                      (rulename "array"))
               4)
              ((equal (tree-nonleaf->rulename?
                           (nth 0 (nth 0 (tree-nonleaf->branches cst))))
                      (rulename "dictionary"))
               5)
              ((equal (tree-nonleaf->rulename?
                           (nth 0 (nth 0 (tree-nonleaf->branches cst))))
                      (rulename "null"))
               6)
              ((equal (tree-nonleaf->rulename?
                           (nth 0 (nth 0 (tree-nonleaf->branches cst))))
                      (rulename "rectangle"))
               7)
              ((equal (tree-nonleaf->rulename?
                           (nth 0 (nth 0 (tree-nonleaf->branches cst))))
                      (rulename "reference"))
               8)
              ((equal (tree-nonleaf->rulename?
                           (nth 0 (nth 0 (tree-nonleaf->branches cst))))
                      (rulename "string"))
               9)
              (t (prog2$ (acl2::impossible) 1)))))

    Theorem: posp-of-pdf-cst-dict-value-conc?

    (defthm posp-of-pdf-cst-dict-value-conc?
      (b* ((number (pdf-cst-dict-value-conc? cst)))
        (posp number))
      :rule-classes :rewrite)

    Theorem: pdf-cst-dict-value-conc?-possibilities

    (defthm pdf-cst-dict-value-conc?-possibilities
      (b* ((number (pdf-cst-dict-value-conc? cst)))
        (or (equal number 1)
            (equal number 2)
            (equal number 3)
            (equal number 4)
            (equal number 5)
            (equal number 6)
            (equal number 7)
            (equal number 8)
            (equal number 9)))
      :rule-classes
      ((:forward-chaining
            :trigger-terms ((pdf-cst-dict-value-conc? cst)))))

    Theorem: pdf-cst-dict-value-conc?-of-tree-fix-cst

    (defthm pdf-cst-dict-value-conc?-of-tree-fix-cst
      (equal (pdf-cst-dict-value-conc? (tree-fix cst))
             (pdf-cst-dict-value-conc? cst)))

    Theorem: pdf-cst-dict-value-conc?-tree-equiv-congruence-on-cst

    (defthm pdf-cst-dict-value-conc?-tree-equiv-congruence-on-cst
      (implies (tree-equiv cst cst-equiv)
               (equal (pdf-cst-dict-value-conc? cst)
                      (pdf-cst-dict-value-conc? cst-equiv)))
      :rule-classes :congruence)

    Theorem: pdf-cst-dict-value-conc?-1-iff-match-conc

    (defthm pdf-cst-dict-value-conc?-1-iff-match-conc
     (implies
        (pdf-cst-matchp cst "dict-value")
        (iff (equal (pdf-cst-dict-value-conc? cst) 1)
             (pdf-cst-list-list-conc-matchp (tree-nonleaf->branches cst)
                                            "boolean"))))

    Theorem: pdf-cst-dict-value-conc?-2-iff-match-conc

    (defthm pdf-cst-dict-value-conc?-2-iff-match-conc
     (implies
        (pdf-cst-matchp cst "dict-value")
        (iff (equal (pdf-cst-dict-value-conc? cst) 2)
             (pdf-cst-list-list-conc-matchp (tree-nonleaf->branches cst)
                                            "number"))))

    Theorem: pdf-cst-dict-value-conc?-3-iff-match-conc

    (defthm pdf-cst-dict-value-conc?-3-iff-match-conc
     (implies
        (pdf-cst-matchp cst "dict-value")
        (iff (equal (pdf-cst-dict-value-conc? cst) 3)
             (pdf-cst-list-list-conc-matchp (tree-nonleaf->branches cst)
                                            "name"))))

    Theorem: pdf-cst-dict-value-conc?-4-iff-match-conc

    (defthm pdf-cst-dict-value-conc?-4-iff-match-conc
     (implies
        (pdf-cst-matchp cst "dict-value")
        (iff (equal (pdf-cst-dict-value-conc? cst) 4)
             (pdf-cst-list-list-conc-matchp (tree-nonleaf->branches cst)
                                            "array"))))

    Theorem: pdf-cst-dict-value-conc?-5-iff-match-conc

    (defthm pdf-cst-dict-value-conc?-5-iff-match-conc
     (implies
        (pdf-cst-matchp cst "dict-value")
        (iff (equal (pdf-cst-dict-value-conc? cst) 5)
             (pdf-cst-list-list-conc-matchp (tree-nonleaf->branches cst)
                                            "dictionary"))))

    Theorem: pdf-cst-dict-value-conc?-6-iff-match-conc

    (defthm pdf-cst-dict-value-conc?-6-iff-match-conc
     (implies
        (pdf-cst-matchp cst "dict-value")
        (iff (equal (pdf-cst-dict-value-conc? cst) 6)
             (pdf-cst-list-list-conc-matchp (tree-nonleaf->branches cst)
                                            "null"))))

    Theorem: pdf-cst-dict-value-conc?-7-iff-match-conc

    (defthm pdf-cst-dict-value-conc?-7-iff-match-conc
     (implies
        (pdf-cst-matchp cst "dict-value")
        (iff (equal (pdf-cst-dict-value-conc? cst) 7)
             (pdf-cst-list-list-conc-matchp (tree-nonleaf->branches cst)
                                            "rectangle"))))

    Theorem: pdf-cst-dict-value-conc?-8-iff-match-conc

    (defthm pdf-cst-dict-value-conc?-8-iff-match-conc
     (implies
        (pdf-cst-matchp cst "dict-value")
        (iff (equal (pdf-cst-dict-value-conc? cst) 8)
             (pdf-cst-list-list-conc-matchp (tree-nonleaf->branches cst)
                                            "reference"))))

    Theorem: pdf-cst-dict-value-conc?-9-iff-match-conc

    (defthm pdf-cst-dict-value-conc?-9-iff-match-conc
     (implies
        (pdf-cst-matchp cst "dict-value")
        (iff (equal (pdf-cst-dict-value-conc? cst) 9)
             (pdf-cst-list-list-conc-matchp (tree-nonleaf->branches cst)
                                            "string"))))