merge(nil,

merge(

merge(.(

++(nil,

++(.(

if(true,

if(false,

R

↳Dependency Pair Analysis

MERGE(.(x,y), .(u,v)) -> IF(< (x,u), .(x, merge(y, .(u,v))), .(u, merge(.(x,y),v)))

MERGE(.(x,y), .(u,v)) -> MERGE(y, .(u,v))

MERGE(.(x,y), .(u,v)) -> MERGE(.(x,y),v)

++'(.(x,y),z) -> ++'(y,z)

Furthermore,

R

↳DPs

→DP Problem 1

↳Argument Filtering and Ordering

→DP Problem 2

↳AFS

**MERGE(.( x, y), .(u, v)) -> MERGE(.(x, y), v)**

merge(nil,y) ->y

merge(x, nil) ->x

merge(.(x,y), .(u,v)) -> if(< (x,u), .(x, merge(y, .(u,v))), .(u, merge(.(x,y),v)))

++(nil,y) ->y

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

if(true,x,y) ->x

if(false,x,y) ->x

innermost

The following dependency pairs can be strictly oriented:

MERGE(.(x,y), .(u,v)) -> MERGE(.(x,y),v)

MERGE(.(x,y), .(u,v)) -> MERGE(y, .(u,v))

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

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

trivial

resulting in one new DP problem.

Used Argument Filtering System:

MERGE(x,_{1}x) -> MERGE(_{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

merge(nil,y) ->y

merge(x, nil) ->x

merge(.(x,y), .(u,v)) -> if(< (x,u), .(x, merge(y, .(u,v))), .(u, merge(.(x,y),v)))

++(nil,y) ->y

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

if(true,x,y) ->x

if(false,x,y) ->x

innermost

Using the Dependency Graph resulted in no new DP problems.

R

↳DPs

→DP Problem 1

↳AFS

→DP Problem 2

↳Argument Filtering and Ordering

**++'(.( x, y), z) -> ++'(y, z)**

merge(nil,y) ->y

merge(x, nil) ->x

merge(.(x,y), .(u,v)) -> if(< (x,u), .(x, merge(y, .(u,v))), .(u, merge(.(x,y),v)))

++(nil,y) ->y

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

if(true,x,y) ->x

if(false,x,y) ->x

innermost

The following dependency pair can be strictly oriented:

++'(.(x,y),z) -> ++'(y,z)

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

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

trivial

resulting in one new DP problem.

Used Argument Filtering System:

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

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

R

↳DPs

→DP Problem 1

↳AFS

→DP Problem 2

↳AFS

→DP Problem 4

↳Dependency Graph

merge(nil,y) ->y

merge(x, nil) ->x

merge(.(x,y), .(u,v)) -> if(< (x,u), .(x, merge(y, .(u,v))), .(u, merge(.(x,y),v)))

++(nil,y) ->y

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

if(true,x,y) ->x

if(false,x,y) ->x

innermost

Using the Dependency Graph resulted in no new DP problems.

Duration:

0:00 minutes