(0) Obligation:

Clauses:

fold(X, [], X).
fold(X, Y, Z) :- ','(no(empty(Y)), ','(head(Y, H), ','(tail(Y, T), ','(myop(X, H, V), fold(V, T, Z))))).
myop(a, b, c).
head([], X1).
head(.(H, X2), H).
tail([], []).
tail(.(X3, T), T).
empty([]).
no(X) :- ','(X, ','(!, failure(a))).
no(X4).
failure(b).

Queries:

fold(g,g,a).

(1) PrologToDTProblemTransformerProof (SOUND transformation)

Built DT problem from termination graph.

(2) Obligation:

Triples:


Clauses:


Afs:

(3) TPisEmptyProof (EQUIVALENT transformation)

There are no more dependency triples. Hence, the dependency triple problem trivially terminates.

(4) YES