• 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-check-redundancy
            • Defmapping-table
            • Defmapping-fn
            • Defmapping-input-processing
              • Defmapping-process-thm-names
              • Defmapping-process-inputs
              • Defmapping-process-function
              • Defmapping-process-functions
              • Defmapping-process-thm-enable
              • Defmapping-thm-keywords
                • Defmapping-process-name
              • Defmapping-macro-definition
            • Definj
          • Defenum
          • Add-io-pairs
          • Defalist
          • Defmapappend
          • Returns-specifiers
          • Defarbrec
          • Define-sk
          • Defines
          • 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
      • Proof-automation
      • Macro-libraries
      • ACL2
      • Interfacing-tools
      • Hardware-verification
      • Software-verification
      • Math
      • Testing-utilities
    • Defmapping-input-processing

    Defmapping-thm-keywords

    Keywords that identify all the theorems to generate.

    Signature
    (defmapping-thm-keywords beta-of-alpha-thm$ 
                             alpha-of-beta-thm$ guard-thms$) 
     
      → 
    thm-keywords
    Arguments
    beta-of-alpha-thm$ — Guard (booleanp beta-of-alpha-thm$).
    alpha-of-beta-thm$ — Guard (booleanp alpha-of-beta-thm$).
    guard-thms$ — Guard (booleanp guard-thms$).
    Returns
    thm-keywords — Type (keyword-listp thm-keywords).

    Definitions and Theorems

    Function: defmapping-thm-keywords

    (defun defmapping-thm-keywords
           (beta-of-alpha-thm$ alpha-of-beta-thm$ guard-thms$)
      (declare (xargs :guard (and (booleanp beta-of-alpha-thm$)
                                  (booleanp alpha-of-beta-thm$)
                                  (booleanp guard-thms$))))
      (let ((__function__ 'defmapping-thm-keywords))
        (declare (ignorable __function__))
        (append (list :alpha-image :beta-image)
                (and beta-of-alpha-thm$
                     (list :beta-of-alpha :alpha-injective))
                (and alpha-of-beta-thm$
                     (list :alpha-of-beta :beta-injective))
                (and guard-thms$
                     (list :doma-guard :domb-guard
                           :alpha-guard :beta-guard)))))

    Theorem: keyword-listp-of-defmapping-thm-keywords

    (defthm keyword-listp-of-defmapping-thm-keywords
      (b*
        ((thm-keywords
              (defmapping-thm-keywords beta-of-alpha-thm$
                                       alpha-of-beta-thm$ guard-thms$)))
        (keyword-listp thm-keywords))
      :rule-classes :rewrite)

    Theorem: no-duplicatesp-equal-of-defmapping-thm-keywords

    (defthm no-duplicatesp-equal-of-defmapping-thm-keywords
      (b*
        ((thm-keywords
              (defmapping-thm-keywords beta-of-alpha-thm$
                                       alpha-of-beta-thm$ guard-thms$)))
        (no-duplicatesp-equal thm-keywords))
      :rule-classes :rewrite)