• Top
    • Documentation
    • Books
    • Boolean-reasoning
    • Projects
    • Debugging
    • Std
    • Proof-automation
    • Macro-libraries
      • B*
      • Defunc
      • Fty
      • Apt
      • Std/util
      • Defdata
      • Defrstobj
      • Seq
      • Match-tree
      • Defrstobj
      • With-supporters
      • Def-partial-measure
      • Template-subst
      • Soft
        • Soft-future-work
        • Soft-macros
          • Defun-inst
          • Defequal
          • Defsoft
            • Defsoft-implementation
              • Defsoft-fn
              • Ensure-defun-sk-rule-same-funvars
              • Ensure-wfrel-o<
              • Defsoft-macro-definition
            • Defthm-inst
            • Defun2
            • Defunvar
            • Defun-sk2
            • Defchoose2
            • Defthm-2nd-order
            • Define-sk2
            • Defund-sk2
            • Define2
            • Defund2
          • Updates-to-workshop-material
          • Soft-implementation
          • Soft-notions
        • 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
    • Defsoft-implementation

    Defsoft-macro-definition

    Definition of the defsoft macro.

    Macro: defsoft

    (defmacro defsoft (fn)
     (cons
      'with-output
      (cons
       ':gag-mode
       (cons
        'nil
        (cons
         ':off
         (cons
          (set-difference-eq acl2::*valid-output-names*
                             '(error observation))
          (cons
           ':stack
           (cons
            ':push
            (cons
             (cons
              'make-event
              (cons
               (cons
                'defsoft-fn
                (cons
                    (cons 'quote (cons fn 'nil))
                    (cons (cons 'cons
                                (cons ''defsoft
                                      (cons (cons 'quote (cons fn 'nil))
                                            'nil)))
                          '(state))))
               '(:on-behalf-of :quiet!)))
             'nil)))))))))

    Macro: defsoft

    (defmacro acl2::defsoft (&rest args)
      (cons 'defsoft args))