combination([Sense1,Reason1,Time1],[Sense2,Reason2,Time2]) :- sense(Sense1), reason(Reason1), time(Time1), sense(Sense2), reason(Reason2), time(Time2). sense(sight). sense(hearing). sense(touch). sense(taste). sense(smell). reason(reason). reason(objection). time(atthetime). time(experiencedbefore). %% A posteriori - means sensed at the event time, A priori - means experienced sense data. /** Sense1 = sight, Reason1 = reason, Time1 = aposteriori, Sense2 = sight, Reason2 = reason, Time2 = aposteriori I saw the bird because I saw the nest. Sense1 = sight, Reason1 = reason, Time1 = atthetime, Sense2 = sight, Reason2 = reason, Time2 = experienced I saw the signpost because I followed the path. Sense1 = sight, Reason1 = reason, Time1 = atthetime, Sense2 = sight, Reason2 = objection, Time2 = atthetime I could tell the time until the clock stopped. Sense1 = sight, Reason1 = reason, Time1 = atthetime, Sense2 = sight, Reason2 = objection, Time2 = experienced I knew the toast wouldn't be lightly cooked because it would stay in the toaster too long. Sense1 = sight, Reason1 = reason, Time1 = atthetime, Sense2 = hearing, Reason2 = reason, Time2 = atthetime I turned to talk with my friend when I heard him come in. Sense1 = sight, Reason1 = reason, Time1 = atthetime, Sense2 = hearing, Reason2 = reason, Time2 = experienced The dog came when he expected the master to greet him. Sense1 = sight, Reason1 = reason, Time1 = atthetime, Sense2 = hearing, Reason2 = objection, Time2 = atthetime I looked for the apple, but my friend told me he had eaten it. Sense1 = sight, Reason1 = reason, Time1 = atthetime, Sense2 = hearing, Reason2 = objection, Time2 = experienced I looked at the timetable but remembered my friend telling me the bus didn't come at that time any more. Sense1 = sight, Reason1 = reason, Time1 = atthetime, Sense2 = touch, Reason2 = reason, Time2 = atthetime I saw the illustration because I opened the book. Sense1 = sight, Reason1 = reason, Time1 = atthetime, Sense2 = touch, Reason2 = reason, Time2 = experienced I checked that the breakfast tray which had been prepared was like one I had prepared before. **/