Composition of Polynomial Reductions
Prove transitivity while accounting for output length.
Assignment sources
Related exam and assignment appearances
These links mark a related idea or close version; only groups explicitly marked as exact repeats in the question map count as duplicates.
Problem
Suppose via and via . Prove . Your runtime argument must account for the length of .
Hint 1
Which function naturally maps an -instance directly to a -instance?
Hint 2
If runs in time , its output cannot contain more than symbols. Apply the runtime polynomial for to that bound.
Full solution
Define . Correctness is
Let run in time and let run in time on inputs of length , for polynomials . Since a machine can write at most one constant-size symbol per step, up to a model-dependent constant. Thus
which is polynomial. Therefore is a polynomial-time many-one reduction.
Checkpoint
The key step is not merely that two polynomial algorithms are called; the intermediate instance must itself have polynomial length.
Provenance note
This is an original formulation of the standard transitivity proof, aligned with textbook definitions. No student submission is used as authority.
Common mistakes
- Skipping a direction of correctness or an input-format edge case.
- Measuring resources against a numeric value rather than encoded input length.
- Treating an informal intuition as a proof of the stated bound.
Sources and verification
- Merged summary, pp. 43-49
- 2026 transcript 9
- Sipser 3e, sec. 7.4
- Catalog mapping:
data/exercises.json; statements and solutions are independently written; personal submissions are non-authoritative.
NP-complete reduction chain
Open in the visualization gallery: NP-complete reduction chain