*
* Called once for new quantified formulas q that are pre-registered by the
* quantifiers theory, after internal ownership of quantified formulas is
- * finalized. This does context-dependent initialization of this module.
+ * finalized. This does context-independent initialization of this module
+ * for quantified formula q.
*/
virtual void registerQuantifier(Node q) {}
/** Pre-register quantifier
* Increment this value generator. If this returns false, then we are out of
* values. If this returns true, getCurrent(), if non-null, returns the
* current term.
+ *
+ * Notice that increment() may return true and afterwards it may be the case
+ * getCurrent() is null. We do this so that increment() does not take too
+ * much time per call, which can be the case for grammars where it is
+ * difficult to find the next (non-redundant) term. Returning true with
+ * a null current term gives the caller the chance to interleave other
+ * reasoning.
*/
virtual bool increment() = 0;
/** Get the current concrete value generated by this class. */