We propose a new linear programming formulation for the decoding of general linear block codes. Different from the original formulation given in [3], the number of total variables to characterize a parity-check constraint in our formulation is less than twice the degree of the corresponding check node. The equivalence between our new formulation and the original formulation is proven. Moreover, we show that any fundamental polytope is simply the intersection of a group of so-called minimum polytopes. Based on this, we propose a branch-and-bound method to compute a non-trivial lower bound to the minimum distance of a linear block code with affordable complexity. We prove that, for the family of single parity-check (SPC) product codes, the fractional distance and the pseudo-distance are both equal to the minimum distance. Finally, we propose an efficient algorithm for decoding SPC product codes with low complexity and ML decoding performance.