PL2

print rule(s) for the given form
Major Section:  HISTORY

Examples:
:pl2 (+ x y) nil ; prints all rules that rewrite (+ x y)
:pl2 (+ x y) foo ; prints all rules named foo that rewrite (+ x y)
:pl2 (+ x y) (:rewrite foo) ; if the rule with rune (:rewrite foo) can
                            ;   rewrite (+ x y), then print it

Pl2 takes two arguments. The first is a term. The second is either nil or one of the following ``rule-ids'': a symbol, a rune, or a natural number. The result is to print 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 rewrite rules printed, as follows.

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

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

If the rule-id is a natural number, k, then the kth rewrite rule that would be printed by :pl is the one printed.

Note that as of this writing, meta lemmas are not filtered using the second argument.