fac(0) -> 1

fac(s(

fac(0) -> s(0)

floop(0,

floop(s(

*(

*(

+(

+(

1 -> s(0)

R

↳Dependency Pair Analysis

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

↳DPs

→DP Problem 1

↳Argument Filtering and Ordering

→DP Problem 2

↳AFS

→DP Problem 3

↳AFS

→DP Problem 4

↳Remaining

**+'( x, s(y)) -> +'(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)

The following dependency pair can be strictly oriented:

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

There are no usable rules using the Ce-refinement that need to be oriented.

Used ordering: Polynomial ordering with Polynomial interpretation:

_{ }^{ }POL(s(x)_{1})= 1 + x _{1}_{ }^{ }_{ }^{ }POL(+'(x)_{1}, x_{2})= x _{1}+ x_{2}_{ }^{ }

resulting in one new DP problem.

Used Argument Filtering System:

+'(x,_{1}x) -> +'(_{2}x,_{1}x)_{2}

s(x) -> s(_{1}x)_{1}

R

↳DPs

→DP Problem 1

↳AFS

→DP Problem 5

↳Dependency Graph

→DP Problem 2

↳AFS

→DP Problem 3

↳AFS

→DP Problem 4

↳Remaining

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)

Using the Dependency Graph resulted in no new DP problems.

R

↳DPs

→DP Problem 1

↳AFS

→DP Problem 2

↳Argument Filtering and Ordering

→DP Problem 3

↳AFS

→DP Problem 4

↳Remaining

***'( x, s(y)) -> *'(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)

The following dependency pair can be strictly oriented:

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

There are no usable rules using the Ce-refinement that need to be oriented.

Used ordering: Polynomial ordering with Polynomial interpretation:

_{ }^{ }POL(*'(x)_{1}, x_{2})= x _{1}+ x_{2}_{ }^{ }_{ }^{ }POL(s(x)_{1})= 1 + x _{1}_{ }^{ }

resulting in one new DP problem.

Used Argument Filtering System:

*'(x,_{1}x) -> *'(_{2}x,_{1}x)_{2}

s(x) -> s(_{1}x)_{1}

R

↳DPs

→DP Problem 1

↳AFS

→DP Problem 2

↳AFS

→DP Problem 6

↳Dependency Graph

→DP Problem 3

↳AFS

→DP Problem 4

↳Remaining

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)

Using the Dependency Graph resulted in no new DP problems.

R

↳DPs

→DP Problem 1

↳AFS

→DP Problem 2

↳AFS

→DP Problem 3

↳Argument Filtering and Ordering

→DP Problem 4

↳Remaining

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

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)

The following dependency pair can be strictly oriented:

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

There are no usable rules using the Ce-refinement that need to be oriented.

Used ordering: Polynomial ordering with Polynomial interpretation:

_{ }^{ }POL(FAC(x)_{1})= x _{1}_{ }^{ }_{ }^{ }POL(s(x)_{1})= 1 + x _{1}_{ }^{ }

resulting in one new DP problem.

Used Argument Filtering System:

FAC(x) -> FAC(_{1}x)_{1}

s(x) -> s(_{1}x)_{1}

R

↳DPs

→DP Problem 1

↳AFS

→DP Problem 2

↳AFS

→DP Problem 3

↳AFS

→DP Problem 7

↳Dependency Graph

→DP Problem 4

↳Remaining

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)

Using the Dependency Graph resulted in no new DP problems.

R

↳DPs

→DP Problem 1

↳AFS

→DP Problem 2

↳AFS

→DP Problem 3

↳AFS

→DP Problem 4

↳Remaining Obligation(s)

The following remains to be proven:

**FLOOP(s( x), y) -> FLOOP(x, *(s(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)

Duration:

0:00 minutes