A PrenexLink is a kind of RewriteLink, that, when executed, keeps all variable declarations in prenex normal form. It is not typically used by itself; rather, it serves as a base class for many link types that must be kept in prenex normal form when they are manipulated. These include, but are not limited to:
- PatternLink, and thus all the link types that derive from PatternLink, including GetLink, BindLink, SatisfactionLink, DualLink and so on.
Users should never use the PrenexLink atom directly; rather, it is a point in the type hierarchy that provides tooling and functions for other atom types.
The methods that it provides are not accessible via atomese, nor in python or scheme, nor are they intended to be; rather, the C++ class provides a low-level store-house of useful methods for performing different kinds of analysis of terms, and the re-writing thereof. As the warning label says: "Caution: Do not open. Risk of electrical shock. No user serviceable parts inside."