• Top
    • Documentation
    • Books
    • Boolean-reasoning
    • Projects
    • Debugging
    • Std
    • Community
    • Proof-automation
    • Macro-libraries
    • ACL2
    • Interfacing-tools
    • Hardware-verification
    • Software-verification
      • Kestrel-books
        • Crypto-hdwallet
        • Apt
        • Error-checking
        • Fty-extensions
        • Isar
        • Kestrel-utilities
        • Set
        • Soft
          • Soft-future-work
          • Soft-macros
          • Updates-to-workshop-material
          • Soft-implementation
            • Soft-implementation-core
              • Sothm-inst-facts
              • Ext-fun-subst-term/terms/function
              • Fun-subst-function
              • Sothm-inst-pairs
              • Funvars-of-term/terms
              • Funvars-of-plain-fn
              • Sothm-inst-proof
              • Fun-subst-term/terms
              • Get-sof-instance
              • Sof-instancesp
              • Put-sof-instance
              • Fun-substp
              • Sofun-kindp
              • Funvar-listp
              • *-listp
              • Funvars-of-quantifier-fn
                • No-trivial-pairsp
                • Funvars-of-choice-fn
                • Funvar-instp
                • Funvars-of-thm
                • Sofunp
                • Funvarp
                • Sof-instances
                • Sothmp
                • Quant-sofunp
                • Plain-sofunp
                • Funvar-inst-listp
                • Choice-sofunp
                • Sofun-funvars
                • Sofun-kind
                • Function-variables-table
                • Sof-instances-table
                • Second-order-functions-table
              • Gen-macro2-of-macro
              • Defun-inst-implementation
              • Defthm-inst-implementation
              • Defsoft-implementation
              • Defunvar-implementation
              • Defund-sk2-implementation
              • Defun-sk2-implementation
              • Define-sk2-implementation
              • Defchoose2-implementation
              • Defund2-implementation
              • Defun2-implementation
              • Define2-implementation
            • Soft-notions
          • C
          • Bv
          • Imp-language
          • Event-macros
          • Java
          • Bitcoin
          • Ethereum
          • Yul
          • Zcash
          • ACL2-programming-language
          • Prime-fields
          • Json
          • Syntheto
          • File-io-light
          • Cryptography
          • Number-theory
          • Lists-light
          • Axe
          • Builtins
          • Solidity
          • Helpers
          • Htclient
          • Typed-lists-light
          • Arithmetic-light
        • X86isa
        • Axe
        • Execloader
      • Math
      • Testing-utilities
    • Soft-implementation-core

    Funvars-of-quantifier-fn

    Function variables depended on by a quantifier second-order function or by an instance of it.

    Signature
    (funvars-of-quantifier-fn fun wrld) → funvars
    Arguments
    fun — Guard (symbolp fun).
    wrld — Guard (plist-worldp wrld).
    Returns
    funvars — A funvar-listp.

    Quantifier second-order functions and their instances may depend on function variables via their matrices and via their guards (which are introduced via declare forms).

    The returned list may contain duplicates.

    Definitions and Theorems

    Function: funvars-of-quantifier-fn

    (defun funvars-of-quantifier-fn (fun wrld)
      (declare (xargs :guard (and (symbolp fun)
                                  (plist-worldp wrld))))
      (let ((__function__ 'funvars-of-quantifier-fn))
        (declare (ignorable __function__))
        (let* ((matrix (defun-sk-matrix fun wrld))
               (guard (uguard fun wrld))
               (matrix-funvars (funvars-of-term matrix wrld))
               (guard-funvars (funvars-of-term guard wrld)))
          (append matrix-funvars guard-funvars))))