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

↳Argument Filtering and Ordering

→DP Problem 2

↳AFS

**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 AFS that need to be oriented.

Used ordering: Lexicographic Path Order with Non-Strict Precedence with Quasi Precedence:

++ > REV1

resulting in one new DP problem.

Used Argument Filtering System:

REV1(x,_{1}x) -> REV1(_{2}x,_{1}x)_{2}

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

R

↳DPs

→DP Problem 1

↳AFS

→DP Problem 3

↳Dependency Graph

→DP Problem 2

↳AFS

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

↳AFS

→DP Problem 2

↳Argument Filtering and 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))

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

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

The following usable rules w.r.t. to the 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: Lexicographic Path Order with Non-Strict Precedence with Quasi Precedence:

++ > REV2 > REV

resulting in one new DP problem.

Used Argument Filtering System:

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

REV2(x,_{1}x) -> REV2(_{2}x)_{2}

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

rev(x) ->_{1}x_{1}

rev2(x,_{1}x) ->_{2}x_{2}

R

↳DPs

→DP Problem 1

↳AFS

→DP Problem 2

↳AFS

→DP Problem 4

↳Dependency Graph

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:01 minutes