(0) Obligation:

Clauses:

p(a, b).
p(b, c).
tc(X, X).
tc(X, Y) :- ','(p(X, Z), tc(Z, Y)).

Query: tc(g,a)

(1) PrologToTRSTransformerProof (SOUND transformation)

Transformed Prolog program to TRS.

(2) Obligation:

Q restricted rewrite system:
The TRS R consists of the following rules:

f3_in(T7) → f3_out1(T7)
f3_in(a) → f3_out1(b)
f3_in(a) → U1(f75_in, a)
U1(f75_out1(T23), a) → f3_out1(T23)
f3_in(b) → U2(f75_in, b)
U2(f75_out1(T16), b) → f3_out1(T16)
f75_inf75_out1(c)

Q is empty.

(3) QTRSRRRProof (EQUIVALENT transformation)

Used ordering:
Knuth-Bendix order [KBO] with precedence:
b > a > c > f3in1 > U12 > f75out11 > U22 > f75in > f3out11

and weight map:

a=2
b=2
f75_in=3
c=1
f3_in_1=3
f3_out1_1=3
f75_out1_1=1
U1_2=0
U2_2=0

The variable weight is 1With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly:

f3_in(T7) → f3_out1(T7)
f3_in(a) → f3_out1(b)
f3_in(a) → U1(f75_in, a)
U1(f75_out1(T23), a) → f3_out1(T23)
f3_in(b) → U2(f75_in, b)
U2(f75_out1(T16), b) → f3_out1(T16)
f75_inf75_out1(c)


(4) Obligation:

Q restricted rewrite system:
R is empty.
Q is empty.

(5) RisEmptyProof (EQUIVALENT transformation)

The TRS R is empty. Hence, termination is trivially proven.

(6) YES