  Kruskal's theorem states that a sum of product tensors constitutes a unique
tensor rank decomposition if the so-called k-ranks of the product tensors are
large. We prove a "splitting theorem" for sets of product tensors, in which the
k-rank condition of Kruskal's theorem is weakened to the standard notion of
rank, and the conclusion of uniqueness is relaxed to the statement that the set
of product tensors splits (i.e. is disconnected as a matroid). Our splitting
theorem implies a generalization of Kruskal's theorem. While several extensions
of Kruskal's theorem are already present in the literature, all of these use
Kruskal's original permutation lemma, and hence still cannot certify uniqueness
when the k-ranks are below a certain threshold. Our generalization uses a
completely new proof technique, contains many of these extensions, and can
certify uniqueness below this threshold. We obtain several other useful results
on tensor decompositions as consequences of our splitting theorem. We prove
sharp lower bounds on tensor rank and Waring rank, which extend Sylvester's
matrix rank inequality to tensors. We also prove novel uniqueness results for
non-rank tensor decompositions.
