Boolean Techniques in Discrete Optimization and Expert Systems