flat module
A flat module is one that you can tensor with without breaking anything. Tensoring a module against another can, in general, collapse distinct elements together and destroy injectivity of maps; a flat module is precisely one for which this never happens. Geometrically, flatness is the algebraic shadow of a family of objects varying continuously without sudden jumps — it is the algebraic notion of a 'nice' family.
Precisely, a right R-module M is flat if the functor M ⊗_R (-) is exact, equivalently if it preserves injections: whenever A -> B is an injective R-module map, M ⊗ A -> M ⊗ B is again injective. (Tensoring is always right exact, so the only thing that can fail is left exactness, i.e. injectivity.) The obstruction is measured by the Tor functors: M is flat iff Tor_1(M, N) = 0 for all N.
Every projective module is flat, and every free module is flat, but flatness is strictly weaker: Q is a flat Z-module that is not projective. Over a PID, a module is flat exactly when it is torsion-free, which makes flatness very concrete in that setting. Flatness is the central finiteness-free condition in commutative algebra and algebraic geometry, where flat morphisms are the well-behaved families of schemes.
Q is flat over Z: tensoring the injection 2 : Z -> Z (multiplication by 2) with Q gives 2 : Q -> Q, still injective. But Z/2Z is not flat — tensoring the same injection with Z/2Z gives the zero map Z/2Z -> Z/2Z, which has destroyed injectivity, with the failure recorded by Tor_1(Z/2Z, Z/2Z) = Z/2Z.
Torsion breaks flatness: over a PID, flat = torsion-free.