Term Rewriting System R:
[x, y]
fac(0) -> 1
fac(s(x)) -> *(s(x), fac(x))
fac(0) -> s(0)
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)

Termination of R to be shown.



   R
Dependency Pair Analysis



R contains the following Dependency Pairs:

FAC(0) -> 1'
FAC(s(x)) -> *'(s(x), fac(x))
FAC(s(x)) -> FAC(x)
FLOOP(s(x), y) -> FLOOP(x, *(s(x), y))
FLOOP(s(x), y) -> *'(s(x), y)
*'(x, s(y)) -> +'(*(x, y), x)
*'(x, s(y)) -> *'(x, y)
+'(x, s(y)) -> +'(x, y)

Furthermore, R contains four SCCs.


   R
DPs
       →DP Problem 1
Size-Change Principle
       →DP Problem 2
SCP
       →DP Problem 3
SCP
       →DP Problem 4
SCP


Dependency Pair:

+'(x, s(y)) -> +'(x, y)


Rules:


fac(0) -> 1
fac(s(x)) -> *(s(x), fac(x))
fac(0) -> s(0)
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)





We number the DPs as follows:
  1. +'(x, s(y)) -> +'(x, y)
and get the following Size-Change Graph(s):
{1} , {1}
1=1
2>2

which lead(s) to this/these maximal multigraph(s):
{1} , {1}
1=1
2>2

DP: empty set
Oriented Rules: none

We used the order Homeomorphic Embedding Order with Non-Strict Precedence.
trivial

with Argument Filtering System:
s(x1) -> s(x1)

We obtain no new DP problems.


   R
DPs
       →DP Problem 1
SCP
       →DP Problem 2
Size-Change Principle
       →DP Problem 3
SCP
       →DP Problem 4
SCP


Dependency Pair:

*'(x, s(y)) -> *'(x, y)


Rules:


fac(0) -> 1
fac(s(x)) -> *(s(x), fac(x))
fac(0) -> s(0)
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)





We number the DPs as follows:
  1. *'(x, s(y)) -> *'(x, y)
and get the following Size-Change Graph(s):
{1} , {1}
1=1
2>2

which lead(s) to this/these maximal multigraph(s):
{1} , {1}
1=1
2>2

DP: empty set
Oriented Rules: none

We used the order Homeomorphic Embedding Order with Non-Strict Precedence.
trivial

with Argument Filtering System:
s(x1) -> s(x1)

We obtain no new DP problems.


   R
DPs
       →DP Problem 1
SCP
       →DP Problem 2
SCP
       →DP Problem 3
Size-Change Principle
       →DP Problem 4
SCP


Dependency Pair:

FAC(s(x)) -> FAC(x)


Rules:


fac(0) -> 1
fac(s(x)) -> *(s(x), fac(x))
fac(0) -> s(0)
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)





We number the DPs as follows:
  1. FAC(s(x)) -> FAC(x)
and get the following Size-Change Graph(s):
{1} , {1}
1>1

which lead(s) to this/these maximal multigraph(s):
{1} , {1}
1>1

DP: empty set
Oriented Rules: none

We used the order Homeomorphic Embedding Order with Non-Strict Precedence.
trivial

with Argument Filtering System:
s(x1) -> s(x1)

We obtain no new DP problems.


   R
DPs
       →DP Problem 1
SCP
       →DP Problem 2
SCP
       →DP Problem 3
SCP
       →DP Problem 4
Size-Change Principle


Dependency Pair:

FLOOP(s(x), y) -> FLOOP(x, *(s(x), y))


Rules:


fac(0) -> 1
fac(s(x)) -> *(s(x), fac(x))
fac(0) -> s(0)
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)





We number the DPs as follows:
  1. FLOOP(s(x), y) -> FLOOP(x, *(s(x), y))
and get the following Size-Change Graph(s):
{1} , {1}
1>1

which lead(s) to this/these maximal multigraph(s):
{1} , {1}
1>1

DP: empty set
Oriented Rules: none

We used the order Homeomorphic Embedding Order with Non-Strict Precedence.
trivial

with Argument Filtering System:
s(x1) -> s(x1)

We obtain no new DP problems.

Termination of R successfully shown.
Duration:
0:00 minutes