• Top
    • Documentation
    • Books
    • Recursion-and-induction
    • Boolean-reasoning
    • Projects
    • Debugging
    • Std
    • Proof-automation
    • Macro-libraries
      • B*
      • Defunc
      • Fty
      • Std/util
      • Apt
      • Defdata
      • Defrstobj
      • Seq
      • Match-tree
      • Defrstobj
      • With-supporters
      • Def-partial-measure
      • Template-subst
      • Soft
      • Defthm-domain
      • Event-macros
        • Evmac-input-hints-p
        • Function-definedness
        • Event-macro-input-processing
        • Event-macro-screen-printing
        • Evmac-input-print-p
        • Make-event-terse
        • Event-macro-applicability-conditions
        • Event-macro-results
        • Template-generators
        • Event-macro-event-generators
        • Event-macro-proof-preparation
        • Try-event
        • Restore-output?
        • Restore-output
        • Fail-event
        • Cw-event
        • Event-macro-xdoc-constructors
        • Event-macro-intro-macros
          • Function-intro-macro
          • Theorem-intro-macro
        • Def-universal-equiv
        • Def-saved-obligs
        • With-supporters-after
        • Definec
        • Sig
        • Outer-local
        • Data-structures
      • ACL2
      • Interfacing-tools
      • Hardware-verification
      • Software-verification
      • Testing-utilities
      • Math
    • Event-macro-intro-macros

    Theorem-intro-macro

    Macro (name) for introducing a theorem with a given enablement.

    Signature
    (theorem-intro-macro enable) → macro
    Arguments
    enable — Enable theorem or not.
        Guard (booleanp enable).
    Returns
    macro — Type (member-eq macro '(defthm defthmd)).

    Definitions and Theorems

    Function: theorem-intro-macro

    (defun theorem-intro-macro (enable)
           (declare (xargs :guard (booleanp enable)))
           (let ((__function__ 'theorem-intro-macro))
                (declare (ignorable __function__))
                (if enable 'defthm 'defthmd)))

    Theorem: return-type-of-theorem-intro-macro

    (defthm return-type-of-theorem-intro-macro
            (b* ((macro (theorem-intro-macro enable)))
                (member-eq macro '(defthm defthmd)))
            :rule-classes :rewrite)