  The scope of this work is the constraint-based synthesis of termination
arguments for the restricted class of programs called linear lasso programs. A
termination argument consists of a ranking function as well as a set of
supporting invariants.
  We extend existing methods in several ways. First, we use Motzkin's
Transposition Theorem instead of Farkas' Lemma. This allows us to consider
linear lasso programs that can additionally contain strict inequalities.
Existing methods are restricted to non-strict inequalities and equalities.
  Second, we consider several kinds of ranking functions: affine-linear,
piecewise and lexicographic ranking functions. Moreover, we present a novel
kind of ranking function called multiphase ranking function which proceeds
through a fixed number of phases such that for each phase, there is an
affine-linear ranking function. As an abstraction to the synthesis of specific
ranking functions, we introduce the notion ranking function template. This
enables us to handle all ranking functions in a unified way.
  Our method relies on non-linear algebraic constraint solving as a subroutine
which is known to scale poorly to large problems. As a mitigation we formalize
an assessment of the difficulty of our constraints and present an argument why
they are of an easier kind than general non-linear constraints.
  We prove our method to be complete: if there is a termination argument of the
form specified by the given ranking function template with a fixed number of
affine-linear supporting invariants, then our method will find a termination
argument.
  To our knowledge, the approach we propose is the most powerful technique of
synthesis-based discovery of termination arguments for linear lasso programs
and encompasses and enhances several methods having been proposed thus far.
