• Top
    • Documentation
    • Books
    • Boolean-reasoning
    • Projects
    • Debugging
    • Community
    • Std
      • Std/lists
      • Omaps
      • Std/alists
      • Obags
      • Std/util
      • Std/strings
      • Std/osets
      • Std/io
      • Std/basic
      • Std/system
      • Std/typed-lists
      • Std/bitsets
      • Std/testing
        • Must-fail
        • Assert!-stobj
        • Must-eval-to
          • Must-eval-to-t
          • Assert!
          • Must-succeed
          • Must-succeed*
          • Assert?
          • Must-fail-with-soft-error
          • Must-fail-with-hard-error
          • Must-fail-with-error
          • Must-eval-to-t
            • Must-prove
            • Must-not-prove
            • Must-not-be-table-key
            • Must-be-redundant
            • Must-fail-local
            • Must-be-table-key
            • Assert-equal
          • Std/typed-alists
          • Std/stobjs
        • Proof-automation
        • Macro-libraries
        • ACL2
        • Interfacing-tools
        • Hardware-verification
        • Software-verification
        • Math
        • Testing-utilities
      • Std/testing
      • Errors
      • Must-eval-to

      Must-eval-to-t

      A specialization of must-eval-to to ensure that a form evaluates to a non-erroneous error triple with value t.

      This calls must-eval-to with t as the expr argument. Form should evaluate to an error triple (mv erp val state). If erp is nil and val is t then (must-eval-to form expr) expands to (value-triple t); otherwise expansion causes an appropriate soft error.

      The keyword arguments have the same meaning as in must-eval-to.

      Macro: must-eval-to-t

      (defmacro must-eval-to-t (form &key (ld-skip-proofsp ':default)
                                     (with-output-off ':all)
                                     (check-expansion 'nil
                                                      check-expansion-p))
       (declare (xargs :guard (booleanp check-expansion)))
       (cons
        'must-eval-to
        (cons
         form
         (cons
          't
          (cons
             ':with-output-off
             (cons with-output-off
                   (append (and check-expansion-p
                                (cons ':check-expansion
                                      (cons check-expansion 'nil)))
                           (and (not (eq ld-skip-proofsp :default))
                                (cons ':ld-skip-proofsp
                                      (cons ld-skip-proofsp 'nil))))))))))