(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_in → f75_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_in → f75_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