• Top
    • Documentation
    • Books
    • Boolean-reasoning
    • Projects
      • Apt
      • Zfc
      • Acre
      • Milawa
      • Smtlink
      • Abnf
      • Vwsim
      • Isar
      • Wp-gen
      • Dimacs-reader
      • Pfcs
      • Legacy-defrstobj
      • Proof-checker-array
      • Soft
      • C
      • Farray
      • Rp-rewriter
      • Instant-runoff-voting
      • Imp-language
      • Sidekick
      • Leftist-trees
      • Java
      • Taspi
      • Bitcoin
      • Riscv
      • Des
      • Ethereum
      • X86isa
      • Sha-2
      • Yul
        • Transformations
        • Language
          • Abstract-syntax
          • Dynamic-semantics
          • Concrete-syntax
            • Lexer
            • Parser
            • Grammar-old
              • Ocst-statement-conc?
              • Ocst-expression-conc?
              • Ocst-list-list-conc-matchp$
              • Ocst-numberliteral-conc?
              • Ocst-list-list-alt-matchp$
              • Ocst-list-rep-matchp$
              • Ocst-list-elem-matchp$
              • Ocst-matchp$
              • Ocst-statement-conc3-rep-elem
              • Ocst-statement-conc2-rep-elem
              • Ocst-statement-conc10-rep-elem
              • Ocst-numberliteral-conc2-rep-elem
              • Ocst-numberliteral-conc2-rep
              • Ocst-numberliteral-conc1-rep-elem
              • Ocst-numberliteral-conc1-rep
              • Ocst-expression-conc3-rep-elem
              • Ocst-expression-conc2-rep-elem
              • Ocst-expression-conc1-rep-elem
              • Ocst-variabledeclaration-conc
              • Ocst-uppercaseletter-conc-rep-elem
              • Ocst-uppercaseletter-conc-rep
              • Ocst-typedidentifierlist-conc
              • Ocst-trueliteral-conc-rep-elem
              • Ocst-statement-conc9-rep-elem
              • Ocst-statement-conc9-rep
              • Ocst-statement-conc8-rep-elem
              • Ocst-statement-conc8-rep
              • Ocst-statement-conc7-rep-elem
              • Ocst-statement-conc7-rep
              • Ocst-statement-conc6-rep-elem
              • Ocst-statement-conc6-rep
              • Ocst-statement-conc5-rep-elem
              • Ocst-statement-conc5-rep
              • Ocst-statement-conc4-rep-elem
              • Ocst-statement-conc4-rep
              • Ocst-statement-conc3-rep
              • Ocst-statement-conc2-rep
              • Ocst-statement-conc10-rep
              • Ocst-statement-conc10
              • Ocst-statement-conc1-rep-elem
              • Ocst-statement-conc1-rep
              • Ocst-numberliteral-conc2
              • Ocst-numberliteral-conc1
              • Ocst-lowercaseletter-conc-rep-elem
              • Ocst-lowercaseletter-conc-rep
              • Ocst-functiondefinition-conc
              • Ocst-falseliteral-conc-rep-elem
              • Ocst-expression-conc3-rep
              • Ocst-expression-conc3
              • Ocst-expression-conc2-rep
              • Ocst-expression-conc2
                • Ocst-expression-conc1-rep
                • Ocst-expression-conc1
                • Ocst-decimaldigit-conc-rep-elem
                • Ocst-uppercaseletter-conc
                • Ocst-typename-conc-rep-elem
                • Ocst-trueliteral-conc-rep
                • Ocst-stringliteral-conc
                • Ocst-statement-conc9
                • Ocst-statement-conc8
                • Ocst-statement-conc7
                • Ocst-statement-conc6
                • Ocst-statement-conc5
                • Ocst-statement-conc4
                • Ocst-statement-conc3
                • Ocst-statement-conc2
                • Ocst-statement-conc1
                • Ocst-lowercaseletter-conc
                • Ocst-identifierlist-conc
                • Ocst-functioncall-conc
                • Ocst-falseliteral-conc-rep
                • Ocst-falseliteral-conc
                • Ocst-dquote-conc-rep-elem
                • Ocst-decimalnumber-conc
                • Ocst-decimaldigit-conc-rep
                • Ocst-decimaldigit-conc
                • Ocst-typename-conc-rep
                • Ocst-typename-conc
                • Ocst-trueliteral-conc
                • Ocst-switch-conc
                • Ocst-literal-conc
                • Ocst-leave-conc-rep-elem
                • Ocst-leave-conc-rep
                • Ocst-identifier-conc
                • Ocst-hexnumber-conc
                • Ocst-forloop-conc
                • Ocst-dquote-conc-rep
                • Ocst-default-conc
                • Ocst-assignment-conc
                • Ocst-any-conc-rep-elem
                • *grammar-old*
                • Ocst-leave-conc
                • Ocst-if-conc
                • Ocst-dquote-conc
                • Ocst-case-conc
                • Ocst-block-conc
                • Ocst-any-conc-rep
                • Ocst-any-conc
                • Ocst-%x5d-10ffff-nat
                • Ocst-%x0-10ffff-nat
                • Ocst-%xe-21-nat
                • Ocst-%xb-c-nat
                • Ocst-%x61-7a-nat
                • Ocst-%x41-5a-nat
                • Ocst-%x30-39-nat
                • Ocst-%x23-5b-nat
                • Ocst-%x0-9-nat
              • Grammar
              • Tokenizer
            • Static-soundness
            • Static-semantics
            • Errors
          • Yul-json
        • Zcash
        • Proof-checker-itp13
        • Regex
        • ACL2-programming-language
        • Json
        • Jfkr
        • Equational
        • Cryptography
        • Poseidon
        • Where-do-i-place-my-book
        • Axe
        • Bigmems
        • Builtins
        • Execloader
        • Aleo
        • Solidity
        • Paco
        • Concurrent-programs
        • Bls12-377-curves
      • Debugging
      • Std
      • Proof-automation
      • Macro-libraries
      • ACL2
      • Interfacing-tools
      • Hardware-verification
      • Software-verification
      • Math
      • Testing-utilities
    • Grammar-old

    Ocst-expression-conc2

    Signature
    (ocst-expression-conc2 abnf::cst) → abnf::cstss
    Arguments
    abnf::cst — Guard (abnf::treep abnf::cst).
    Returns
    abnf::cstss — Type (abnf::tree-list-listp abnf::cstss).

    Definitions and Theorems

    Function: ocst-expression-conc2

    (defun ocst-expression-conc2 (abnf::cst)
      (declare (xargs :guard (abnf::treep abnf::cst)))
      (declare
           (xargs :guard (and (ocst-matchp abnf::cst "expression")
                              (equal (ocst-expression-conc? abnf::cst)
                                     2))))
      (let ((__function__ 'ocst-expression-conc2))
        (declare (ignorable __function__))
        (abnf::tree-nonleaf->branches abnf::cst)))

    Theorem: tree-list-listp-of-ocst-expression-conc2

    (defthm tree-list-listp-of-ocst-expression-conc2
      (b* ((abnf::cstss (ocst-expression-conc2 abnf::cst)))
        (abnf::tree-list-listp abnf::cstss))
      :rule-classes :rewrite)

    Theorem: ocst-expression-conc2-match

    (defthm ocst-expression-conc2-match
      (implies (and (ocst-matchp abnf::cst "expression")
                    (equal (ocst-expression-conc? abnf::cst)
                           2))
               (b* ((abnf::cstss (ocst-expression-conc2 abnf::cst)))
                 (ocst-list-list-conc-matchp abnf::cstss "identifier")))
      :rule-classes :rewrite)

    Theorem: ocst-expression-conc2-of-tree-fix-cst

    (defthm ocst-expression-conc2-of-tree-fix-cst
      (equal (ocst-expression-conc2 (abnf::tree-fix abnf::cst))
             (ocst-expression-conc2 abnf::cst)))

    Theorem: ocst-expression-conc2-tree-equiv-congruence-on-cst

    (defthm ocst-expression-conc2-tree-equiv-congruence-on-cst
      (implies (abnf::tree-equiv abnf::cst cst-equiv)
               (equal (ocst-expression-conc2 abnf::cst)
                      (ocst-expression-conc2 cst-equiv)))
      :rule-classes :congruence)