SET-INVISIBLE-FNS-TABLE.html -- ACL2 Version 6.3

## SET-INVISIBLE-FNS-TABLE

set the invisible functions table

    Major Section:  SWITCHES-PARAMETERS-AND-MODES

    Examples:
    (set-invisible-fns-table ((binary-+ unary--)
                              (binary-* unary-/)
                              (unary-- unary--)
                              (unary-/ unary-/)))
    (set-invisible-fns-table t) ; restore original invisible-fns-table

Among other things, the setting above has the effect of making `unary--` ``invisible'' for the purposes of applying permutative `:``rewrite` rules to `binary-+` trees. Thus, `arg` and `(unary-- arg)` will be given the same weight and will be permuted so as to be adjacent. The form `(invisible-fns-table (w state))` returns the current value of the invisible functions table.

Also see add-invisible-fns and see remove-invisible-fns for events that add to and remove from the invisible functions table, while accounting for macro aliases (see macro-aliases-table).

    General Form:
    (set-invisible-fns-table alist)

where `alist` is either `t` or a true list of pairs, each element of which is of the form `(fn ufn1 ... ufnk)`, where `fn` is a function symbol and each `ufni` is a unary function symbol. When alist is `t`, the initial value of this table is used in its place. Modulo the replacement of `alist` by the default setting when `alist` is `t`, this macro is equivalent to

    (table invisible-fns-table nil 'alist :clear)

which is also an event (see table).

Note that `set-invisible-fns-table` does not evaluate its argument. However, you can call `table` directly for that purpose. For example,

    (set-invisible-fns-table ((binary-+ unary--)
                              (binary-* unary-/)
                              (unary-- unary--)
                              (unary-/ unary-/)))

ie equivalent to the following; see table.

    (table invisible-fns-table nil
           (quote ((binary-+ unary--)
                   (binary-* unary-/)
                   (unary-- unary--)
                   (unary-/ unary-/)))
           :clear)

See invisible-fns-table for a description of the invisible functions table.