API Reference

This reference is generated from the XML documentation comments of the seven assemblies that ship inside the single LogicalOptimizer package (since v4.0). All public types live in the LogicalOptimizer namespace.

Assembly Public surface highlights
LogicalOptimizer.Core FormulaFactory (parse + canonicalize), the n-ary AST (AstNode, AndNode, OrNode, NotNode, VariableNode, ConstantNode, plus derived XorNode/ImpNode/EqvNode/NandNode/NorNode), AstFormatter, TruthTable, PerformanceValidator, ResourceBudget
LogicalOptimizer.Sat SatSolver (CDCL), CNF encodings and the public TseitinCnf result, CardinalityEncoder, PseudoBooleanEncoder, MaxSatSolver
LogicalOptimizer.Bdd BinaryDecisionDiagram (ROBDD: model counting, quantification, restriction, composition, variable-order optimization)
LogicalOptimizer.Dnnf KnowledgeCompilation / DnnfCircuit (d-DNNF compiler: exact #SAT model counting, weighted model counting, model enumeration)
LogicalOptimizer.Formats DIMACS CNF / WCNF / OPB parsers and writers, truth-table CSV import (CsvTruthTableParser), BLIF/Verilog/C#/LaTeX exporters, AstVisualizer
LogicalOptimizer.Minimization Quine–McCluskey, SAT prime-cover and Espresso-lite minimizers, multi-output CSV tables (PartialTruthTable)
LogicalOptimizer (facade) BooleanExpressionOptimizer, OptimizationResult, OptimizationOptions, MinimizationStatus, ComputationStatus, EquivalenceChecker, FormulaAnalysis, Transformations, BooleanExpressionExporter

Two kinds of published packages deliberately have no API reference here: LogicalOptimizer.Cli is a dotnet tool driven from the shell (its contract is the command line and the JSON report schema — see the CLI article and schema/), and the deprecated pre-4.0 forwarding shells (.Core / .Sat / .Bdd / .Dnnf / .Formats / .Minimization / .Full) ship no code, only a dependency on LogicalOptimizer.

Browse the full member-level reference from the table of contents on the left.

Tip

The complete public surface is pinned member-by-member by an approval test (ApiSurfaceTests) and by an architecture rule that fixes the documented type list. Any breaking change to it requires a major version bump.