Documentation

CslibFrontier.Logics.Propositional.CNF.ExactOne.ThreeEncoding

Exact-three ordinary clauses for exact-one semantics #

A triple's exact-one predicate is expressed by five ordinary clauses on its original variables: one excludes zero true literals and four exclude the assignments with at least two true literals. This original truth-table encoding preserves distinctness and introduces no new variables.

Main definitions #

Main results #

A truth-table encoding of exactly one true literal among three literal positions.

Instances For
    theorem Cslib.Logic.PL.Clause.eval_oneThreeEncoding {V : Type u_1} (σ : V → Bool) (a b c : Literal V) :

    The five ordinary clauses express positional exact-one semantics.

    Distinct source variables give three distinct variables in every emitted clause.