Proof of `Construction 2` (2nd statement)
What this proof establishes
no assumptions
Assuming the claims on the left, the claim on the right holds — checked by the archive's pipeline. Proof code is not displayed here.
Description
The program reads the two header entries, copies the clause block into an array, and writes the six blocks of the encoding in order. The copy costs per entry; the three passes that decode a clause job cost , and per job, the weights , the offsets ; and the compiler charges ten machine instructions per unit of IMP+ cost. With the number of jobs is at most and the word's length is , so the whole is linear in the length of the input, and covers it.
The bound on the values is the length of the word plus its largest entry: every number the program forms is an entry it read, a count of them, or a machine index, and the machine indices are bounded by .