Filtering...

defthm-support-for-on-failure

books/acl2s/cgen/defthm-support-for-on-failure

Included Books

top
other
(in-package "ACL2")
include-book
(include-book "acl2s/cgen/top" :dir :system :ttags :all)
other
(defttag t)
other
(redef+)
defthmmacro
(defmacro defthm
  (&whole event-form
    name
    term
    &key
    (rule-classes '(:rewrite))
    instructions
    hints
    otf-flg
    (no-retry 'nil))
  (cond (no-retry `(defthm-fn ',NAME
        ',TERM
        state
        ',RULE-CLASSES
        ',INSTRUCTIONS
        ',HINTS
        ',OTF-FLG
        ',EVENT-FORM))
    (t (let ((new-form `(defthm ,NAME
             ,TERM
             :no-retry t
             ,@(REMOVE-KEYWORD :NO-RETRY (CDDDR EVENT-FORM)))))
        `(with-output :off :all :stack :push (make-event (b* ((testing? (acl2s-defaults :get testing-enabled)))
              (if (eq testing? :on-failure)
                '(:or (encapsulate nil
                    (local (acl2s-defaults :set testing-enabled nil))
                    (with-output :stack :pop ,NEW-FORM))
                  (with-output :stack :pop ,NEW-FORM))
                '(with-output :stack :pop ,NEW-FORM)))
            :expansion? ,NEW-FORM))))))
other
(redef-)