(0) Obligation:
Q restricted rewrite system:
The TRS R consists of the following rules:
fac(0) → 1
fac(s(x)) → *(s(x), fac(x))
floop(0, y) → y
floop(s(x), y) → floop(x, *(s(x), y))
*(x, 0) → 0
*(x, s(y)) → +(*(x, y), x)
+(x, 0) → x
+(x, s(y)) → s(+(x, y))
1 → s(0)
fac(0) → s(0)
Q is empty.
(1) QTRSRRRProof (EQUIVALENT transformation)
Used ordering:
Recursive path order with status [RPO].
Precedence:
fac1 > 1 > 0 > s1
fac1 > *2 > 0 > s1
fac1 > *2 > +2 > s1
floop2 > *2 > 0 > s1
floop2 > *2 > +2 > s1
Status:
floop2: [1,2]
fac1: multiset
*2: multiset
s1: multiset
1: multiset
0: multiset
+2: multiset
With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly:
fac(0) → 1
fac(s(x)) → *(s(x), fac(x))
floop(0, y) → y
floop(s(x), y) → floop(x, *(s(x), y))
*(x, 0) → 0
*(x, s(y)) → +(*(x, y), x)
+(x, 0) → x
+(x, s(y)) → s(+(x, y))
1 → s(0)
fac(0) → s(0)
(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