Following is a demo of the Challenge 3 Task 1 program.
Welcome to SWI-Prolog (threaded, 64 bits, version 7.6.4) SWI-Prolog comes with ABSOLUTELY NO WARRANTY. This is free software. Please run ?- license. for legal details. For online help and background, visit http://www.swi-prolog.org For built-in help, use ?- help(Topic). or ?- apropos(Word). ?- talktome. Currently... the large yellow block is on the table the large red block is on the table the large blue block is on the table the large green block is on the table the small yellow block is on the table the small red block is on the table the small blue block is on the table the small green block is on the table What would you like to do next? |: exit % Execution Aborted ?- talktome. Currently... the large yellow block is on the table the large red block is on the table the large blue block is on the table the large green block is on the table the small yellow block is on the table the small red block is on the table the small blue block is on the table the small green block is on the table What would you like to do next? |: abcde The program could not parse your input. What would you like to do next? |: pickup the small green block Currently... the large yellow block is on the table the large red block is on the table the large blue block is on the table the large green block is on the table the small yellow block is on the table the small red block is on the table the small blue block is on the table the small green block is in the hand What would you like to do next? |: pickup the small green block There is already a block in the hand. What would you like to do next? |: put the small red block on the small green block You cannot put a block on a block in the hand. What would you like to do next? |: put the block on the small red block Currently... the large yellow block is on the table the large red block is on the table the large blue block is on the table the large green block is on the table the small yellow block is on the table the small red block is on the table the small blue block is on the table the small green block is on the small red block What would you like to do next? |: pickup the small red block The block is not clear. What would you like to do next? |: exit % Execution Aborted