Class OptimizationResult
- Namespace
- LogicalOptimizer
- Assembly
- LogicalOptimizer.dll
public class OptimizationResult
- Inheritance
-
OptimizationResult
- Inherited Members
Properties
Advanced
public string Advanced { get; set; }
Property Value
CNF
public string CNF { get; set; }
Property Value
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
CnfStatus
public ComputationStatus CnfStatus { get; set; }
Property Value
DNF
public string DNF { get; set; }
Property Value
DebugInfo
Human-readable debug dump (AST trees + metrics); empty unless requested.
public string DebugInfo { get; set; }
Property Value
DnfStatus
public ComputationStatus DnfStatus { get; set; }
Property Value
Metrics
public OptimizationMetrics? Metrics { get; set; }
Property Value
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
Optimized
public string Optimized { get; set; }
Property Value
OptimizedTruthTable
public TruthTable? OptimizedTruthTable { get; set; }
Property Value
Original
public string Original { get; set; }
Property Value
OriginalTruthTable
public TruthTable? OriginalTruthTable { get; set; }
Property Value
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
Variables
public List<string> Variables { get; set; }
Property Value
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
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
ToString()
Returns a string that represents the current object.
public override string ToString()
Returns
- string
A string that represents the current object.