• Top
    • Documentation
    • Books
    • Boolean-reasoning
    • Projects
    • Debugging
    • Std
      • Std/lists
      • Std/alists
      • Obags
      • Std/util
        • Defprojection
        • Deflist
        • Defaggregate
        • Define
        • Defmapping
          • Defsurj
          • Defiso
          • Defmapping-implementation
            • Defmapping-event-generation
              • Defmapping-gen-everything
              • Defmapping-gen-appconds
              • Defmapping-gen-beta-injective
              • Defmapping-gen-alpha-injective
              • Defmapping-gen-nonappcond-thms
              • Defmapping-gen-thms
              • Defmapping-gen-ext-table
              • Defmapping-gen-appcond-thm
              • Defmapping-differentiate-a/b-vars
              • Defmapping-gen-appcond-thms
              • Defmapping-gen-print-result
              • Defmapping-gen-var-aa/bb
                • Defmapping-gen-var-b1...bm
                • Defmapping-gen-var-a1...an
              • Defmapping-check-redundancy
              • Defmapping-table
              • Defmapping-fn
              • Defmapping-input-processing
              • Defmapping-macro-definition
            • Definj
          • Defenum
          • Add-io-pairs
          • Defalist
          • Defmapappend
          • Returns-specifiers
          • Defarbrec
          • Defines
          • Define-sk
          • Error-value-tuples
          • Defmax-nat
          • Defmin-int
          • Deftutorial
          • Extended-formals
          • Defrule
          • Defval
          • Defsurj
          • Defiso
          • Defconstrained-recognizer
          • Deffixer
          • Defmvtypes
          • Defconsts
          • Defthm-unsigned-byte-p
          • Support
          • Defthm-signed-byte-p
          • Defthm-natp
          • Defund-sk
          • Defmacro+
          • Defsum
          • Defthm-commutative
          • Definj
          • Defirrelevant
          • Defredundant
        • Std/strings
        • Std/osets
        • Std/io
        • Std/basic
        • Std/system
        • Std/typed-lists
        • Std/bitsets
        • Std/testing
        • Std/typed-alists
        • Std/stobjs
      • Community
      • Proof-automation
      • Macro-libraries
      • ACL2
      • Interfacing-tools
      • Hardware-verification
      • Software-verification
      • Math
      • Testing-utilities
    • Defmapping-event-generation

    Defmapping-gen-var-aa/bb

    Generate the list of variables (aa1 ... aan) or (bb1 ... bbm) described in the documentation.

    Signature
    (defmapping-gen-var-aa/bb a1/b1...an/bm) → aa1/bb1...aan/bbm
    Arguments
    a1/b1...an/bm — Guard (symbol-listp a1/b1...an/bm).
    Returns
    aa1/bb1...aan/bbm — A symbol-listp.

    We generate these by appending $ to each of (a1 ... an) or (b1 ... bm), using genvar to ensure that we do not introduce clashes.

    Definitions and Theorems

    Function: defmapping-gen-var-aa/bb

    (defun defmapping-gen-var-aa/bb (a1/b1...an/bm)
     (declare (xargs :guard (symbol-listp a1/b1...an/bm)))
     (let ((__function__ 'defmapping-gen-var-aa/bb))
      (declare (ignorable __function__))
      (cond
       ((endp a1/b1...an/bm) nil)
       (t
         (b*
           ((aa2/bb2...aan/bbm
                 (defmapping-gen-var-aa/bb (cdr a1/b1...an/bm)))
            (a1/b1 (car a1/b1...an/bm))
            (aa1/bb1 (genvar a1/b1 (str::cat (symbol-name a1/b1) "$")
                             nil
                             (append a1/b1...an/bm aa2/bb2...aan/bbm))))
           (cons aa1/bb1 aa2/bb2...aan/bbm))))))