High-level conditions are well-suited for expressing structural properties. They can describe the precondition and the postcondition for a high-level program, but they cannot describe the relationship between the input and the output of a program derivation. Therefore, we investigate program conditions, a generalized type of conditions expressing properties on program derivations. Program conditions look like nested rules with application conditions. We present a normal form result, a suitable graphical notation, and conditions under which a satisfying program can be constructed from a program condition. We define a sequential composition on program conditions and show that, for a suitable type of program conditions with a complete dependence relation we have that: Whenever the original programs satisfy the original program conditions, then the composed program satisfies the composed program condition.