rev(nil) -> nil

rev(++(

rev1(

rev1(

rev2(

rev2(

R

↳Dependency Pair Analysis

REV(++(x,y)) -> REV1(x,y)

REV(++(x,y)) -> REV2(x,y)

REV1(x, ++(y,z)) -> REV1(y,z)

REV2(x, ++(y,z)) -> REV(++(x, rev(rev2(y,z))))

REV2(x, ++(y,z)) -> REV(rev2(y,z))

REV2(x, ++(y,z)) -> REV2(y,z)

Furthermore,

R

↳DPs

→DP Problem 1

↳Polynomial Ordering

→DP Problem 2

↳Polo

**REV1( x, ++(y, z)) -> REV1(y, z)**

rev(nil) -> nil

rev(++(x,y)) -> ++(rev1(x,y), rev2(x,y))

rev1(x, nil) ->x

rev1(x, ++(y,z)) -> rev1(y,z)

rev2(x, nil) -> nil

rev2(x, ++(y,z)) -> rev(++(x, rev(rev2(y,z))))

The following dependency pair can be strictly oriented:

REV1(x, ++(y,z)) -> REV1(y,z)

There are no usable rules w.r.t. to the implicit AFS that need to be oriented.

Used ordering: Polynomial ordering with Polynomial interpretation:

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

resulting in one new DP problem.

R

↳DPs

→DP Problem 1

↳Polo

→DP Problem 3

↳Dependency Graph

→DP Problem 2

↳Polo

rev(nil) -> nil

rev(++(x,y)) -> ++(rev1(x,y), rev2(x,y))

rev1(x, nil) ->x

rev1(x, ++(y,z)) -> rev1(y,z)

rev2(x, nil) -> nil

rev2(x, ++(y,z)) -> rev(++(x, rev(rev2(y,z))))

Using the Dependency Graph resulted in no new DP problems.

R

↳DPs

→DP Problem 1

↳Polo

→DP Problem 2

↳Polynomial Ordering

**REV2( x, ++(y, z)) -> REV2(y, z)**

rev(nil) -> nil

rev(++(x,y)) -> ++(rev1(x,y), rev2(x,y))

rev1(x, nil) ->x

rev1(x, ++(y,z)) -> rev1(y,z)

rev2(x, nil) -> nil

rev2(x, ++(y,z)) -> rev(++(x, rev(rev2(y,z))))

The following dependency pairs can be strictly oriented:

REV2(x, ++(y,z)) -> REV2(y,z)

REV2(x, ++(y,z)) -> REV(rev2(y,z))

REV(++(x,y)) -> REV2(x,y)

Additionally, the following usable rules w.r.t. to the implicit AFS can be oriented:

rev2(x, nil) -> nil

rev2(x, ++(y,z)) -> rev(++(x, rev(rev2(y,z))))

rev(nil) -> nil

rev(++(x,y)) -> ++(rev1(x,y), rev2(x,y))

Used ordering: Polynomial ordering with Polynomial interpretation:

_{ }^{ }POL(rev2(x)_{1}, x_{2})= x _{2}_{ }^{ }_{ }^{ }POL(rev(x)_{1})= x _{1}_{ }^{ }_{ }^{ }POL(REV(x)_{1})= x _{1}_{ }^{ }_{ }^{ }POL(rev1(x)_{1}, x_{2})= 0 _{ }^{ }_{ }^{ }POL(++(x)_{1}, x_{2})= 1 + x _{2}_{ }^{ }_{ }^{ }POL(REV2(x)_{1}, x_{2})= x _{2}_{ }^{ }_{ }^{ }POL(nil)= 0 _{ }^{ }

resulting in one new DP problem.

R

↳DPs

→DP Problem 1

↳Polo

→DP Problem 2

↳Polo

→DP Problem 4

↳Dependency Graph

**REV2( x, ++(y, z)) -> REV(++(x, rev(rev2(y, z))))**

rev(nil) -> nil

rev(++(x,y)) -> ++(rev1(x,y), rev2(x,y))

rev1(x, nil) ->x

rev1(x, ++(y,z)) -> rev1(y,z)

rev2(x, nil) -> nil

rev2(x, ++(y,z)) -> rev(++(x, rev(rev2(y,z))))

Using the Dependency Graph resulted in no new DP problems.

Duration:

0:00 minutes