Affine program invariants