# crux v0.1.3 - Table of Contents > Library for boolean satisfiability solving and expression manipulation. ## Modules - [Crux](Crux.md): - [Crux.Expression](Crux.Expression.md): Boolean expression representation and manipulation for SAT solving. - [Crux.Expression.RewriteRule](Crux.Expression.RewriteRule.md): Behaviour for defining expression rewrite rules. - [Crux.Formula](Crux.Formula.md): A module for representing and manipulating satisfiability formulas in Conjunctive Normal Form (CNF). - [Crux.Formula.Tseitin](Crux.Formula.Tseitin.md): Tseitin transformation from a boolean `Crux.Expression` into CNF. - [Crux.Implementation](Crux.Implementation.md): This module provides an interface to a SAT solver. - Rewrite Rules - [Crux.Expression.RewriteRule.AbsorptionLaw](Crux.Expression.RewriteRule.AbsorptionLaw.md): Rewrite rule that applies absorption laws to simplify expressions. - [Crux.Expression.RewriteRule.AnnihilatorLaw](Crux.Expression.RewriteRule.AnnihilatorLaw.md): Rewrite rule that applies boolean annihilator laws. - [Crux.Expression.RewriteRule.AssociativityLaw](Crux.Expression.RewriteRule.AssociativityLaw.md): Rewrite rule that applies associativity optimizations to simplify expressions. - [Crux.Expression.RewriteRule.CommutativityLaw](Crux.Expression.RewriteRule.CommutativityLaw.md): Rewrite rule that applies commutativity laws to normalize expression order. - [Crux.Expression.RewriteRule.ComplementLaw](Crux.Expression.RewriteRule.ComplementLaw.md): Rewrite rule that applies complement laws to simplify expressions. - [Crux.Expression.RewriteRule.ConsensusTheorem](Crux.Expression.RewriteRule.ConsensusTheorem.md): Rewrite rule that applies the consensus theorem to eliminate redundant clauses. - [Crux.Expression.RewriteRule.DeMorgansLaw](Crux.Expression.RewriteRule.DeMorgansLaw.md): Rewrite rule that applies De Morgan's laws to expressions. - [Crux.Expression.RewriteRule.DistributiveLaw](Crux.Expression.RewriteRule.DistributiveLaw.md): Rewrite rule that applies the distributive law to convert expressions to CNF. - [Crux.Expression.RewriteRule.DistributivityBasedSimplificationLaw](Crux.Expression.RewriteRule.DistributivityBasedSimplificationLaw.md): Rewrite rule that applies distributivity-based simplifications to expressions. - [Crux.Expression.RewriteRule.IdempotentLaw](Crux.Expression.RewriteRule.IdempotentLaw.md): Rewrite rule that applies idempotent laws to simplify expressions. - [Crux.Expression.RewriteRule.IdentityLaw](Crux.Expression.RewriteRule.IdentityLaw.md): Rewrite rule that applies boolean identity laws to simplify expressions. - [Crux.Expression.RewriteRule.NegationLaw](Crux.Expression.RewriteRule.NegationLaw.md): Rewrite rule that applies negation laws to simplify expressions. - [Crux.Expression.RewriteRule.TautologyLaw](Crux.Expression.RewriteRule.TautologyLaw.md): Rewrite rule that detects common tautology patterns. - [Crux.Expression.RewriteRule.UnitResolution](Crux.Expression.RewriteRule.UnitResolution.md): Rewrite rule that applies unit resolution to propagate unit clauses.