  Cut-elimination is the bedrock of proof theory with a multitude of
applications from computational interpretations to proof analysis. It is also
the starting point for important meta-theoretical investigations including
decidability, complexity, disjunction property, and interpolation.
Unfortunately cut-elimination does not hold for the sequent calculi of most
non-classical logics. It is well-known that the key to applications is the
subformula property (a typical consequence of cut-elimination) rather than
cut-elimination itself. With this in mind we introduce cut-restriction, a
procedure to restrict arbitrary cuts to analytic cuts (when elimination is not
possible). The algorithm applies to all sequent calculi satisfying
language-independent and simple-to-check conditions, and it is obtained by
adapting age-old cut-elimination. Our work encompasses existing results in a
uniform way, and establishes novel analytic subformula properties.
