worker(andersson). worker(pettersson). worker(lundström). passenger(handersson). passenger(hpettersson). passenger(hlundström). samename(handersson, andersson). samename(hpettersson, pettersson). samename(hlundström, lundström). lives(hpettersson, gothenburg). lives(X, stockholm) :- passenger(X), \+lives(X, gothenburg), \+earns3(X). earns100(hlundström). earns3(X) :- passenger(X), \+earns100(X). billiards(andersson). works_as(braker, X) :- worker(X), samename(Y, X), lives(Y, stockholm). works_as(driver, X) :- worker(X), \+works_as(braker, X), \+works_as(burner, X). works_as(burner, X) :- worker(X), \+billiards(X), \+works_as(braker, X).astmatix