But bounding the computation time above by some concrete function f(n) often yields complexity classes that depend on the chosen machine model. For instance, the language {xx | x is any binary string} can be solved in linear time on a multi-tape Turing machine, but necessarily requires quadratic time in the model of single-tape Turing machines. If we allow polynomial variations in running time, Cobham-Edmonds thesis states that "the time complexities in any two reasonable and general models of computation are polynomially related" (Goldreich 2008, Chapter 1.2). This forms the basis for the complexity class P, which is the set of decision problems solvable by a deterministic Turing machine within polynomial time. The corresponding set of function problems is FP.
Concrete bounding of computation time frequently produces complexity classes contingent upon what? A multi-tape Turing machine requires what type of time for a solution? A language solved in quadratic time implies the use of what type of Turing machine? What thesis specifies that a polynomial relationship exists within time complexities in a computational model?  Decision problems capable of being solved by a deterministic Turing machine while maintaining adherence to polynomial time belong to what class?