(0) Obligation:
Q restricted rewrite system:
The TRS R consists of the following rules:
f(0) → 0
f(s(0)) → s(0)
f(s(s(x))) → p(h(g(x)))
g(0) → pair(s(0), s(0))
g(s(x)) → h(g(x))
h(x) → pair(+(p(x), q(x)), p(x))
p(pair(x, y)) → x
q(pair(x, y)) → y
+(x, 0) → x
+(x, s(y)) → s(+(x, y))
f(s(s(x))) → +(p(g(x)), q(g(x)))
g(s(x)) → pair(+(p(g(x)), q(g(x))), p(g(x)))
Q is empty.
(1) QTRSRRRProof (EQUIVALENT transformation)
Used ordering:
Recursive path order with status [RPO].
Quasi-Precedence:
[f1, g1] > h1 > pair2 > [s1, p1, q1]
[f1, g1] > h1 > +2 > [s1, p1, q1]
0 > pair2 > [s1, p1, q1]
Status:
f1: multiset
0: multiset
s1: [1]
p1: multiset
h1: multiset
g1: multiset
pair2: multiset
+2: [1,2]
q1: multiset
With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly:
f(0) → 0
f(s(0)) → s(0)
f(s(s(x))) → p(h(g(x)))
g(0) → pair(s(0), s(0))
g(s(x)) → h(g(x))
h(x) → pair(+(p(x), q(x)), p(x))
p(pair(x, y)) → x
q(pair(x, y)) → y
+(x, 0) → x
+(x, s(y)) → s(+(x, y))
f(s(s(x))) → +(p(g(x)), q(g(x)))
g(s(x)) → pair(+(p(g(x)), q(g(x))), p(g(x)))
(2) Obligation:
Q restricted rewrite system:
R is empty.
Q is empty.
(3) RisEmptyProof (EQUIVALENT transformation)
The TRS R is empty. Hence, termination is trivially proven.
(4) TRUE