Practical tools for reasoning about linear constraints