other_bank(e,w). other_bank(w,e). % farmer,wolf,goat,cabbage move([X,X,Goat,Cabbage],wolf,[Y,Y,Goat,Cabbage]):-other_bank(X,Y). move([X,Wolf,X,Cabbage],goat.[Y,wolf,Y,Ca