• Top
    • Documentation
    • Books
    • Boolean-reasoning
    • Projects
      • Apt
      • Zfc
      • Acre
      • Milawa
      • Smtlink
      • Abnf
        • Deftreeops
        • Defdefparse
        • Defgrammar
        • Tree-utilities
          • Check-tree-nonleaf-num-range-4
          • Check-tree-nonleaf-num-range-3
          • Check-tree-num-range-4
          • Check-tree-nonleaf-num-range-2
          • Check-tree-num-range-3
          • Check-tree-num-range-2
          • Tree-list-tuple10
          • Check-tree-nonleaf-num-range
          • Tree-list-tuple9
          • Tree-list-tuple8
          • Tree-list-tuple7
          • Tree-list-tuple6
          • Check-tree-nonleaf-num-seq
          • Check-tree-num-range
          • Tree-list-tuple5
          • Check-tree-nonleaf-10
          • Check-tree-nonleaf-9
          • Check-tree-nonleaf-8
          • Check-tree-nonleaf-7
          • Check-tree-list-list-10
          • Tree-list-tuple4
          • Check-tree-nonleaf-6
          • Check-tree-nonleaf-5
          • Check-tree-list-list-9
            • Check-tree-nonleaf-4
            • Check-tree-nonleaf-3
            • Check-tree-nonleaf-2
            • Check-tree-nonleaf
            • Check-tree-list-list-8
            • Check-tree-nonleaf-1-1
            • Check-tree-nonleaf-1
            • Check-tree-list-list-7
            • Tree-list-tuple3
            • Pass
            • Check-tree-list-list-6
            • Check-tree-list-list-5
            • Tree=>string
            • Tree-list-tuple2
            • Check-tree-list-list-4
            • Check-tree-list-list-3
            • Check-tree-ichars
            • Check-tree-schars
            • Check-tree-num-seq
            • Check-tree-list-list-2
            • Tree-list-tuple9-result
            • Tree-list-tuple8-result
            • Tree-list-tuple7-result
            • Tree-list-tuple6-result
            • Tree-list-tuple5-result
            • Tree-list-tuple4-result
            • Tree-list-tuple3-result
            • Tree-list-tuple2-result
            • Tree-list-tuple10-result
            • Pass-result
            • Check-tree-list-list-1
            • Tree-info-for-error
            • Check-tree-list-1
            • Check-tree-nonleaf?
            • Check-tree-leafterm
          • Notation
          • Grammar-parser
          • Meta-circular-validation
          • Parsing-primitives-defresult
          • Parsing-primitives-seq
          • Operations
          • Examples
          • 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
    • Tree-utilities

    Check-tree-list-list-9

    Check if a list of lists of ABNF trees consists of nine lists of subtrees, returning those lists of subtrees if successful.

    Signature
    (check-tree-list-list-9 treess) → sub
    Arguments
    treess — Guard (tree-list-listp treess).
    Returns
    sub — Type (tree-list-tuple9-resultp sub).

    Definitions and Theorems

    Function: check-tree-list-list-9

    (defun check-tree-list-list-9 (treess)
      (declare (xargs :guard (tree-list-listp treess)))
      (let ((__function__ 'check-tree-list-list-9))
        (declare (ignorable __function__))
        (if (and (consp treess)
                 (consp (cdr treess))
                 (consp (cddr treess))
                 (consp (cdddr treess))
                 (consp (cddddr treess))
                 (consp (cdr (cddddr treess)))
                 (consp (cddr (cddddr treess)))
                 (consp (cdddr (cddddr treess)))
                 (consp (cddddr (cddddr treess)))
                 (endp (cdr (cddddr (cddddr treess)))))
            (tree-list-tuple9 (car treess)
                              (cadr treess)
                              (caddr treess)
                              (cadddr treess)
                              (car (cddddr treess))
                              (cadr (cddddr treess))
                              (caddr (cddddr treess))
                              (cadddr (cddddr treess))
                              (car (cddddr (cddddr treess))))
          (reserrf (list :found (len treess))))))

    Theorem: tree-list-tuple9-resultp-of-check-tree-list-list-9

    (defthm tree-list-tuple9-resultp-of-check-tree-list-list-9
      (b* ((sub (check-tree-list-list-9 treess)))
        (tree-list-tuple9-resultp sub))
      :rule-classes :rewrite)

    Theorem: tree-count-of-check-tree-list-list-9

    (defthm tree-count-of-check-tree-list-list-9
      (b* ((?sub (check-tree-list-list-9 treess)))
        (implies (not (reserrp sub))
                 (and (< (tree-list-count (tree-list-tuple9->1st sub))
                         (tree-list-list-count treess))
                      (< (tree-list-count (tree-list-tuple9->2nd sub))
                         (tree-list-list-count treess))
                      (< (tree-list-count (tree-list-tuple9->3rd sub))
                         (tree-list-list-count treess))
                      (< (tree-list-count (tree-list-tuple9->4th sub))
                         (tree-list-list-count treess))
                      (< (tree-list-count (tree-list-tuple9->5th sub))
                         (tree-list-list-count treess))
                      (< (tree-list-count (tree-list-tuple9->6th sub))
                         (tree-list-list-count treess))
                      (< (tree-list-count (tree-list-tuple9->7th sub))
                         (tree-list-list-count treess))
                      (< (tree-list-count (tree-list-tuple9->8th sub))
                         (tree-list-list-count treess))
                      (< (tree-list-count (tree-list-tuple9->9th sub))
                         (tree-list-list-count treess)))))
      :rule-classes :linear)

    Theorem: check-tree-list-list-9-of-tree-list-list-fix-treess

    (defthm check-tree-list-list-9-of-tree-list-list-fix-treess
      (equal (check-tree-list-list-9 (tree-list-list-fix treess))
             (check-tree-list-list-9 treess)))

    Theorem: check-tree-list-list-9-tree-list-list-equiv-congruence-on-treess

    (defthm
       check-tree-list-list-9-tree-list-list-equiv-congruence-on-treess
      (implies (tree-list-list-equiv treess treess-equiv)
               (equal (check-tree-list-list-9 treess)
                      (check-tree-list-list-9 treess-equiv)))
      :rule-classes :congruence)