Padding argument

In computational complexity theory, the padding argument is a tool to conditionally prove that if some complexity classes are equal, then some other bigger classes are also equal.
Example.
The proof that P = NP implies EXP = NEXP uses "padding". formula_1 by definition, so it suffices to show formula_2. 
Let "L" be a language in NEXP. Since "L" is in NEXP, there is a non-deterministic Turing machine "M" that decides "L" in time formula_3 for some constant "c". Let 
where "1" is a symbol not occurring in "L". First we show that formula_5 is in NP, then we will use the deterministic polynomial time machine given by P = NP to show that "L" is in EXP.
formula_5 can be decided in non-deterministic polynomial time as follows. Given input formula_7, verify that it has the form formula_8 and reject if it does not. If it has the correct form, simulate "M(x)". The simulation takes non-deterministic formula_9 time, which is polynomial in the size of the input, formula_7. So, formula_5 is in NP. By the assumption P = NP, there is also a deterministic machine "DM" that decides formula_5 in polynomial time. We can then decide "L" in deterministic exponential time as follows. Given input formula_13, simulate formula_14. This takes only exponential time in the size of the input, formula_13. 
The formula_16 is called the "padding" of the language "L". This type of argument is also sometimes used for space complexity classes, alternating classes, and bounded alternating classes.