呼び出されたゴールを, ガード部の規則にしたがって チェックしたが, どの節の条件にもマッチしなかった時は, そのゴールは失敗する. 以下に失敗するプログラムの例とその実行トレースを示す.
:-module main. main:- true | gen(X), con(X). gen(X):- true | X = a. con(b):- true | true. con(c):- true | true. % g_fail -t 1 1 CALL:main:main? 1 REDU:main:main :- 2 0:+gen(_4) 3 1:+con(_4)? 5 2 CALL:main:gen(_4)? 2 REDU:main:gen(a)? 3 CALL:main:con(a)? !!! Reduction Failure !!! 4 FAIL:main:con(a)? a 10 %
節が失敗したため10行目に失敗した節 4 FAIL:main:con(a)?が表示された. この時は図のように, ` a' コマンドでトレースを中止することが推奨される.