Class OptimizationResult

Namespace
LogicalOptimizer
Assembly
LogicalOptimizer.dll
public class OptimizationResult
Inheritance
OptimizationResult
Inherited Members

Properties

Advanced

public string Advanced { get; set; }

Property Value

string

CNF

public string CNF { get; set; }

Property Value

string

CnfMinimizationStatus

Minimality provenance of the equivalent-CNF (Equivalent) artifact specifically, reported separately from the SOP-scoped MinimizationStatus because the POS cover search can hit its budget independently of the SOP one. MinimalProven only when the POS minimum-cover search completed; BudgetExceeded when it hit the step limit; Heuristic when no exact equivalent CNF was produced (heuristic zone, Tseitin mode, not requested, or TooLarge). It never claims a minimality the CNF does not have.

public MinimizationStatus CnfMinimizationStatus { get; set; }

Property Value

MinimizationStatus

CnfStatus

public ComputationStatus CnfStatus { get; set; }

Property Value

ComputationStatus

DNF

public string DNF { get; set; }

Property Value

string

DebugInfo

Human-readable debug dump (AST trees + metrics); empty unless requested.

public string DebugInfo { get; set; }

Property Value

string

DnfStatus

public ComputationStatus DnfStatus { get; set; }

Property Value

ComputationStatus

Metrics

public OptimizationMetrics? Metrics { get; set; }

Property Value

OptimizationMetrics

MinimizationStatus

Whether the result's minimality is proven (exact minimum-cover search completed), unproven due to a budget, or heuristic-only. Never silently downgraded: any budget exhaustion in the exact path is visible here. Scope: the SOP / two-level minimum cover behind Optimized and DNF; the equivalent-CNF (POS) artifact has its own CnfMinimizationStatus.

public MinimizationStatus MinimizationStatus { get; set; }

Property Value

MinimizationStatus

Optimized

public string Optimized { get; set; }

Property Value

string

OptimizedTruthTable

public TruthTable? OptimizedTruthTable { get; set; }

Property Value

TruthTable

Original

public string Original { get; set; }

Property Value

string

OriginalTruthTable

public TruthTable? OriginalTruthTable { get; set; }

Property Value

TruthTable

Trace

Diagnostic record of how this result was reached (engine choice, budgets, candidates, proofs, fallbacks). Non-null only when IncludeTrace was set. See OptimizationTrace for the stability caveat.

public OptimizationTrace? Trace { get; set; }

Property Value

OptimizationTrace

Variables

public List<string> Variables { get; set; }

Property Value

List<string>

Methods

CheckEquivalence()

Three-valued equivalence self-check for callers that must tell a refutation apart from a budget-exhausted verdict: AreEquivalent is true (proven equivalent), false (a concrete counterexample exists) or null (Unknown — SAT budget ran out). IsEquivalent() collapses the latter two into false; this method preserves the distinction.

public EquivalenceCheckResult CheckEquivalence()

Returns

EquivalenceCheckResult

IsEquivalent()

Checks equivalence of the original and optimized expressions. When both truth tables are already materialized (small expressions) they are compared directly; otherwise the scalable EquivalenceChecker is used — truth table up to 12 variables, SAT-miter beyond it — so this self-check works across the whole facade range (up to 100 variables) instead of throwing past the 20-variable truth-table limit. Returns true only when equivalence is positively proven; a SAT Unknown (budget exhausted) yields false rather than a false positive.

public bool IsEquivalent()

Returns

bool

ToString()

Returns a string that represents the current object.

public override string ToString()

Returns

string

A string that represents the current object.