Gluing CNF gadgets with private auxiliary variables #
A gadget has shared variables V and auxiliary variables W. Gluing a finite list of gadgets
tags every auxiliary variable with its site, keeping auxiliary variables of different sites
distinct. Only the shared variables connect the gadgets. A shared assignment extends to the
assembled formula exactly when it extends to every gadget separately.
This is the semantic substitution rule used when finite SAT reductions replace crossings by fixed gadgets. It concerns satisfiability; geometric compatibility and resource bounds are separate obligations.
Main definitions #
Cslib.Logic.PL.CNF.glue: assemble gadgets with site-tagged auxiliary variables.
Main results #
Cslib.Logic.PL.CNF.eval_glue: evaluate the assembled formula one gadget at a time.Cslib.Logic.PL.CNF.exists_eval_glue_iff: local auxiliary assignments can be chosen independently for a fixed shared assignment.Cslib.Logic.PL.CNF.satisfiable_glue_iff: the satisfiability substitution rule.Cslib.Logic.PL.CNF.length_glue,Cslib.Logic.PL.CNF.length_vars_glue: exact size identities.
References #
This indexed-list formulation of gadget gluing and its proofs are original.