Major Section: MISCELLANEOUS
General Form: (find-rules-of-rune rune wrld)
This function finds all the rules in wrld
with :
rune
rune. It
returns a list of rules in their internal form (generally as
described by the corresponding defrec
). Decyphering these rules is
difficult since one cannot always look at a rule object and decide
what kind of record it is without exploiting many system invariants
(e.g., that :
rewrite
runes only name rewrite-rules).
At the moment this function returns nil
if the rune in question is a
:
refinement
rune, because there is no object representing
:
refinement
rules. (:
refinement
rules cause changes in the
'coarsenings
properties.) In addition, if the rune is an
:
equivalence
rune, then congruence rules with that rune will be
returned -- because :
equivalence
lemmas generate some congruence
rules -- but the fact that a certain function is now known to be an
equivalence relation is not represented by any rule object and so no
such rule is returned. (The fact that the function is an
equivalence relation is encoded entirely in its presence as a
'coarsening
of equal
.)