Encoding formula concatenation splices terminal delimiters
ProvedCookLevin.encodeFormula_appendcnf-encodingcook-levinlist-identity
For any two CNF formulas and , encoding their concatenation is obtained by removing the unique terminal delimiter from the encoding of and appending the encoding of .
This identity isolates the exact stream-splicing invariant needed to assemble separately emitted Cook-Levin clause families.
Formal statement
import Definitions.Def_CookLevin_Satisfiability
open CookLevin
theorem CookLevin.encodeFormula_append (φ ψ : Formula) :
encodeFormula (φ ++ ψ) =
(encodeFormula φ).dropLast ++ encodeFormula ψ := by sorrySource
Exact encoding definitions in CookLevin_Satisfiability and decomposition of https://prove2.me/theorems/52bfe0b2-676b-48d9-a6ee-9a495cd865fb