DEFAULT-DEFUN-MODE.html -- ACL2 Version 6.3

## DEFAULT-DEFUN-MODE

the default defun-mode of `defun`'d functions

    Major Section:  MISCELLANEOUS

When a `defun` is processed and no `:mode` `xarg` is supplied, the function `default-defun-mode` is used. To find the default defun-mode of the current ACL2 world, type `(default-defun-mode (w state))`. See defun-mode for a discussion of defun-modes. To change the default defun-mode of the ACL2 world, type one of the keywords `:``program` or `:``logic`.

The default ACL2 prompt displays the current default defun-mode by showing the character `p` for `:``program` mode, and omitting it for `:``logic` mode; see default-print-prompt. The default defun-mode may be changed using the keyword commands `:``program` and `:``logic`, which are equivalent to the commands `(program)` and `(logic)`. Each of these names is documented separately: see program and see logic. The default defun-mode is stored in the table `acl2-defaults-table` and hence may also be changed by a `table` command. See table and also see acl2-defaults-table. Both mode-changing commands are events.

While events that change the default defun-mode are permitted within an `encapsulate` or the text of a book, their effects are `local` in scope to the duration of the encapsulation or inclusion. For example, if the default defun-mode is `:``logic` and a book is included that contains the event `(program)`, then subsequent events within the book are processed with the default defun-mode `:``program`; but when the `include-book` event completes, the default defun-mode will still be `:``logic`. Commands that change the default defun-mode are not permitted inside `local` forms.