(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:
Lexicographic path order with status [LPO].
Precedence:
f1 > g1 > 0 > pair2 > s1
f1 > g1 > h1 > p1 > s1
f1 > g1 > h1 > pair2 > s1
f1 > g1 > h1 > +2 > s1
f1 > g1 > h1 > q1 > s1
Status:
f1: [1]
q1: [1]
g1: [1]
h1: [1]
pair2: [1,2]
s1: [1]
p1: [1]
0: []
+2: [2,1]
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