In this thesis, we study theoretical aspects of integer linear programming. This thesis consists of two main parts: the first part is on the theory of cutting planes for integer linear programming, while the second part is on the theory of ideal clutters in combinatorial optimization.Cutting planes for an integer linear program are linear inequalities that are valid for all integer feasible solutions but possibly violated by some solutions to the linear programming relaxation.