set(auto). list(usable). % An American who sells missiles to an unstable country is a criminal. -american(x) | -sells(x, y, z) | -missile(y) | - unstable(z) | criminal(x). % Smith sells missiles to North Korea. sells(smith, m, north_korea). % m is a missile missile(m). % North Korea is unstable unstable(north_korea). % Smith is an American american(smith). % Therefore smith is a criminal. -criminal(smith). end_of_list.