Matroid theory
A matroid is a structure that captures and generalizes the notion of linear independence in vector spaces. There are many equivalent ways to define a matroid, the most significant being in terms of independent sets, bases, circuits, closed sets or flats, closure operators, and rank functions.
Matroids as a Theory of Independence by Federico Ardila
See books on matroid theory. matroid theory lawler
They give a theoretical foundation for Greedy algorithms apparently