• Top
    • Documentation
    • Books
    • Boolean-reasoning
    • Projects
    • Debugging
    • Std
    • Proof-automation
    • Macro-libraries
      • B*
      • Defunc
      • Fty
      • Apt
      • Std/util
        • Defprojection
        • Deflist
        • Defaggregate
        • Define
        • Defmapping
        • Defenum
        • Add-io-pairs
        • Defalist
        • Defmapappend
        • Returns-specifiers
        • Defarbrec
          • Defarbrec-implementation
            • Defarbrec-event-generation
            • Defarbrec-input-processing
              • Defarbrec-process-terminates-name
              • Defarbrec-process-body
              • Defarbrec-process-inputs
              • Defarbrec-process-update-names
              • Defarbrec-process-measure-name
              • Defarbrec-default-update-names
              • Defarbrec-process-nonterminating
              • Defarbrec-process-x1...xn
              • Defarbrec-process-print
              • Defarbrec-process-fn
              • Defarbrec-process-show-only
              • Defarbrec-printp
              • Defarbrec-check-redundancy
              • Defarbrec-fn
              • Defarbrec-table
              • Defarbrec-macro-definition
          • 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
        • Defdata
        • Defrstobj
        • Seq
        • Match-tree
        • Defrstobj
        • With-supporters
        • Def-partial-measure
        • Template-subst
        • Soft
        • Defthm-domain
        • Event-macros
        • Def-universal-equiv
        • Def-saved-obligs
        • With-supporters-after
        • Definec
        • Sig
        • Outer-local
        • Data-structures
      • ACL2
      • Interfacing-tools
      • Hardware-verification
      • Software-verification
      • Math
      • Testing-utilities
    • Defarbrec-input-processing

    Defarbrec-printp

    Recognize the allowed values of the :print input.

    This is an ordinary std::defenum.

    Function: defarbrec-printp

    (defun defarbrec-printp (x)
      (declare (xargs :guard t))
      (or (eq x 'nil)
          (eq x ':error)
          (eq x ':result)
          (eq x ':all)))

    Theorem: type-when-defarbrec-printp

    (defthm type-when-defarbrec-printp
      (implies (defarbrec-printp x)
               (if (if (symbolp x)
                       (if (not (equal x 't))
                           (not (equal x 'nil))
                         'nil)
                     'nil)
                   't
                 (equal x 'nil)))
      :rule-classes :compound-recognizer)