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
:plis the one printed.
Note that as of this writing, meta lemmas are not filtered using the second
argument.