Settings

The flags of an arg2p solver: those its libraries declare (ArgsFlag), checked by the Prolog code through setting/1 (whether a switch is on) and setting/2 (the values of a flag); checking a flag no library declares, or a switch for its values (and the other way round), raises a domain error.

Their values are a view over the facts of the libraries (the settings of the solver, as FlagsBuilder states them) and those of the theory, through the profile of the theory (graphBuildMode, see Profiles): for each flag, the theory states its values, or else the settings of the solver if they differ from the default of the flag, or else the profile, or else the settings of the solver. A flag is stated with no value by Flag(none) (no graph extension, say), a switch stated off by Switch(off): so a theory clears what its profile presets.

Constructors

Link copied to clipboard
constructor(solver: Arg2pSolver)

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard
open override val alias: String
Link copied to clipboard
open override val baseContent: Library
Link copied to clipboard
open override val baseFlags: Iterable<ArgsFlag<*, *>>
Link copied to clipboard
val flags: Map<String, ArgsFlag<*, *>>

The flags the libraries of the solver declare, by name

Link copied to clipboard
open val theoryOperators: OperatorSet

Functions

Link copied to clipboard
open fun content(): Library
Link copied to clipboard
fun facts(context: ExecutionContext, except: Set<String> = emptySet()): List<Fact>

The facts stating the flags of context with their values (see valuesOf), but for the flags named in except: for a theory solved elsewhere with the same flags

Link copied to clipboard
open fun flags(): Iterable<ArgsFlag<*, *>>
Link copied to clipboard
fun isOn(flag: ArgsFlag<*, *>, context: ExecutionContext): Boolean

Whether the switch flag is on in context

Link copied to clipboard
fun states(clause: Clause): Boolean

Whether clause is a fact stating a flag

Link copied to clipboard
fun valuesOf(flag: ArgsFlag<*, *>, context: ExecutionContext): List<Term>

The values of flag in context (for a switch, true if it is on)