PL2.html -- ACL2 Version 6.3

## PL2

print rule(s) for the given form

    Major Section:  HISTORY

    Examples:
    :pl2 (+ x y) nil ; prints rules that apply to (+ x y)
    :pl2 (+ x y) foo ; prints rules named foo that apply to (+ x y)
    :pl2 (+ x y) (:rewrite foo) ; if the rule with rune (:rewrite foo) applies
                                ;   to (+ x y), then print it
    :pl2 (+ x y) (:type-prescription foo)
                                ; as above, but for the indicated
                                ;   type-prescription rule

`Pl2` takes two arguments. The first is a term. The second is either `nil` or a ``rule-id'' that is either a symbol or a rune. The result is to print rules of class `:``rewrite`, `:``definition`, `:meta`, `:``linear`, and `:``type-prescription` that apply to the given term. Indeed, `:pl2` prints exactly what is printed by applying `:``pl` to the first argument -- see pl -- except that if the second argument is not `nil` then it is used to filter the rules printed, as follows.

> If the rule-id is a symbol, then only rules whose name is that symbol will be printed.

> If the rule-id is a rune, then at most one rule will be printed: the rule named by that rune (if the rule would be printed by `:``pl`).