poole@CPSC-M-POOLE01 prolog % swipl Welcome to SWI-Prolog (threaded, 64 bits, version 9.0.4) SWI-Prolog comes with ABSOLUTELY NO WARRANTY. This is free software. Please run ?- license. for legal details. For online help and background, visit https://www.swi-prolog.org For built-in help, use ?- help(Topic). or ?- apropos(Word). ?- [simpeg]. true. ?- trace. true. [trace] ?- a | . Call: (10) a ? creep Call: (11) b ? creep Call: (12) f ? creep Call: (13) j ? creep Call: (14) c ? creep Call: (15) e ? creep Exit: (15) e ? creep Exit: (14) c ? creep Exit: (13) j ? creep Call: (13) e ? creep Exit: (13) e ? creep Exit: (12) f ? creep Call: (12) k ? creep Fail: (12) k ? creep Redo: (12) f ? abort % Execution Aborted [trace] ?- notrace. true. [debug] ?- nodebug. true. ?- [simpeg]. true. ?- a | . ERROR: Stack limit (1.0Gb) exceeded ERROR: Stack sizes: local: 1.0Gb, global: 37Kb, trail: 0Kb ERROR: Stack depth: 7,892,177, last-call: 0%, Choice points: 7,892,170 ERROR: Probable infinite recursion (cycle): ERROR: [7,892,177] user:b ERROR: [7,892,176] user:a ERROR: [7,892,175] user:b Exception: (7,888,985) b ? abort % Execution Aborted ?- ^D % halt poole@CPSC-M-POOLE01 prolog % swipl Welcome to SWI-Prolog (threaded, 64 bits, version 9.0.4) SWI-Prolog comes with ABSOLUTELY NO WARRANTY. This is free software. Please run ?- license. for legal details. For online help and background, visit https://www.swi-prolog.org For built-in help, use ?- help(Topic). or ?- apropos(Word). ?- [family]. true. ?- trace. true. [trace] ?- father(pierre,Y), parent(Y,Z). Call: (11) father(pierre, _13530) ? creep Exit: (11) father(pierre, justin) ? creep Call: (11) parent(justin, _13536) ? creep Call: (12) mother(justin, _13536) ? creep Fail: (12) mother(justin, _13536) ? creep Redo: (11) parent(justin, _13536) ? creep Call: (12) father(justin, _13536) ? creep Exit: (12) father(justin, xavier) ? creep Exit: (11) parent(justin, xavier) ? creep Y = justin, Z = xavier ; Redo: (12) father(justin, _13536) ? Unknown option (h for help) Redo: (12) father(justin, _13536) ? creep Exit: (12) father(justin, ella_grace) ? creep Exit: (11) parent(justin, ella_grace) ? creep Y = justin, Z = ella_grace ; Redo: (11) father(pierre, _13530) ? creep Exit: (11) father(pierre, alexandre) ? creep Call: (11) parent(alexandre, _13536) ? creep Call: (12) mother(alexandre, _13536) ? creep Fail: (12) mother(alexandre, _13536) ? creep Redo: (11) parent(alexandre, _13536) ? creep Call: (12) father(alexandre, _13536) ? creep Fail: (12) father(alexandre, _13536) ? creep Fail: (11) parent(alexandre, _13536) ? creep Redo: (11) father(pierre, _13530) ? creep Exit: (11) father(pierre, michel) ? creep Call: (11) parent(michel, _13536) ? creep Call: (12) mother(michel, _13536) ? creep Fail: (12) mother(michel, _13536) ? creep Redo: (11) parent(michel, _13536) ? creep Call: (12) father(michel, _13536) ? creep Fail: (12) father(michel, _13536) ? creep Fail: (11) parent(michel, _13536) ? creep false. [trace] ?-