Enumerates all 2^n variable assignments and checks for counterexamples.
A counterexample is an admissible assignment where all supporting premises are true but the conclusion is false. The argument is valid if no counterexamples exist.
Calls validateEvaluability() (including derivation pre-flight)
before enumeration. If the argument is not evaluable, returns early
with an appropriate result rather than throwing.
Optionaloptions: TCoreValidityCheckOptionsOptional limits on variables/assignments checked and early termination mode.
The validity check result including any counterexamples.
Evaluates the argument under a three-valued expression assignment.
Variables may be true, false, or null (unknown). All result
flags (isAdmissibleAssignment, isCounterexample, etc.) are
three-valued: null means indeterminate due to unknown variable
values.
Calls validateEvaluability() internally before evaluation; if the
argument is not structurally ready (including derivation pre-flight),
the method returns early with { ok: false } and the validation
details. Do not bypass evaluate to avoid this check.
The variable assignment and optional rejected expression IDs.
Optionaloptions: TCoreArgumentEvaluationOptionsOptional evaluation options.
The evaluation result, or { ok: false } with validation
details if the argument is not structurally evaluable.
Returns the derivation-specific subset of validateEvaluability
checks as an invariant result. Only derivation premises are inspected;
freeform premises are ignored.
Use this to pre-check derivation structure before entering the full evaluation pipeline, without requiring a conclusion or complete role state.
Derivation premises with broken trees produce violations with code
DERIVATION_STRUCTURE_INVALID_AT_EVALUATION.
An TInvariantValidationResult — ok: true when all
derivation premises are structurally valid, ok: false with
per-premise violations otherwise.
Validates that this argument is structurally ready for evaluation: a conclusion must be set, all role references must point to existing premises, variable ID/symbol mappings must be consistent, every premise must be individually evaluable, and all derivation premise structures must be well-formed (naked-Q invariant; since 0.11.0).
Derivation premises with structurally broken trees are flagged with
DERIVATION_STRUCTURE_INVALID_AT_EVALUATION. Use
validateDerivationStructures() to isolate derivation checks without
running the full evaluability sweep.
A validation result with any issues found.
Argument-level evaluation: single-assignment evaluation, evaluability validation, and exhaustive validity checking.