(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))
1s(0)
fac(0) → s(0)

Q is empty.

(1) QTRSRRRProof (EQUIVALENT transformation)

Used ordering:
Recursive path order with status [RPO].
Quasi-Precedence:
fac1 > 1 > [0, s1]
fac1 > *2 > +2 > [0, s1]
floop2 > *2 > +2 > [0, s1]

Status:
fac1: multiset
0: multiset
1: multiset
s1: multiset
*2: [2,1]
floop2: [1,2]
+2: [2,1]

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))
1s(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