UniqueSolutions

An implementation-specific flag controlling whether a solver's output solution sequence may contain multiple yes solutions carrying the same solved-query term (e.g. member(X, [1, 1, 1]) yielding three identical yes solutions with X = 1). Defaults to OFF (unaffected, standard behaviour); set to ON to keep only the first yes solution for each distinct solved-query term encountered, dropping any later duplicate.

Properties

Link copied to clipboard

Every legal value this flag may take.

Link copied to clipboard
open override val defaultValue: Term

The value this flag takes unless explicitly set otherwise.

Link copied to clipboard
open override val help: String

Markdown documentation exposed through help(flag(Name), Help).

Link copied to clipboard

Whether this flag's value can be changed at all (false for e.g. MaxArity).

Link copied to clipboard
open override val name: String

This flag's name, as it appears as the key in a FlagStore (e.g. "unknown", "double_quotes").

Link copied to clipboard

Every yes solution is emitted, even if its solved-query term repeats an earlier one.

Link copied to clipboard

Duplicate yes solutions (by solved-query term) are dropped.

Functions

Link copied to clipboard
open fun isAdmissibleValue(value: Term): Boolean

Whether value is one of admissibleValues.

Link copied to clipboard
open infix fun to(value: Term): Pair<String, Term>

This flag's name paired with value, ready to be inserted into a FlagStore.

Link copied to clipboard
open fun toPair(): Pair<String, Term>

This flag's name paired with its defaultValue, ready to be inserted into a FlagStore.