CURRENT STATUS OF THE PATHS LIBRARY The paths library is huge. Note that the file path.lisp is over 6000 lines. We have been working on modularizing it and breaking it up into more easily reusable chunks. This work has already resulted in the creation of an Alists library, but there is lots more to do. I have also worked on extracting all the "dominates" and "diverge" functions. My hope was to create a richer library for these ideas. Unfortunately, I have not yet had time to integrate these updates back into path.lisp. At some point in the future, it might be worthwhile to do this. We should also go through path.lisp and try to pull out the stuff that doesn't pertain to paths. In particular, functions like cp, s-list, clr, and so forth ought to be moved to records. Functions like compose-alists ought to be moved to the alists library, and we should generally try to go through and disable many definitions and add the appropriate rules. There are also a lot of rules that simply don't belong here, e.g., rules about bags. Anyway, I think you will be able to achieve some real gains by trying to just reorganize the library so that the rules about each concept are near each other. Splitting out dominates and diverge is probably a good first step towards this. What we would really like to do is have a situation like bags, where we can just include the "basic" path theory when we are working with smaller goals, or we can include the "advanced" meta-driven path theory for working with huge terms when we need to do so.