Instantiating fixed affine templates #
A relation's affine normal form uses its finite coordinate type. Relabeling coordinates by their natural values gives fixed local templates, instantiated by scope lookup and concatenation. Repeated scope variables need no injectivity assumption: their occurrences cancel in the existing Boolean ring. Empty systems, inconsistent constant equations and nullary relations are included.
This is the fixed-template substitution step in [Che06], Theorem 4.3 and the following Gaussian-elimination argument (arXiv v1, printed pp. 15–16). The normal forms are fixed with the language; no efficient transformation of an input truth table is claimed.
Main definitions #
Cslib.Logic.PL.AffineEquation.relabel,Cslib.Logic.PL.AffineSystem.relabel.Cslib.Logic.PL.CSP.AffineTemplates: correctness of fixed local systems.Cslib.Logic.PL.CSP.instantiateAffine: substitute scopes and concatenate systems.
Main results #
Cslib.Logic.PL.CSP.holds_instantiateAffine: assignmentwise correctness on well-formed CSPs.Cslib.Logic.PL.CSP.satisfiable_instantiateAffine: satisfiability preservation.
Rename the variables of an affine equation, retaining all occurrences.
Instances For
Rename every equation of an affine system.
Instances For
System substitution preserves satisfaction under composed assignments, including repeated images of distinct variables.
Correct natural-position templates, evaluated at the declared finite tuple.
Instances For
Finite-coordinate definitions yield correct natural-position templates.
Instantiate a local system using scope lookup. The fallback is irrelevant on correctly sized scopes for correct templates.
Instances For
Correctness of an instantiated constraint under every assignment.
Instantiate each constraint and concatenate the resulting systems.
Instances For
Instantiation preserves satisfaction on every assignment of a well-formed instance.
No auxiliary variables are needed to preserve satisfiability.