Affine Boolean relations #
An affine equation is a list of variables and a Boolean right-hand side. Evaluation sums the
listed bits in the existing Boolean ring, so repeated occurrences cancel in pairs. Empty lists
express both constant equations, including the inconsistent equation 0 = 1.
For any finite coordinate type, preservation by ternary parity is equivalent to definability by a finite conjunction of these equations, without auxiliary variables. This is the normal-form claim of [Che06], Theorem 4.3, printed pp. 15–16 (arXiv version 1), including empty and nullary relations. The proof uses linear separation of the subgroup obtained by translating a nonempty relation, rather than Chen's induction on coordinates. No algorithmic complexity claim is made in this module.
Main definitions #
Cslib.Logic.PL.AffineEquation: an affine parity equation with repeated variables allowed.Cslib.Logic.PL.AffineEquation.Holds: satisfaction of one equation.Cslib.Logic.PL.AffineSystem.Holds: satisfaction of a conjunction of equations.
Main results #
Cslib.Logic.PL.isPolymorphism_parity_iff_exists_affineSystem: the finite Boolean affine normal-form characterization.
An affine parity equation: a list of variables, with repetitions, and its right-hand side.
Instances For
A finite conjunction of affine parity equations.
Instances For
The sum of the listed bits equals the right-hand side in the Boolean ring.
Instances For
Every equation in the system holds.
Instances For
Every affine equation is preserved by ternary parity.
Every conjunction of affine equations is preserved by ternary parity.
A tuple outside a finite parity-preserved relation can be separated by an affine equation. The empty relation is separated by the inconsistent constant equation.
Parity preservation iff affine definability. Empty and nullary relations are included; there are no auxiliary variables. The defining system is finite, with no claimed size bound.