R
↳Dependency Pair Analysis
LE(s(X), s(Y)) -> LE(X, Y)
APP(cons(N, L), Y) -> APP(L, Y)
LOW(N, cons(M, L)) -> IFLOW(le(M, N), N, cons(M, L))
LOW(N, cons(M, L)) -> LE(M, N)
IFLOW(true, N, cons(M, L)) -> LOW(N, L)
IFLOW(false, N, cons(M, L)) -> LOW(N, L)
HIGH(N, cons(M, L)) -> IFHIGH(le(M, N), N, cons(M, L))
HIGH(N, cons(M, L)) -> LE(M, N)
IFHIGH(true, N, cons(M, L)) -> HIGH(N, L)
IFHIGH(false, N, cons(M, L)) -> HIGH(N, L)
QUICKSORT(cons(N, L)) -> APP(quicksort(low(N, L)), cons(N, quicksort(high(N, L))))
QUICKSORT(cons(N, L)) -> QUICKSORT(low(N, L))
QUICKSORT(cons(N, L)) -> LOW(N, L)
QUICKSORT(cons(N, L)) -> QUICKSORT(high(N, L))
QUICKSORT(cons(N, L)) -> HIGH(N, L)
R
↳DPs
→DP Problem 1
↳Forward Instantiation Transformation
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Nar
→DP Problem 4
↳Nar
→DP Problem 5
↳Nar
LE(s(X), s(Y)) -> LE(X, Y)
le(0, Y) -> true
le(s(X), 0) -> false
le(s(X), s(Y)) -> le(X, Y)
app(nil, Y) -> Y
app(cons(N, L), Y) -> cons(N, app(L, Y))
low(N, nil) -> nil
low(N, cons(M, L)) -> iflow(le(M, N), N, cons(M, L))
iflow(true, N, cons(M, L)) -> cons(M, low(N, L))
iflow(false, N, cons(M, L)) -> low(N, L)
high(N, nil) -> nil
high(N, cons(M, L)) -> ifhigh(le(M, N), N, cons(M, L))
ifhigh(true, N, cons(M, L)) -> high(N, L)
ifhigh(false, N, cons(M, L)) -> cons(M, high(N, L))
quicksort(nil) -> nil
quicksort(cons(N, L)) -> app(quicksort(low(N, L)), cons(N, quicksort(high(N, L))))
innermost
one new Dependency Pair is created:
LE(s(X), s(Y)) -> LE(X, Y)
LE(s(s(X'')), s(s(Y''))) -> LE(s(X''), s(Y''))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 6
↳Forward Instantiation Transformation
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Nar
→DP Problem 4
↳Nar
→DP Problem 5
↳Nar
LE(s(s(X'')), s(s(Y''))) -> LE(s(X''), s(Y''))
le(0, Y) -> true
le(s(X), 0) -> false
le(s(X), s(Y)) -> le(X, Y)
app(nil, Y) -> Y
app(cons(N, L), Y) -> cons(N, app(L, Y))
low(N, nil) -> nil
low(N, cons(M, L)) -> iflow(le(M, N), N, cons(M, L))
iflow(true, N, cons(M, L)) -> cons(M, low(N, L))
iflow(false, N, cons(M, L)) -> low(N, L)
high(N, nil) -> nil
high(N, cons(M, L)) -> ifhigh(le(M, N), N, cons(M, L))
ifhigh(true, N, cons(M, L)) -> high(N, L)
ifhigh(false, N, cons(M, L)) -> cons(M, high(N, L))
quicksort(nil) -> nil
quicksort(cons(N, L)) -> app(quicksort(low(N, L)), cons(N, quicksort(high(N, L))))
innermost
one new Dependency Pair is created:
LE(s(s(X'')), s(s(Y''))) -> LE(s(X''), s(Y''))
LE(s(s(s(X''''))), s(s(s(Y'''')))) -> LE(s(s(X'''')), s(s(Y'''')))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 6
↳FwdInst
...
→DP Problem 7
↳Argument Filtering and Ordering
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Nar
→DP Problem 4
↳Nar
→DP Problem 5
↳Nar
LE(s(s(s(X''''))), s(s(s(Y'''')))) -> LE(s(s(X'''')), s(s(Y'''')))
le(0, Y) -> true
le(s(X), 0) -> false
le(s(X), s(Y)) -> le(X, Y)
app(nil, Y) -> Y
app(cons(N, L), Y) -> cons(N, app(L, Y))
low(N, nil) -> nil
low(N, cons(M, L)) -> iflow(le(M, N), N, cons(M, L))
iflow(true, N, cons(M, L)) -> cons(M, low(N, L))
iflow(false, N, cons(M, L)) -> low(N, L)
high(N, nil) -> nil
high(N, cons(M, L)) -> ifhigh(le(M, N), N, cons(M, L))
ifhigh(true, N, cons(M, L)) -> high(N, L)
ifhigh(false, N, cons(M, L)) -> cons(M, high(N, L))
quicksort(nil) -> nil
quicksort(cons(N, L)) -> app(quicksort(low(N, L)), cons(N, quicksort(high(N, L))))
innermost
LE(s(s(s(X''''))), s(s(s(Y'''')))) -> LE(s(s(X'''')), s(s(Y'''')))
LE(x1, x2) -> LE(x1, x2)
s(x1) -> s(x1)
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 6
↳FwdInst
...
→DP Problem 8
↳Dependency Graph
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Nar
→DP Problem 4
↳Nar
→DP Problem 5
↳Nar
le(0, Y) -> true
le(s(X), 0) -> false
le(s(X), s(Y)) -> le(X, Y)
app(nil, Y) -> Y
app(cons(N, L), Y) -> cons(N, app(L, Y))
low(N, nil) -> nil
low(N, cons(M, L)) -> iflow(le(M, N), N, cons(M, L))
iflow(true, N, cons(M, L)) -> cons(M, low(N, L))
iflow(false, N, cons(M, L)) -> low(N, L)
high(N, nil) -> nil
high(N, cons(M, L)) -> ifhigh(le(M, N), N, cons(M, L))
ifhigh(true, N, cons(M, L)) -> high(N, L)
ifhigh(false, N, cons(M, L)) -> cons(M, high(N, L))
quicksort(nil) -> nil
quicksort(cons(N, L)) -> app(quicksort(low(N, L)), cons(N, quicksort(high(N, L))))
innermost
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳Forward Instantiation Transformation
→DP Problem 3
↳Nar
→DP Problem 4
↳Nar
→DP Problem 5
↳Nar
APP(cons(N, L), Y) -> APP(L, Y)
le(0, Y) -> true
le(s(X), 0) -> false
le(s(X), s(Y)) -> le(X, Y)
app(nil, Y) -> Y
app(cons(N, L), Y) -> cons(N, app(L, Y))
low(N, nil) -> nil
low(N, cons(M, L)) -> iflow(le(M, N), N, cons(M, L))
iflow(true, N, cons(M, L)) -> cons(M, low(N, L))
iflow(false, N, cons(M, L)) -> low(N, L)
high(N, nil) -> nil
high(N, cons(M, L)) -> ifhigh(le(M, N), N, cons(M, L))
ifhigh(true, N, cons(M, L)) -> high(N, L)
ifhigh(false, N, cons(M, L)) -> cons(M, high(N, L))
quicksort(nil) -> nil
quicksort(cons(N, L)) -> app(quicksort(low(N, L)), cons(N, quicksort(high(N, L))))
innermost
one new Dependency Pair is created:
APP(cons(N, L), Y) -> APP(L, Y)
APP(cons(N, cons(N'', L'')), Y'') -> APP(cons(N'', L''), Y'')
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 9
↳Forward Instantiation Transformation
→DP Problem 3
↳Nar
→DP Problem 4
↳Nar
→DP Problem 5
↳Nar
APP(cons(N, cons(N'', L'')), Y'') -> APP(cons(N'', L''), Y'')
le(0, Y) -> true
le(s(X), 0) -> false
le(s(X), s(Y)) -> le(X, Y)
app(nil, Y) -> Y
app(cons(N, L), Y) -> cons(N, app(L, Y))
low(N, nil) -> nil
low(N, cons(M, L)) -> iflow(le(M, N), N, cons(M, L))
iflow(true, N, cons(M, L)) -> cons(M, low(N, L))
iflow(false, N, cons(M, L)) -> low(N, L)
high(N, nil) -> nil
high(N, cons(M, L)) -> ifhigh(le(M, N), N, cons(M, L))
ifhigh(true, N, cons(M, L)) -> high(N, L)
ifhigh(false, N, cons(M, L)) -> cons(M, high(N, L))
quicksort(nil) -> nil
quicksort(cons(N, L)) -> app(quicksort(low(N, L)), cons(N, quicksort(high(N, L))))
innermost
one new Dependency Pair is created:
APP(cons(N, cons(N'', L'')), Y'') -> APP(cons(N'', L''), Y'')
APP(cons(N, cons(N'''', cons(N''''', L''''))), Y'''') -> APP(cons(N'''', cons(N''''', L'''')), Y'''')
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 9
↳FwdInst
...
→DP Problem 10
↳Argument Filtering and Ordering
→DP Problem 3
↳Nar
→DP Problem 4
↳Nar
→DP Problem 5
↳Nar
APP(cons(N, cons(N'''', cons(N''''', L''''))), Y'''') -> APP(cons(N'''', cons(N''''', L'''')), Y'''')
le(0, Y) -> true
le(s(X), 0) -> false
le(s(X), s(Y)) -> le(X, Y)
app(nil, Y) -> Y
app(cons(N, L), Y) -> cons(N, app(L, Y))
low(N, nil) -> nil
low(N, cons(M, L)) -> iflow(le(M, N), N, cons(M, L))
iflow(true, N, cons(M, L)) -> cons(M, low(N, L))
iflow(false, N, cons(M, L)) -> low(N, L)
high(N, nil) -> nil
high(N, cons(M, L)) -> ifhigh(le(M, N), N, cons(M, L))
ifhigh(true, N, cons(M, L)) -> high(N, L)
ifhigh(false, N, cons(M, L)) -> cons(M, high(N, L))
quicksort(nil) -> nil
quicksort(cons(N, L)) -> app(quicksort(low(N, L)), cons(N, quicksort(high(N, L))))
innermost
APP(cons(N, cons(N'''', cons(N''''', L''''))), Y'''') -> APP(cons(N'''', cons(N''''', L'''')), Y'''')
APP(x1, x2) -> APP(x1, x2)
cons(x1, x2) -> cons(x1, x2)
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 9
↳FwdInst
...
→DP Problem 11
↳Dependency Graph
→DP Problem 3
↳Nar
→DP Problem 4
↳Nar
→DP Problem 5
↳Nar
le(0, Y) -> true
le(s(X), 0) -> false
le(s(X), s(Y)) -> le(X, Y)
app(nil, Y) -> Y
app(cons(N, L), Y) -> cons(N, app(L, Y))
low(N, nil) -> nil
low(N, cons(M, L)) -> iflow(le(M, N), N, cons(M, L))
iflow(true, N, cons(M, L)) -> cons(M, low(N, L))
iflow(false, N, cons(M, L)) -> low(N, L)
high(N, nil) -> nil
high(N, cons(M, L)) -> ifhigh(le(M, N), N, cons(M, L))
ifhigh(true, N, cons(M, L)) -> high(N, L)
ifhigh(false, N, cons(M, L)) -> cons(M, high(N, L))
quicksort(nil) -> nil
quicksort(cons(N, L)) -> app(quicksort(low(N, L)), cons(N, quicksort(high(N, L))))
innermost
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Narrowing Transformation
→DP Problem 4
↳Nar
→DP Problem 5
↳Nar
IFLOW(false, N, cons(M, L)) -> LOW(N, L)
IFLOW(true, N, cons(M, L)) -> LOW(N, L)
LOW(N, cons(M, L)) -> IFLOW(le(M, N), N, cons(M, L))
le(0, Y) -> true
le(s(X), 0) -> false
le(s(X), s(Y)) -> le(X, Y)
app(nil, Y) -> Y
app(cons(N, L), Y) -> cons(N, app(L, Y))
low(N, nil) -> nil
low(N, cons(M, L)) -> iflow(le(M, N), N, cons(M, L))
iflow(true, N, cons(M, L)) -> cons(M, low(N, L))
iflow(false, N, cons(M, L)) -> low(N, L)
high(N, nil) -> nil
high(N, cons(M, L)) -> ifhigh(le(M, N), N, cons(M, L))
ifhigh(true, N, cons(M, L)) -> high(N, L)
ifhigh(false, N, cons(M, L)) -> cons(M, high(N, L))
quicksort(nil) -> nil
quicksort(cons(N, L)) -> app(quicksort(low(N, L)), cons(N, quicksort(high(N, L))))
innermost
three new Dependency Pairs are created:
LOW(N, cons(M, L)) -> IFLOW(le(M, N), N, cons(M, L))
LOW(N', cons(0, L)) -> IFLOW(true, N', cons(0, L))
LOW(0, cons(s(X'), L)) -> IFLOW(false, 0, cons(s(X'), L))
LOW(s(Y'), cons(s(X'), L)) -> IFLOW(le(X', Y'), s(Y'), cons(s(X'), L))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Nar
→DP Problem 12
↳Narrowing Transformation
→DP Problem 4
↳Nar
→DP Problem 5
↳Nar
LOW(s(Y'), cons(s(X'), L)) -> IFLOW(le(X', Y'), s(Y'), cons(s(X'), L))
LOW(0, cons(s(X'), L)) -> IFLOW(false, 0, cons(s(X'), L))
IFLOW(true, N, cons(M, L)) -> LOW(N, L)
LOW(N', cons(0, L)) -> IFLOW(true, N', cons(0, L))
IFLOW(false, N, cons(M, L)) -> LOW(N, L)
le(0, Y) -> true
le(s(X), 0) -> false
le(s(X), s(Y)) -> le(X, Y)
app(nil, Y) -> Y
app(cons(N, L), Y) -> cons(N, app(L, Y))
low(N, nil) -> nil
low(N, cons(M, L)) -> iflow(le(M, N), N, cons(M, L))
iflow(true, N, cons(M, L)) -> cons(M, low(N, L))
iflow(false, N, cons(M, L)) -> low(N, L)
high(N, nil) -> nil
high(N, cons(M, L)) -> ifhigh(le(M, N), N, cons(M, L))
ifhigh(true, N, cons(M, L)) -> high(N, L)
ifhigh(false, N, cons(M, L)) -> cons(M, high(N, L))
quicksort(nil) -> nil
quicksort(cons(N, L)) -> app(quicksort(low(N, L)), cons(N, quicksort(high(N, L))))
innermost
three new Dependency Pairs are created:
LOW(s(Y'), cons(s(X'), L)) -> IFLOW(le(X', Y'), s(Y'), cons(s(X'), L))
LOW(s(Y''), cons(s(0), L)) -> IFLOW(true, s(Y''), cons(s(0), L))
LOW(s(0), cons(s(s(X'')), L)) -> IFLOW(false, s(0), cons(s(s(X'')), L))
LOW(s(s(Y'')), cons(s(s(X'')), L)) -> IFLOW(le(X'', Y''), s(s(Y'')), cons(s(s(X'')), L))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Nar
→DP Problem 12
↳Nar
...
→DP Problem 13
↳Instantiation Transformation
→DP Problem 4
↳Nar
→DP Problem 5
↳Nar
LOW(s(s(Y'')), cons(s(s(X'')), L)) -> IFLOW(le(X'', Y''), s(s(Y'')), cons(s(s(X'')), L))
LOW(s(0), cons(s(s(X'')), L)) -> IFLOW(false, s(0), cons(s(s(X'')), L))
LOW(s(Y''), cons(s(0), L)) -> IFLOW(true, s(Y''), cons(s(0), L))
IFLOW(true, N, cons(M, L)) -> LOW(N, L)
LOW(N', cons(0, L)) -> IFLOW(true, N', cons(0, L))
IFLOW(false, N, cons(M, L)) -> LOW(N, L)
LOW(0, cons(s(X'), L)) -> IFLOW(false, 0, cons(s(X'), L))
le(0, Y) -> true
le(s(X), 0) -> false
le(s(X), s(Y)) -> le(X, Y)
app(nil, Y) -> Y
app(cons(N, L), Y) -> cons(N, app(L, Y))
low(N, nil) -> nil
low(N, cons(M, L)) -> iflow(le(M, N), N, cons(M, L))
iflow(true, N, cons(M, L)) -> cons(M, low(N, L))
iflow(false, N, cons(M, L)) -> low(N, L)
high(N, nil) -> nil
high(N, cons(M, L)) -> ifhigh(le(M, N), N, cons(M, L))
ifhigh(true, N, cons(M, L)) -> high(N, L)
ifhigh(false, N, cons(M, L)) -> cons(M, high(N, L))
quicksort(nil) -> nil
quicksort(cons(N, L)) -> app(quicksort(low(N, L)), cons(N, quicksort(high(N, L))))
innermost
three new Dependency Pairs are created:
IFLOW(true, N, cons(M, L)) -> LOW(N, L)
IFLOW(true, N', cons(0, L'')) -> LOW(N', L'')
IFLOW(true, s(Y''''), cons(s(0), L'')) -> LOW(s(Y''''), L'')
IFLOW(true, s(s(Y'''')), cons(s(s(X'''')), L'')) -> LOW(s(s(Y'''')), L'')
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Nar
→DP Problem 12
↳Nar
...
→DP Problem 14
↳Instantiation Transformation
→DP Problem 4
↳Nar
→DP Problem 5
↳Nar
IFLOW(true, s(s(Y'''')), cons(s(s(X'''')), L'')) -> LOW(s(s(Y'''')), L'')
LOW(s(0), cons(s(s(X'')), L)) -> IFLOW(false, s(0), cons(s(s(X'')), L))
IFLOW(true, s(Y''''), cons(s(0), L'')) -> LOW(s(Y''''), L'')
LOW(s(Y''), cons(s(0), L)) -> IFLOW(true, s(Y''), cons(s(0), L))
LOW(0, cons(s(X'), L)) -> IFLOW(false, 0, cons(s(X'), L))
IFLOW(true, N', cons(0, L'')) -> LOW(N', L'')
LOW(N', cons(0, L)) -> IFLOW(true, N', cons(0, L))
IFLOW(false, N, cons(M, L)) -> LOW(N, L)
LOW(s(s(Y'')), cons(s(s(X'')), L)) -> IFLOW(le(X'', Y''), s(s(Y'')), cons(s(s(X'')), L))
le(0, Y) -> true
le(s(X), 0) -> false
le(s(X), s(Y)) -> le(X, Y)
app(nil, Y) -> Y
app(cons(N, L), Y) -> cons(N, app(L, Y))
low(N, nil) -> nil
low(N, cons(M, L)) -> iflow(le(M, N), N, cons(M, L))
iflow(true, N, cons(M, L)) -> cons(M, low(N, L))
iflow(false, N, cons(M, L)) -> low(N, L)
high(N, nil) -> nil
high(N, cons(M, L)) -> ifhigh(le(M, N), N, cons(M, L))
ifhigh(true, N, cons(M, L)) -> high(N, L)
ifhigh(false, N, cons(M, L)) -> cons(M, high(N, L))
quicksort(nil) -> nil
quicksort(cons(N, L)) -> app(quicksort(low(N, L)), cons(N, quicksort(high(N, L))))
innermost
three new Dependency Pairs are created:
IFLOW(false, N, cons(M, L)) -> LOW(N, L)
IFLOW(false, 0, cons(s(X'''), L'')) -> LOW(0, L'')
IFLOW(false, s(0), cons(s(s(X'''')), L'')) -> LOW(s(0), L'')
IFLOW(false, s(s(Y'''')), cons(s(s(X'''')), L'')) -> LOW(s(s(Y'''')), L'')
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Nar
→DP Problem 12
↳Nar
...
→DP Problem 15
↳Forward Instantiation Transformation
→DP Problem 4
↳Nar
→DP Problem 5
↳Nar
IFLOW(false, s(s(Y'''')), cons(s(s(X'''')), L'')) -> LOW(s(s(Y'''')), L'')
LOW(s(s(Y'')), cons(s(s(X'')), L)) -> IFLOW(le(X'', Y''), s(s(Y'')), cons(s(s(X'')), L))
IFLOW(false, s(0), cons(s(s(X'''')), L'')) -> LOW(s(0), L'')
LOW(s(0), cons(s(s(X'')), L)) -> IFLOW(false, s(0), cons(s(s(X'')), L))
IFLOW(true, s(Y''''), cons(s(0), L'')) -> LOW(s(Y''''), L'')
LOW(s(Y''), cons(s(0), L)) -> IFLOW(true, s(Y''), cons(s(0), L))
IFLOW(false, 0, cons(s(X'''), L'')) -> LOW(0, L'')
LOW(0, cons(s(X'), L)) -> IFLOW(false, 0, cons(s(X'), L))
IFLOW(true, N', cons(0, L'')) -> LOW(N', L'')
LOW(N', cons(0, L)) -> IFLOW(true, N', cons(0, L))
IFLOW(true, s(s(Y'''')), cons(s(s(X'''')), L'')) -> LOW(s(s(Y'''')), L'')
le(0, Y) -> true
le(s(X), 0) -> false
le(s(X), s(Y)) -> le(X, Y)
app(nil, Y) -> Y
app(cons(N, L), Y) -> cons(N, app(L, Y))
low(N, nil) -> nil
low(N, cons(M, L)) -> iflow(le(M, N), N, cons(M, L))
iflow(true, N, cons(M, L)) -> cons(M, low(N, L))
iflow(false, N, cons(M, L)) -> low(N, L)
high(N, nil) -> nil
high(N, cons(M, L)) -> ifhigh(le(M, N), N, cons(M, L))
ifhigh(true, N, cons(M, L)) -> high(N, L)
ifhigh(false, N, cons(M, L)) -> cons(M, high(N, L))
quicksort(nil) -> nil
quicksort(cons(N, L)) -> app(quicksort(low(N, L)), cons(N, quicksort(high(N, L))))
innermost
five new Dependency Pairs are created:
IFLOW(true, N', cons(0, L'')) -> LOW(N', L'')
IFLOW(true, N''', cons(0, cons(0, L'''))) -> LOW(N''', cons(0, L'''))
IFLOW(true, 0, cons(0, cons(s(X'''), L'''))) -> LOW(0, cons(s(X'''), L'''))
IFLOW(true, s(Y''''), cons(0, cons(s(0), L'''))) -> LOW(s(Y''''), cons(s(0), L'''))
IFLOW(true, s(0), cons(0, cons(s(s(X'''')), L'''))) -> LOW(s(0), cons(s(s(X'''')), L'''))
IFLOW(true, s(s(Y'''')), cons(0, cons(s(s(X'''')), L'''))) -> LOW(s(s(Y'''')), cons(s(s(X'''')), L'''))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Nar
→DP Problem 12
↳Nar
...
→DP Problem 16
↳Forward Instantiation Transformation
→DP Problem 4
↳Nar
→DP Problem 5
↳Nar
IFLOW(true, s(s(Y'''')), cons(0, cons(s(s(X'''')), L'''))) -> LOW(s(s(Y'''')), cons(s(s(X'''')), L'''))
IFLOW(true, s(0), cons(0, cons(s(s(X'''')), L'''))) -> LOW(s(0), cons(s(s(X'''')), L'''))
IFLOW(true, s(s(Y'''')), cons(s(s(X'''')), L'')) -> LOW(s(s(Y'''')), L'')
LOW(s(s(Y'')), cons(s(s(X'')), L)) -> IFLOW(le(X'', Y''), s(s(Y'')), cons(s(s(X'')), L))
IFLOW(false, s(0), cons(s(s(X'''')), L'')) -> LOW(s(0), L'')
LOW(s(0), cons(s(s(X'')), L)) -> IFLOW(false, s(0), cons(s(s(X'')), L))
IFLOW(true, s(Y''''), cons(s(0), L'')) -> LOW(s(Y''''), L'')
LOW(s(Y''), cons(s(0), L)) -> IFLOW(true, s(Y''), cons(s(0), L))
IFLOW(true, s(Y''''), cons(0, cons(s(0), L'''))) -> LOW(s(Y''''), cons(s(0), L'''))
IFLOW(false, 0, cons(s(X'''), L'')) -> LOW(0, L'')
LOW(0, cons(s(X'), L)) -> IFLOW(false, 0, cons(s(X'), L))
IFLOW(true, 0, cons(0, cons(s(X'''), L'''))) -> LOW(0, cons(s(X'''), L'''))
IFLOW(true, N''', cons(0, cons(0, L'''))) -> LOW(N''', cons(0, L'''))
LOW(N', cons(0, L)) -> IFLOW(true, N', cons(0, L))
IFLOW(false, s(s(Y'''')), cons(s(s(X'''')), L'')) -> LOW(s(s(Y'''')), L'')
le(0, Y) -> true
le(s(X), 0) -> false
le(s(X), s(Y)) -> le(X, Y)
app(nil, Y) -> Y
app(cons(N, L), Y) -> cons(N, app(L, Y))
low(N, nil) -> nil
low(N, cons(M, L)) -> iflow(le(M, N), N, cons(M, L))
iflow(true, N, cons(M, L)) -> cons(M, low(N, L))
iflow(false, N, cons(M, L)) -> low(N, L)
high(N, nil) -> nil
high(N, cons(M, L)) -> ifhigh(le(M, N), N, cons(M, L))
ifhigh(true, N, cons(M, L)) -> high(N, L)
ifhigh(false, N, cons(M, L)) -> cons(M, high(N, L))
quicksort(nil) -> nil
quicksort(cons(N, L)) -> app(quicksort(low(N, L)), cons(N, quicksort(high(N, L))))
innermost
five new Dependency Pairs are created:
LOW(N', cons(0, L)) -> IFLOW(true, N', cons(0, L))
LOW(N'', cons(0, cons(0, L'''''))) -> IFLOW(true, N'', cons(0, cons(0, L''''')))
LOW(0, cons(0, cons(s(X'''''), L'''''))) -> IFLOW(true, 0, cons(0, cons(s(X'''''), L''''')))
LOW(s(Y''''''), cons(0, cons(s(0), L'''''))) -> IFLOW(true, s(Y''''''), cons(0, cons(s(0), L''''')))
LOW(s(0), cons(0, cons(s(s(X'''''')), L'''''))) -> IFLOW(true, s(0), cons(0, cons(s(s(X'''''')), L''''')))
LOW(s(s(Y'''''')), cons(0, cons(s(s(X'''''')), L'''''))) -> IFLOW(true, s(s(Y'''''')), cons(0, cons(s(s(X'''''')), L''''')))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Nar
→DP Problem 12
↳Nar
...
→DP Problem 17
↳Forward Instantiation Transformation
→DP Problem 4
↳Nar
→DP Problem 5
↳Nar
IFLOW(false, s(s(Y'''')), cons(s(s(X'''')), L'')) -> LOW(s(s(Y'''')), L'')
LOW(s(s(Y'''''')), cons(0, cons(s(s(X'''''')), L'''''))) -> IFLOW(true, s(s(Y'''''')), cons(0, cons(s(s(X'''''')), L''''')))
IFLOW(true, s(0), cons(0, cons(s(s(X'''')), L'''))) -> LOW(s(0), cons(s(s(X'''')), L'''))
LOW(s(0), cons(0, cons(s(s(X'''''')), L'''''))) -> IFLOW(true, s(0), cons(0, cons(s(s(X'''''')), L''''')))
IFLOW(true, s(Y''''), cons(0, cons(s(0), L'''))) -> LOW(s(Y''''), cons(s(0), L'''))
LOW(s(Y''''''), cons(0, cons(s(0), L'''''))) -> IFLOW(true, s(Y''''''), cons(0, cons(s(0), L''''')))
IFLOW(false, 0, cons(s(X'''), L'')) -> LOW(0, L'')
LOW(0, cons(s(X'), L)) -> IFLOW(false, 0, cons(s(X'), L))
IFLOW(true, 0, cons(0, cons(s(X'''), L'''))) -> LOW(0, cons(s(X'''), L'''))
LOW(0, cons(0, cons(s(X'''''), L'''''))) -> IFLOW(true, 0, cons(0, cons(s(X'''''), L''''')))
IFLOW(true, N''', cons(0, cons(0, L'''))) -> LOW(N''', cons(0, L'''))
LOW(N'', cons(0, cons(0, L'''''))) -> IFLOW(true, N'', cons(0, cons(0, L''''')))
IFLOW(false, s(0), cons(s(s(X'''')), L'')) -> LOW(s(0), L'')
LOW(s(0), cons(s(s(X'')), L)) -> IFLOW(false, s(0), cons(s(s(X'')), L))
IFLOW(true, s(Y''''), cons(s(0), L'')) -> LOW(s(Y''''), L'')
LOW(s(Y''), cons(s(0), L)) -> IFLOW(true, s(Y''), cons(s(0), L))
IFLOW(true, s(s(Y'''')), cons(s(s(X'''')), L'')) -> LOW(s(s(Y'''')), L'')
LOW(s(s(Y'')), cons(s(s(X'')), L)) -> IFLOW(le(X'', Y''), s(s(Y'')), cons(s(s(X'')), L))
IFLOW(true, s(s(Y'''')), cons(0, cons(s(s(X'''')), L'''))) -> LOW(s(s(Y'''')), cons(s(s(X'''')), L'''))
le(0, Y) -> true
le(s(X), 0) -> false
le(s(X), s(Y)) -> le(X, Y)
app(nil, Y) -> Y
app(cons(N, L), Y) -> cons(N, app(L, Y))
low(N, nil) -> nil
low(N, cons(M, L)) -> iflow(le(M, N), N, cons(M, L))
iflow(true, N, cons(M, L)) -> cons(M, low(N, L))
iflow(false, N, cons(M, L)) -> low(N, L)
high(N, nil) -> nil
high(N, cons(M, L)) -> ifhigh(le(M, N), N, cons(M, L))
ifhigh(true, N, cons(M, L)) -> high(N, L)
ifhigh(false, N, cons(M, L)) -> cons(M, high(N, L))
quicksort(nil) -> nil
quicksort(cons(N, L)) -> app(quicksort(low(N, L)), cons(N, quicksort(high(N, L))))
innermost
seven new Dependency Pairs are created:
IFLOW(true, s(Y''''), cons(s(0), L'')) -> LOW(s(Y''''), L'')
IFLOW(true, s(Y'''''), cons(s(0), cons(s(0), L'''))) -> LOW(s(Y'''''), cons(s(0), L'''))
IFLOW(true, s(0), cons(s(0), cons(s(s(X'''')), L'''))) -> LOW(s(0), cons(s(s(X'''')), L'''))
IFLOW(true, s(s(Y''''')), cons(s(0), cons(s(s(X'''')), L'''))) -> LOW(s(s(Y''''')), cons(s(s(X'''')), L'''))
IFLOW(true, s(Y'''''), cons(s(0), cons(0, cons(0, L''''''')))) -> LOW(s(Y'''''), cons(0, cons(0, L''''''')))
IFLOW(true, s(Y'''''), cons(s(0), cons(0, cons(s(0), L''''''')))) -> LOW(s(Y'''''), cons(0, cons(s(0), L''''''')))
IFLOW(true, s(0), cons(s(0), cons(0, cons(s(s(X'''''''')), L''''''')))) -> LOW(s(0), cons(0, cons(s(s(X'''''''')), L''''''')))
IFLOW(true, s(s(Y'''''''')), cons(s(0), cons(0, cons(s(s(X'''''''')), L''''''')))) -> LOW(s(s(Y'''''''')), cons(0, cons(s(s(X'''''''')), L''''''')))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Nar
→DP Problem 12
↳Nar
...
→DP Problem 18
↳Forward Instantiation Transformation
→DP Problem 4
↳Nar
→DP Problem 5
↳Nar
IFLOW(true, s(s(Y'''''''')), cons(s(0), cons(0, cons(s(s(X'''''''')), L''''''')))) -> LOW(s(s(Y'''''''')), cons(0, cons(s(s(X'''''''')), L''''''')))
IFLOW(true, s(0), cons(s(0), cons(0, cons(s(s(X'''''''')), L''''''')))) -> LOW(s(0), cons(0, cons(s(s(X'''''''')), L''''''')))
IFLOW(true, s(Y'''''), cons(s(0), cons(0, cons(s(0), L''''''')))) -> LOW(s(Y'''''), cons(0, cons(s(0), L''''''')))
IFLOW(true, s(Y'''''), cons(s(0), cons(0, cons(0, L''''''')))) -> LOW(s(Y'''''), cons(0, cons(0, L''''''')))
IFLOW(true, s(s(Y''''')), cons(s(0), cons(s(s(X'''')), L'''))) -> LOW(s(s(Y''''')), cons(s(s(X'''')), L'''))
IFLOW(true, s(s(Y'''')), cons(s(s(X'''')), L'')) -> LOW(s(s(Y'''')), L'')
LOW(s(s(Y'')), cons(s(s(X'')), L)) -> IFLOW(le(X'', Y''), s(s(Y'')), cons(s(s(X'')), L))
IFLOW(true, s(s(Y'''')), cons(0, cons(s(s(X'''')), L'''))) -> LOW(s(s(Y'''')), cons(s(s(X'''')), L'''))
LOW(s(s(Y'''''')), cons(0, cons(s(s(X'''''')), L'''''))) -> IFLOW(true, s(s(Y'''''')), cons(0, cons(s(s(X'''''')), L''''')))
IFLOW(true, s(0), cons(0, cons(s(s(X'''')), L'''))) -> LOW(s(0), cons(s(s(X'''')), L'''))
LOW(s(0), cons(0, cons(s(s(X'''''')), L'''''))) -> IFLOW(true, s(0), cons(0, cons(s(s(X'''''')), L''''')))
IFLOW(true, s(Y''''), cons(0, cons(s(0), L'''))) -> LOW(s(Y''''), cons(s(0), L'''))
LOW(s(Y''''''), cons(0, cons(s(0), L'''''))) -> IFLOW(true, s(Y''''''), cons(0, cons(s(0), L''''')))
IFLOW(false, 0, cons(s(X'''), L'')) -> LOW(0, L'')
LOW(0, cons(s(X'), L)) -> IFLOW(false, 0, cons(s(X'), L))
IFLOW(true, 0, cons(0, cons(s(X'''), L'''))) -> LOW(0, cons(s(X'''), L'''))
LOW(0, cons(0, cons(s(X'''''), L'''''))) -> IFLOW(true, 0, cons(0, cons(s(X'''''), L''''')))
IFLOW(true, N''', cons(0, cons(0, L'''))) -> LOW(N''', cons(0, L'''))
LOW(N'', cons(0, cons(0, L'''''))) -> IFLOW(true, N'', cons(0, cons(0, L''''')))
IFLOW(false, s(0), cons(s(s(X'''')), L'')) -> LOW(s(0), L'')
LOW(s(0), cons(s(s(X'')), L)) -> IFLOW(false, s(0), cons(s(s(X'')), L))
IFLOW(true, s(0), cons(s(0), cons(s(s(X'''')), L'''))) -> LOW(s(0), cons(s(s(X'''')), L'''))
IFLOW(true, s(Y'''''), cons(s(0), cons(s(0), L'''))) -> LOW(s(Y'''''), cons(s(0), L'''))
LOW(s(Y''), cons(s(0), L)) -> IFLOW(true, s(Y''), cons(s(0), L))
IFLOW(false, s(s(Y'''')), cons(s(s(X'''')), L'')) -> LOW(s(s(Y'''')), L'')
le(0, Y) -> true
le(s(X), 0) -> false
le(s(X), s(Y)) -> le(X, Y)
app(nil, Y) -> Y
app(cons(N, L), Y) -> cons(N, app(L, Y))
low(N, nil) -> nil
low(N, cons(M, L)) -> iflow(le(M, N), N, cons(M, L))
iflow(true, N, cons(M, L)) -> cons(M, low(N, L))
iflow(false, N, cons(M, L)) -> low(N, L)
high(N, nil) -> nil
high(N, cons(M, L)) -> ifhigh(le(M, N), N, cons(M, L))
ifhigh(true, N, cons(M, L)) -> high(N, L)
ifhigh(false, N, cons(M, L)) -> cons(M, high(N, L))
quicksort(nil) -> nil
quicksort(cons(N, L)) -> app(quicksort(low(N, L)), cons(N, quicksort(high(N, L))))
innermost
five new Dependency Pairs are created:
IFLOW(true, s(s(Y'''')), cons(s(s(X'''')), L'')) -> LOW(s(s(Y'''')), L'')
IFLOW(true, s(s(Y''''')), cons(s(s(X'''')), cons(s(0), L'''))) -> LOW(s(s(Y''''')), cons(s(0), L'''))
IFLOW(true, s(s(Y''''')), cons(s(s(X'''')), cons(s(s(X'''')), L'''))) -> LOW(s(s(Y''''')), cons(s(s(X'''')), L'''))
IFLOW(true, s(s(Y''''')), cons(s(s(X'''')), cons(0, cons(0, L''''''')))) -> LOW(s(s(Y''''')), cons(0, cons(0, L''''''')))
IFLOW(true, s(s(Y''''')), cons(s(s(X'''')), cons(0, cons(s(0), L''''''')))) -> LOW(s(s(Y''''')), cons(0, cons(s(0), L''''''')))
IFLOW(true, s(s(Y''''')), cons(s(s(X'''')), cons(0, cons(s(s(X'''''''')), L''''''')))) -> LOW(s(s(Y''''')), cons(0, cons(s(s(X'''''''')), L''''''')))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Nar
→DP Problem 12
↳Nar
...
→DP Problem 19
↳Forward Instantiation Transformation
→DP Problem 4
↳Nar
→DP Problem 5
↳Nar
IFLOW(true, s(s(Y''''')), cons(s(s(X'''')), cons(0, cons(s(s(X'''''''')), L''''''')))) -> LOW(s(s(Y''''')), cons(0, cons(s(s(X'''''''')), L''''''')))
IFLOW(true, s(s(Y''''')), cons(s(s(X'''')), cons(0, cons(s(0), L''''''')))) -> LOW(s(s(Y''''')), cons(0, cons(s(0), L''''''')))
IFLOW(true, s(s(Y''''')), cons(s(s(X'''')), cons(0, cons(0, L''''''')))) -> LOW(s(s(Y''''')), cons(0, cons(0, L''''''')))
IFLOW(true, s(s(Y''''')), cons(s(s(X'''')), cons(s(s(X'''')), L'''))) -> LOW(s(s(Y''''')), cons(s(s(X'''')), L'''))
IFLOW(true, s(s(Y''''')), cons(s(s(X'''')), cons(s(0), L'''))) -> LOW(s(s(Y''''')), cons(s(0), L'''))
IFLOW(true, s(0), cons(s(0), cons(0, cons(s(s(X'''''''')), L''''''')))) -> LOW(s(0), cons(0, cons(s(s(X'''''''')), L''''''')))
IFLOW(true, s(Y'''''), cons(s(0), cons(0, cons(s(0), L''''''')))) -> LOW(s(Y'''''), cons(0, cons(s(0), L''''''')))
IFLOW(true, s(Y'''''), cons(s(0), cons(0, cons(0, L''''''')))) -> LOW(s(Y'''''), cons(0, cons(0, L''''''')))
IFLOW(true, s(s(Y''''')), cons(s(0), cons(s(s(X'''')), L'''))) -> LOW(s(s(Y''''')), cons(s(s(X'''')), L'''))
IFLOW(true, s(0), cons(0, cons(s(s(X'''')), L'''))) -> LOW(s(0), cons(s(s(X'''')), L'''))
LOW(s(0), cons(0, cons(s(s(X'''''')), L'''''))) -> IFLOW(true, s(0), cons(0, cons(s(s(X'''''')), L''''')))
IFLOW(true, s(Y''''), cons(0, cons(s(0), L'''))) -> LOW(s(Y''''), cons(s(0), L'''))
LOW(s(Y''''''), cons(0, cons(s(0), L'''''))) -> IFLOW(true, s(Y''''''), cons(0, cons(s(0), L''''')))
IFLOW(false, 0, cons(s(X'''), L'')) -> LOW(0, L'')
LOW(0, cons(s(X'), L)) -> IFLOW(false, 0, cons(s(X'), L))
IFLOW(true, 0, cons(0, cons(s(X'''), L'''))) -> LOW(0, cons(s(X'''), L'''))
LOW(0, cons(0, cons(s(X'''''), L'''''))) -> IFLOW(true, 0, cons(0, cons(s(X'''''), L''''')))
IFLOW(true, N''', cons(0, cons(0, L'''))) -> LOW(N''', cons(0, L'''))
LOW(N'', cons(0, cons(0, L'''''))) -> IFLOW(true, N'', cons(0, cons(0, L''''')))
IFLOW(false, s(0), cons(s(s(X'''')), L'')) -> LOW(s(0), L'')
LOW(s(0), cons(s(s(X'')), L)) -> IFLOW(false, s(0), cons(s(s(X'')), L))
IFLOW(true, s(0), cons(s(0), cons(s(s(X'''')), L'''))) -> LOW(s(0), cons(s(s(X'''')), L'''))
IFLOW(true, s(Y'''''), cons(s(0), cons(s(0), L'''))) -> LOW(s(Y'''''), cons(s(0), L'''))
LOW(s(Y''), cons(s(0), L)) -> IFLOW(true, s(Y''), cons(s(0), L))
IFLOW(false, s(s(Y'''')), cons(s(s(X'''')), L'')) -> LOW(s(s(Y'''')), L'')
LOW(s(s(Y'')), cons(s(s(X'')), L)) -> IFLOW(le(X'', Y''), s(s(Y'')), cons(s(s(X'')), L))
IFLOW(true, s(s(Y'''')), cons(0, cons(s(s(X'''')), L'''))) -> LOW(s(s(Y'''')), cons(s(s(X'''')), L'''))
LOW(s(s(Y'''''')), cons(0, cons(s(s(X'''''')), L'''''))) -> IFLOW(true, s(s(Y'''''')), cons(0, cons(s(s(X'''''')), L''''')))
IFLOW(true, s(s(Y'''''''')), cons(s(0), cons(0, cons(s(s(X'''''''')), L''''''')))) -> LOW(s(s(Y'''''''')), cons(0, cons(s(s(X'''''''')), L''''''')))
le(0, Y) -> true
le(s(X), 0) -> false
le(s(X), s(Y)) -> le(X, Y)
app(nil, Y) -> Y
app(cons(N, L), Y) -> cons(N, app(L, Y))
low(N, nil) -> nil
low(N, cons(M, L)) -> iflow(le(M, N), N, cons(M, L))
iflow(true, N, cons(M, L)) -> cons(M, low(N, L))
iflow(false, N, cons(M, L)) -> low(N, L)
high(N, nil) -> nil
high(N, cons(M, L)) -> ifhigh(le(M, N), N, cons(M, L))
ifhigh(true, N, cons(M, L)) -> high(N, L)
ifhigh(false, N, cons(M, L)) -> cons(M, high(N, L))
quicksort(nil) -> nil
quicksort(cons(N, L)) -> app(quicksort(low(N, L)), cons(N, quicksort(high(N, L))))
innermost
three new Dependency Pairs are created:
IFLOW(false, 0, cons(s(X'''), L'')) -> LOW(0, L'')
IFLOW(false, 0, cons(s(X'''), cons(s(X'''), L'''))) -> LOW(0, cons(s(X'''), L'''))
IFLOW(false, 0, cons(s(X'''), cons(0, cons(0, L''''''')))) -> LOW(0, cons(0, cons(0, L''''''')))
IFLOW(false, 0, cons(s(X'''), cons(0, cons(s(X'''''''), L''''''')))) -> LOW(0, cons(0, cons(s(X'''''''), L''''''')))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Nar
→DP Problem 12
↳Nar
...
→DP Problem 20
↳Forward Instantiation Transformation
→DP Problem 4
↳Nar
→DP Problem 5
↳Nar
IFLOW(true, s(s(Y''''')), cons(s(s(X'''')), cons(0, cons(s(0), L''''''')))) -> LOW(s(s(Y''''')), cons(0, cons(s(0), L''''''')))
IFLOW(true, s(s(Y''''')), cons(s(s(X'''')), cons(0, cons(0, L''''''')))) -> LOW(s(s(Y''''')), cons(0, cons(0, L''''''')))
IFLOW(true, s(s(Y''''')), cons(s(s(X'''')), cons(s(s(X'''')), L'''))) -> LOW(s(s(Y''''')), cons(s(s(X'''')), L'''))
IFLOW(true, s(s(Y''''')), cons(s(s(X'''')), cons(s(0), L'''))) -> LOW(s(s(Y''''')), cons(s(0), L'''))
IFLOW(true, s(s(Y'''''''')), cons(s(0), cons(0, cons(s(s(X'''''''')), L''''''')))) -> LOW(s(s(Y'''''''')), cons(0, cons(s(s(X'''''''')), L''''''')))
IFLOW(true, s(0), cons(s(0), cons(0, cons(s(s(X'''''''')), L''''''')))) -> LOW(s(0), cons(0, cons(s(s(X'''''''')), L''''''')))
IFLOW(true, s(Y'''''), cons(s(0), cons(0, cons(s(0), L''''''')))) -> LOW(s(Y'''''), cons(0, cons(s(0), L''''''')))
IFLOW(true, s(Y'''''), cons(s(0), cons(0, cons(0, L''''''')))) -> LOW(s(Y'''''), cons(0, cons(0, L''''''')))
IFLOW(true, s(s(Y''''')), cons(s(0), cons(s(s(X'''')), L'''))) -> LOW(s(s(Y''''')), cons(s(s(X'''')), L'''))
IFLOW(true, s(0), cons(0, cons(s(s(X'''')), L'''))) -> LOW(s(0), cons(s(s(X'''')), L'''))
LOW(s(0), cons(0, cons(s(s(X'''''')), L'''''))) -> IFLOW(true, s(0), cons(0, cons(s(s(X'''''')), L''''')))
IFLOW(true, s(Y''''), cons(0, cons(s(0), L'''))) -> LOW(s(Y''''), cons(s(0), L'''))
LOW(s(Y''''''), cons(0, cons(s(0), L'''''))) -> IFLOW(true, s(Y''''''), cons(0, cons(s(0), L''''')))
IFLOW(false, 0, cons(s(X'''), cons(0, cons(s(X'''''''), L''''''')))) -> LOW(0, cons(0, cons(s(X'''''''), L''''''')))
IFLOW(false, 0, cons(s(X'''), cons(0, cons(0, L''''''')))) -> LOW(0, cons(0, cons(0, L''''''')))
IFLOW(false, 0, cons(s(X'''), cons(s(X'''), L'''))) -> LOW(0, cons(s(X'''), L'''))
LOW(0, cons(s(X'), L)) -> IFLOW(false, 0, cons(s(X'), L))
IFLOW(true, 0, cons(0, cons(s(X'''), L'''))) -> LOW(0, cons(s(X'''), L'''))
LOW(0, cons(0, cons(s(X'''''), L'''''))) -> IFLOW(true, 0, cons(0, cons(s(X'''''), L''''')))
IFLOW(true, N''', cons(0, cons(0, L'''))) -> LOW(N''', cons(0, L'''))
LOW(N'', cons(0, cons(0, L'''''))) -> IFLOW(true, N'', cons(0, cons(0, L''''')))
IFLOW(false, s(0), cons(s(s(X'''')), L'')) -> LOW(s(0), L'')
LOW(s(0), cons(s(s(X'')), L)) -> IFLOW(false, s(0), cons(s(s(X'')), L))
IFLOW(true, s(0), cons(s(0), cons(s(s(X'''')), L'''))) -> LOW(s(0), cons(s(s(X'''')), L'''))
IFLOW(true, s(Y'''''), cons(s(0), cons(s(0), L'''))) -> LOW(s(Y'''''), cons(s(0), L'''))
LOW(s(Y''), cons(s(0), L)) -> IFLOW(true, s(Y''), cons(s(0), L))
IFLOW(false, s(s(Y'''')), cons(s(s(X'''')), L'')) -> LOW(s(s(Y'''')), L'')
LOW(s(s(Y'')), cons(s(s(X'')), L)) -> IFLOW(le(X'', Y''), s(s(Y'')), cons(s(s(X'')), L))
IFLOW(true, s(s(Y'''')), cons(0, cons(s(s(X'''')), L'''))) -> LOW(s(s(Y'''')), cons(s(s(X'''')), L'''))
LOW(s(s(Y'''''')), cons(0, cons(s(s(X'''''')), L'''''))) -> IFLOW(true, s(s(Y'''''')), cons(0, cons(s(s(X'''''')), L''''')))
IFLOW(true, s(s(Y''''')), cons(s(s(X'''')), cons(0, cons(s(s(X'''''''')), L''''''')))) -> LOW(s(s(Y''''')), cons(0, cons(s(s(X'''''''')), L''''''')))
le(0, Y) -> true
le(s(X), 0) -> false
le(s(X), s(Y)) -> le(X, Y)
app(nil, Y) -> Y
app(cons(N, L), Y) -> cons(N, app(L, Y))
low(N, nil) -> nil
low(N, cons(M, L)) -> iflow(le(M, N), N, cons(M, L))
iflow(true, N, cons(M, L)) -> cons(M, low(N, L))
iflow(false, N, cons(M, L)) -> low(N, L)
high(N, nil) -> nil
high(N, cons(M, L)) -> ifhigh(le(M, N), N, cons(M, L))
ifhigh(true, N, cons(M, L)) -> high(N, L)
ifhigh(false, N, cons(M, L)) -> cons(M, high(N, L))
quicksort(nil) -> nil
quicksort(cons(N, L)) -> app(quicksort(low(N, L)), cons(N, quicksort(high(N, L))))
innermost
three new Dependency Pairs are created:
LOW(0, cons(s(X'), L)) -> IFLOW(false, 0, cons(s(X'), L))
LOW(0, cons(s(X''), cons(s(X''''''), L'''''))) -> IFLOW(false, 0, cons(s(X''), cons(s(X''''''), L''''')))
LOW(0, cons(s(X''), cons(0, cons(0, L''''''''')))) -> IFLOW(false, 0, cons(s(X''), cons(0, cons(0, L'''''''''))))
LOW(0, cons(s(X''), cons(0, cons(s(X'''''''''), L''''''''')))) -> IFLOW(false, 0, cons(s(X''), cons(0, cons(s(X'''''''''), L'''''''''))))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Nar
→DP Problem 12
↳Nar
...
→DP Problem 21
↳Forward Instantiation Transformation
→DP Problem 4
↳Nar
→DP Problem 5
↳Nar
IFLOW(true, s(s(Y'''''''')), cons(s(0), cons(0, cons(s(s(X'''''''')), L''''''')))) -> LOW(s(s(Y'''''''')), cons(0, cons(s(s(X'''''''')), L''''''')))
IFLOW(true, s(0), cons(s(0), cons(0, cons(s(s(X'''''''')), L''''''')))) -> LOW(s(0), cons(0, cons(s(s(X'''''''')), L''''''')))
IFLOW(true, s(Y'''''), cons(s(0), cons(0, cons(s(0), L''''''')))) -> LOW(s(Y'''''), cons(0, cons(s(0), L''''''')))
IFLOW(true, s(Y'''''), cons(s(0), cons(0, cons(0, L''''''')))) -> LOW(s(Y'''''), cons(0, cons(0, L''''''')))
IFLOW(true, s(s(Y''''')), cons(s(0), cons(s(s(X'''')), L'''))) -> LOW(s(s(Y''''')), cons(s(s(X'''')), L'''))
IFLOW(true, s(s(Y''''')), cons(s(s(X'''')), cons(0, cons(s(s(X'''''''')), L''''''')))) -> LOW(s(s(Y''''')), cons(0, cons(s(s(X'''''''')), L''''''')))
IFLOW(true, s(s(Y''''')), cons(s(s(X'''')), cons(0, cons(0, L''''''')))) -> LOW(s(s(Y''''')), cons(0, cons(0, L''''''')))
IFLOW(true, s(s(Y''''')), cons(s(s(X'''')), cons(s(s(X'''')), L'''))) -> LOW(s(s(Y''''')), cons(s(s(X'''')), L'''))
IFLOW(true, s(s(Y''''')), cons(s(s(X'''')), cons(s(0), L'''))) -> LOW(s(s(Y''''')), cons(s(0), L'''))
IFLOW(false, s(s(Y'''')), cons(s(s(X'''')), L'')) -> LOW(s(s(Y'''')), L'')
LOW(s(s(Y'')), cons(s(s(X'')), L)) -> IFLOW(le(X'', Y''), s(s(Y'')), cons(s(s(X'')), L))
IFLOW(true, s(s(Y'''')), cons(0, cons(s(s(X'''')), L'''))) -> LOW(s(s(Y'''')), cons(s(s(X'''')), L'''))
LOW(s(s(Y'''''')), cons(0, cons(s(s(X'''''')), L'''''))) -> IFLOW(true, s(s(Y'''''')), cons(0, cons(s(s(X'''''')), L''''')))
IFLOW(true, s(0), cons(0, cons(s(s(X'''')), L'''))) -> LOW(s(0), cons(s(s(X'''')), L'''))
LOW(s(0), cons(0, cons(s(s(X'''''')), L'''''))) -> IFLOW(true, s(0), cons(0, cons(s(s(X'''''')), L''''')))
IFLOW(false, 0, cons(s(X'''), cons(0, cons(s(X'''''''), L''''''')))) -> LOW(0, cons(0, cons(s(X'''''''), L''''''')))
LOW(0, cons(s(X''), cons(0, cons(s(X'''''''''), L''''''''')))) -> IFLOW(false, 0, cons(s(X''), cons(0, cons(s(X'''''''''), L'''''''''))))
IFLOW(false, 0, cons(s(X'''), cons(0, cons(0, L''''''')))) -> LOW(0, cons(0, cons(0, L''''''')))
LOW(0, cons(s(X''), cons(0, cons(0, L''''''''')))) -> IFLOW(false, 0, cons(s(X''), cons(0, cons(0, L'''''''''))))
IFLOW(false, 0, cons(s(X'''), cons(s(X'''), L'''))) -> LOW(0, cons(s(X'''), L'''))
LOW(0, cons(s(X''), cons(s(X''''''), L'''''))) -> IFLOW(false, 0, cons(s(X''), cons(s(X''''''), L''''')))
IFLOW(true, 0, cons(0, cons(s(X'''), L'''))) -> LOW(0, cons(s(X'''), L'''))
LOW(0, cons(0, cons(s(X'''''), L'''''))) -> IFLOW(true, 0, cons(0, cons(s(X'''''), L''''')))
IFLOW(true, N''', cons(0, cons(0, L'''))) -> LOW(N''', cons(0, L'''))
LOW(N'', cons(0, cons(0, L'''''))) -> IFLOW(true, N'', cons(0, cons(0, L''''')))
IFLOW(false, s(0), cons(s(s(X'''')), L'')) -> LOW(s(0), L'')
LOW(s(0), cons(s(s(X'')), L)) -> IFLOW(false, s(0), cons(s(s(X'')), L))
IFLOW(true, s(0), cons(s(0), cons(s(s(X'''')), L'''))) -> LOW(s(0), cons(s(s(X'''')), L'''))
IFLOW(true, s(Y'''''), cons(s(0), cons(s(0), L'''))) -> LOW(s(Y'''''), cons(s(0), L'''))
LOW(s(Y''), cons(s(0), L)) -> IFLOW(true, s(Y''), cons(s(0), L))
IFLOW(true, s(Y''''), cons(0, cons(s(0), L'''))) -> LOW(s(Y''''), cons(s(0), L'''))
LOW(s(Y''''''), cons(0, cons(s(0), L'''''))) -> IFLOW(true, s(Y''''''), cons(0, cons(s(0), L''''')))
IFLOW(true, s(s(Y''''')), cons(s(s(X'''')), cons(0, cons(s(0), L''''''')))) -> LOW(s(s(Y''''')), cons(0, cons(s(0), L''''''')))
le(0, Y) -> true
le(s(X), 0) -> false
le(s(X), s(Y)) -> le(X, Y)
app(nil, Y) -> Y
app(cons(N, L), Y) -> cons(N, app(L, Y))
low(N, nil) -> nil
low(N, cons(M, L)) -> iflow(le(M, N), N, cons(M, L))
iflow(true, N, cons(M, L)) -> cons(M, low(N, L))
iflow(false, N, cons(M, L)) -> low(N, L)
high(N, nil) -> nil
high(N, cons(M, L)) -> ifhigh(le(M, N), N, cons(M, L))
ifhigh(true, N, cons(M, L)) -> high(N, L)
ifhigh(false, N, cons(M, L)) -> cons(M, high(N, L))
quicksort(nil) -> nil
quicksort(cons(N, L)) -> app(quicksort(low(N, L)), cons(N, quicksort(high(N, L))))
innermost
five new Dependency Pairs are created:
IFLOW(false, s(0), cons(s(s(X'''')), L'')) -> LOW(s(0), L'')
IFLOW(false, s(0), cons(s(s(X'''')), cons(s(0), L'''))) -> LOW(s(0), cons(s(0), L'''))
IFLOW(false, s(0), cons(s(s(X'''')), cons(s(s(X'''')), L'''))) -> LOW(s(0), cons(s(s(X'''')), L'''))
IFLOW(false, s(0), cons(s(s(X'''')), cons(0, cons(0, L''''''')))) -> LOW(s(0), cons(0, cons(0, L''''''')))
IFLOW(false, s(0), cons(s(s(X'''')), cons(0, cons(s(0), L''''''')))) -> LOW(s(0), cons(0, cons(s(0), L''''''')))
IFLOW(false, s(0), cons(s(s(X'''')), cons(0, cons(s(s(X'''''''')), L''''''')))) -> LOW(s(0), cons(0, cons(s(s(X'''''''')), L''''''')))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Nar
→DP Problem 12
↳Nar
...
→DP Problem 22
↳Forward Instantiation Transformation
→DP Problem 4
↳Nar
→DP Problem 5
↳Nar
IFLOW(true, s(s(Y''''')), cons(s(s(X'''')), cons(0, cons(s(s(X'''''''')), L''''''')))) -> LOW(s(s(Y''''')), cons(0, cons(s(s(X'''''''')), L''''''')))
IFLOW(true, s(s(Y''''')), cons(s(s(X'''')), cons(0, cons(s(0), L''''''')))) -> LOW(s(s(Y''''')), cons(0, cons(s(0), L''''''')))
IFLOW(true, s(s(Y''''')), cons(s(s(X'''')), cons(0, cons(0, L''''''')))) -> LOW(s(s(Y''''')), cons(0, cons(0, L''''''')))
IFLOW(true, s(s(Y''''')), cons(s(s(X'''')), cons(s(s(X'''')), L'''))) -> LOW(s(s(Y''''')), cons(s(s(X'''')), L'''))
IFLOW(true, s(s(Y''''')), cons(s(s(X'''')), cons(s(0), L'''))) -> LOW(s(s(Y''''')), cons(s(0), L'''))
IFLOW(true, s(0), cons(s(0), cons(0, cons(s(s(X'''''''')), L''''''')))) -> LOW(s(0), cons(0, cons(s(s(X'''''''')), L''''''')))
IFLOW(true, s(Y'''''), cons(s(0), cons(0, cons(s(0), L''''''')))) -> LOW(s(Y'''''), cons(0, cons(s(0), L''''''')))
IFLOW(true, s(Y'''''), cons(s(0), cons(0, cons(0, L''''''')))) -> LOW(s(Y'''''), cons(0, cons(0, L''''''')))
IFLOW(true, s(s(Y''''')), cons(s(0), cons(s(s(X'''')), L'''))) -> LOW(s(s(Y''''')), cons(s(s(X'''')), L'''))
IFLOW(false, s(0), cons(s(s(X'''')), cons(0, cons(s(s(X'''''''')), L''''''')))) -> LOW(s(0), cons(0, cons(s(s(X'''''''')), L''''''')))
IFLOW(false, s(0), cons(s(s(X'''')), cons(0, cons(s(0), L''''''')))) -> LOW(s(0), cons(0, cons(s(0), L''''''')))
IFLOW(true, s(0), cons(0, cons(s(s(X'''')), L'''))) -> LOW(s(0), cons(s(s(X'''')), L'''))
LOW(s(0), cons(0, cons(s(s(X'''''')), L'''''))) -> IFLOW(true, s(0), cons(0, cons(s(s(X'''''')), L''''')))
IFLOW(true, s(Y''''), cons(0, cons(s(0), L'''))) -> LOW(s(Y''''), cons(s(0), L'''))
LOW(s(Y''''''), cons(0, cons(s(0), L'''''))) -> IFLOW(true, s(Y''''''), cons(0, cons(s(0), L''''')))
IFLOW(false, 0, cons(s(X'''), cons(0, cons(s(X'''''''), L''''''')))) -> LOW(0, cons(0, cons(s(X'''''''), L''''''')))
LOW(0, cons(s(X''), cons(0, cons(s(X'''''''''), L''''''''')))) -> IFLOW(false, 0, cons(s(X''), cons(0, cons(s(X'''''''''), L'''''''''))))
IFLOW(false, 0, cons(s(X'''), cons(0, cons(0, L''''''')))) -> LOW(0, cons(0, cons(0, L''''''')))
LOW(0, cons(s(X''), cons(0, cons(0, L''''''''')))) -> IFLOW(false, 0, cons(s(X''), cons(0, cons(0, L'''''''''))))
IFLOW(false, 0, cons(s(X'''), cons(s(X'''), L'''))) -> LOW(0, cons(s(X'''), L'''))
LOW(0, cons(s(X''), cons(s(X''''''), L'''''))) -> IFLOW(false, 0, cons(s(X''), cons(s(X''''''), L''''')))
IFLOW(true, 0, cons(0, cons(s(X'''), L'''))) -> LOW(0, cons(s(X'''), L'''))
LOW(0, cons(0, cons(s(X'''''), L'''''))) -> IFLOW(true, 0, cons(0, cons(s(X'''''), L''''')))
IFLOW(true, N''', cons(0, cons(0, L'''))) -> LOW(N''', cons(0, L'''))
LOW(N'', cons(0, cons(0, L'''''))) -> IFLOW(true, N'', cons(0, cons(0, L''''')))
IFLOW(false, s(0), cons(s(s(X'''')), cons(0, cons(0, L''''''')))) -> LOW(s(0), cons(0, cons(0, L''''''')))
IFLOW(false, s(0), cons(s(s(X'''')), cons(s(s(X'''')), L'''))) -> LOW(s(0), cons(s(s(X'''')), L'''))
IFLOW(false, s(0), cons(s(s(X'''')), cons(s(0), L'''))) -> LOW(s(0), cons(s(0), L'''))
LOW(s(0), cons(s(s(X'')), L)) -> IFLOW(false, s(0), cons(s(s(X'')), L))
IFLOW(true, s(0), cons(s(0), cons(s(s(X'''')), L'''))) -> LOW(s(0), cons(s(s(X'''')), L'''))
IFLOW(true, s(Y'''''), cons(s(0), cons(s(0), L'''))) -> LOW(s(Y'''''), cons(s(0), L'''))
LOW(s(Y''), cons(s(0), L)) -> IFLOW(true, s(Y''), cons(s(0), L))
IFLOW(false, s(s(Y'''')), cons(s(s(X'''')), L'')) -> LOW(s(s(Y'''')), L'')
LOW(s(s(Y'')), cons(s(s(X'')), L)) -> IFLOW(le(X'', Y''), s(s(Y'')), cons(s(s(X'')), L))
IFLOW(true, s(s(Y'''')), cons(0, cons(s(s(X'''')), L'''))) -> LOW(s(s(Y'''')), cons(s(s(X'''')), L'''))
LOW(s(s(Y'''''')), cons(0, cons(s(s(X'''''')), L'''''))) -> IFLOW(true, s(s(Y'''''')), cons(0, cons(s(s(X'''''')), L''''')))
IFLOW(true, s(s(Y'''''''')), cons(s(0), cons(0, cons(s(s(X'''''''')), L''''''')))) -> LOW(s(s(Y'''''''')), cons(0, cons(s(s(X'''''''')), L''''''')))
le(0, Y) -> true
le(s(X), 0) -> false
le(s(X), s(Y)) -> le(X, Y)
app(nil, Y) -> Y
app(cons(N, L), Y) -> cons(N, app(L, Y))
low(N, nil) -> nil
low(N, cons(M, L)) -> iflow(le(M, N), N, cons(M, L))
iflow(true, N, cons(M, L)) -> cons(M, low(N, L))
iflow(false, N, cons(M, L)) -> low(N, L)
high(N, nil) -> nil
high(N, cons(M, L)) -> ifhigh(le(M, N), N, cons(M, L))
ifhigh(true, N, cons(M, L)) -> high(N, L)
ifhigh(false, N, cons(M, L)) -> cons(M, high(N, L))
quicksort(nil) -> nil
quicksort(cons(N, L)) -> app(quicksort(low(N, L)), cons(N, quicksort(high(N, L))))
innermost
five new Dependency Pairs are created:
IFLOW(false, s(s(Y'''')), cons(s(s(X'''')), L'')) -> LOW(s(s(Y'''')), L'')
IFLOW(false, s(s(Y''''')), cons(s(s(X'''')), cons(s(0), L'''))) -> LOW(s(s(Y''''')), cons(s(0), L'''))
IFLOW(false, s(s(Y''''')), cons(s(s(X'''')), cons(s(s(X'''')), L'''))) -> LOW(s(s(Y''''')), cons(s(s(X'''')), L'''))
IFLOW(false, s(s(Y''''')), cons(s(s(X'''')), cons(0, cons(0, L''''''')))) -> LOW(s(s(Y''''')), cons(0, cons(0, L''''''')))
IFLOW(false, s(s(Y''''')), cons(s(s(X'''')), cons(0, cons(s(0), L''''''')))) -> LOW(s(s(Y''''')), cons(0, cons(s(0), L''''''')))
IFLOW(false, s(s(Y''''')), cons(s(s(X'''')), cons(0, cons(s(s(X'''''''')), L''''''')))) -> LOW(s(s(Y''''')), cons(0, cons(s(s(X'''''''')), L''''''')))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Nar
→DP Problem 12
↳Nar
...
→DP Problem 23
↳Argument Filtering and Ordering
→DP Problem 4
↳Nar
→DP Problem 5
↳Nar
IFLOW(false, s(s(Y''''')), cons(s(s(X'''')), cons(0, cons(s(s(X'''''''')), L''''''')))) -> LOW(s(s(Y''''')), cons(0, cons(s(s(X'''''''')), L''''''')))
IFLOW(false, s(s(Y''''')), cons(s(s(X'''')), cons(0, cons(s(0), L''''''')))) -> LOW(s(s(Y''''')), cons(0, cons(s(0), L''''''')))
IFLOW(false, s(s(Y''''')), cons(s(s(X'''')), cons(0, cons(0, L''''''')))) -> LOW(s(s(Y''''')), cons(0, cons(0, L''''''')))
IFLOW(false, s(s(Y''''')), cons(s(s(X'''')), cons(s(s(X'''')), L'''))) -> LOW(s(s(Y''''')), cons(s(s(X'''')), L'''))
IFLOW(false, s(s(Y''''')), cons(s(s(X'''')), cons(s(0), L'''))) -> LOW(s(s(Y''''')), cons(s(0), L'''))
IFLOW(true, s(s(Y''''')), cons(s(s(X'''')), cons(0, cons(s(0), L''''''')))) -> LOW(s(s(Y''''')), cons(0, cons(s(0), L''''''')))
IFLOW(true, s(s(Y''''')), cons(s(s(X'''')), cons(0, cons(0, L''''''')))) -> LOW(s(s(Y''''')), cons(0, cons(0, L''''''')))
IFLOW(true, s(s(Y''''')), cons(s(s(X'''')), cons(s(s(X'''')), L'''))) -> LOW(s(s(Y''''')), cons(s(s(X'''')), L'''))
IFLOW(true, s(s(Y'''''''')), cons(s(0), cons(0, cons(s(s(X'''''''')), L''''''')))) -> LOW(s(s(Y'''''''')), cons(0, cons(s(s(X'''''''')), L''''''')))
IFLOW(true, s(0), cons(s(0), cons(0, cons(s(s(X'''''''')), L''''''')))) -> LOW(s(0), cons(0, cons(s(s(X'''''''')), L''''''')))
IFLOW(true, s(Y'''''), cons(s(0), cons(0, cons(s(0), L''''''')))) -> LOW(s(Y'''''), cons(0, cons(s(0), L''''''')))
IFLOW(true, s(Y'''''), cons(s(0), cons(0, cons(0, L''''''')))) -> LOW(s(Y'''''), cons(0, cons(0, L''''''')))
IFLOW(true, s(s(Y''''')), cons(s(0), cons(s(s(X'''')), L'''))) -> LOW(s(s(Y''''')), cons(s(s(X'''')), L'''))
IFLOW(false, s(0), cons(s(s(X'''')), cons(0, cons(s(s(X'''''''')), L''''''')))) -> LOW(s(0), cons(0, cons(s(s(X'''''''')), L''''''')))
IFLOW(false, s(0), cons(s(s(X'''')), cons(0, cons(s(0), L''''''')))) -> LOW(s(0), cons(0, cons(s(0), L''''''')))
IFLOW(true, s(0), cons(0, cons(s(s(X'''')), L'''))) -> LOW(s(0), cons(s(s(X'''')), L'''))
LOW(s(0), cons(0, cons(s(s(X'''''')), L'''''))) -> IFLOW(true, s(0), cons(0, cons(s(s(X'''''')), L''''')))
IFLOW(true, s(Y''''), cons(0, cons(s(0), L'''))) -> LOW(s(Y''''), cons(s(0), L'''))
LOW(s(Y''''''), cons(0, cons(s(0), L'''''))) -> IFLOW(true, s(Y''''''), cons(0, cons(s(0), L''''')))
IFLOW(false, 0, cons(s(X'''), cons(0, cons(s(X'''''''), L''''''')))) -> LOW(0, cons(0, cons(s(X'''''''), L''''''')))
LOW(0, cons(s(X''), cons(0, cons(s(X'''''''''), L''''''''')))) -> IFLOW(false, 0, cons(s(X''), cons(0, cons(s(X'''''''''), L'''''''''))))
IFLOW(false, 0, cons(s(X'''), cons(0, cons(0, L''''''')))) -> LOW(0, cons(0, cons(0, L''''''')))
LOW(0, cons(s(X''), cons(0, cons(0, L''''''''')))) -> IFLOW(false, 0, cons(s(X''), cons(0, cons(0, L'''''''''))))
IFLOW(false, 0, cons(s(X'''), cons(s(X'''), L'''))) -> LOW(0, cons(s(X'''), L'''))
LOW(0, cons(s(X''), cons(s(X''''''), L'''''))) -> IFLOW(false, 0, cons(s(X''), cons(s(X''''''), L''''')))
IFLOW(true, 0, cons(0, cons(s(X'''), L'''))) -> LOW(0, cons(s(X'''), L'''))
LOW(0, cons(0, cons(s(X'''''), L'''''))) -> IFLOW(true, 0, cons(0, cons(s(X'''''), L''''')))
IFLOW(true, N''', cons(0, cons(0, L'''))) -> LOW(N''', cons(0, L'''))
LOW(N'', cons(0, cons(0, L'''''))) -> IFLOW(true, N'', cons(0, cons(0, L''''')))
IFLOW(false, s(0), cons(s(s(X'''')), cons(0, cons(0, L''''''')))) -> LOW(s(0), cons(0, cons(0, L''''''')))
IFLOW(false, s(0), cons(s(s(X'''')), cons(s(s(X'''')), L'''))) -> LOW(s(0), cons(s(s(X'''')), L'''))
IFLOW(false, s(0), cons(s(s(X'''')), cons(s(0), L'''))) -> LOW(s(0), cons(s(0), L'''))
LOW(s(0), cons(s(s(X'')), L)) -> IFLOW(false, s(0), cons(s(s(X'')), L))
IFLOW(true, s(0), cons(s(0), cons(s(s(X'''')), L'''))) -> LOW(s(0), cons(s(s(X'''')), L'''))
IFLOW(true, s(Y'''''), cons(s(0), cons(s(0), L'''))) -> LOW(s(Y'''''), cons(s(0), L'''))
LOW(s(Y''), cons(s(0), L)) -> IFLOW(true, s(Y''), cons(s(0), L))
IFLOW(true, s(s(Y''''')), cons(s(s(X'''')), cons(s(0), L'''))) -> LOW(s(s(Y''''')), cons(s(0), L'''))
LOW(s(s(Y'')), cons(s(s(X'')), L)) -> IFLOW(le(X'', Y''), s(s(Y'')), cons(s(s(X'')), L))
IFLOW(true, s(s(Y'''')), cons(0, cons(s(s(X'''')), L'''))) -> LOW(s(s(Y'''')), cons(s(s(X'''')), L'''))
LOW(s(s(Y'''''')), cons(0, cons(s(s(X'''''')), L'''''))) -> IFLOW(true, s(s(Y'''''')), cons(0, cons(s(s(X'''''')), L''''')))
IFLOW(true, s(s(Y''''')), cons(s(s(X'''')), cons(0, cons(s(s(X'''''''')), L''''''')))) -> LOW(s(s(Y''''')), cons(0, cons(s(s(X'''''''')), L''''''')))
le(0, Y) -> true
le(s(X), 0) -> false
le(s(X), s(Y)) -> le(X, Y)
app(nil, Y) -> Y
app(cons(N, L), Y) -> cons(N, app(L, Y))
low(N, nil) -> nil
low(N, cons(M, L)) -> iflow(le(M, N), N, cons(M, L))
iflow(true, N, cons(M, L)) -> cons(M, low(N, L))
iflow(false, N, cons(M, L)) -> low(N, L)
high(N, nil) -> nil
high(N, cons(M, L)) -> ifhigh(le(M, N), N, cons(M, L))
ifhigh(true, N, cons(M, L)) -> high(N, L)
ifhigh(false, N, cons(M, L)) -> cons(M, high(N, L))
quicksort(nil) -> nil
quicksort(cons(N, L)) -> app(quicksort(low(N, L)), cons(N, quicksort(high(N, L))))
innermost
IFLOW(false, s(s(Y''''')), cons(s(s(X'''')), cons(0, cons(s(s(X'''''''')), L''''''')))) -> LOW(s(s(Y''''')), cons(0, cons(s(s(X'''''''')), L''''''')))
IFLOW(false, s(s(Y''''')), cons(s(s(X'''')), cons(0, cons(s(0), L''''''')))) -> LOW(s(s(Y''''')), cons(0, cons(s(0), L''''''')))
IFLOW(false, s(s(Y''''')), cons(s(s(X'''')), cons(0, cons(0, L''''''')))) -> LOW(s(s(Y''''')), cons(0, cons(0, L''''''')))
IFLOW(false, s(s(Y''''')), cons(s(s(X'''')), cons(s(s(X'''')), L'''))) -> LOW(s(s(Y''''')), cons(s(s(X'''')), L'''))
IFLOW(false, s(s(Y''''')), cons(s(s(X'''')), cons(s(0), L'''))) -> LOW(s(s(Y''''')), cons(s(0), L'''))
IFLOW(true, s(s(Y''''')), cons(s(s(X'''')), cons(0, cons(s(0), L''''''')))) -> LOW(s(s(Y''''')), cons(0, cons(s(0), L''''''')))
IFLOW(true, s(s(Y''''')), cons(s(s(X'''')), cons(0, cons(0, L''''''')))) -> LOW(s(s(Y''''')), cons(0, cons(0, L''''''')))
IFLOW(true, s(s(Y''''')), cons(s(s(X'''')), cons(s(s(X'''')), L'''))) -> LOW(s(s(Y''''')), cons(s(s(X'''')), L'''))
IFLOW(true, s(s(Y'''''''')), cons(s(0), cons(0, cons(s(s(X'''''''')), L''''''')))) -> LOW(s(s(Y'''''''')), cons(0, cons(s(s(X'''''''')), L''''''')))
IFLOW(true, s(0), cons(s(0), cons(0, cons(s(s(X'''''''')), L''''''')))) -> LOW(s(0), cons(0, cons(s(s(X'''''''')), L''''''')))
IFLOW(true, s(Y'''''), cons(s(0), cons(0, cons(s(0), L''''''')))) -> LOW(s(Y'''''), cons(0, cons(s(0), L''''''')))
IFLOW(true, s(Y'''''), cons(s(0), cons(0, cons(0, L''''''')))) -> LOW(s(Y'''''), cons(0, cons(0, L''''''')))
IFLOW(true, s(s(Y''''')), cons(s(0), cons(s(s(X'''')), L'''))) -> LOW(s(s(Y''''')), cons(s(s(X'''')), L'''))
IFLOW(false, s(0), cons(s(s(X'''')), cons(0, cons(s(s(X'''''''')), L''''''')))) -> LOW(s(0), cons(0, cons(s(s(X'''''''')), L''''''')))
IFLOW(false, s(0), cons(s(s(X'''')), cons(0, cons(s(0), L''''''')))) -> LOW(s(0), cons(0, cons(s(0), L''''''')))
IFLOW(true, s(0), cons(0, cons(s(s(X'''')), L'''))) -> LOW(s(0), cons(s(s(X'''')), L'''))
IFLOW(true, s(Y''''), cons(0, cons(s(0), L'''))) -> LOW(s(Y''''), cons(s(0), L'''))
IFLOW(false, 0, cons(s(X'''), cons(0, cons(s(X'''''''), L''''''')))) -> LOW(0, cons(0, cons(s(X'''''''), L''''''')))
IFLOW(false, 0, cons(s(X'''), cons(0, cons(0, L''''''')))) -> LOW(0, cons(0, cons(0, L''''''')))
IFLOW(false, 0, cons(s(X'''), cons(s(X'''), L'''))) -> LOW(0, cons(s(X'''), L'''))
IFLOW(true, 0, cons(0, cons(s(X'''), L'''))) -> LOW(0, cons(s(X'''), L'''))
IFLOW(true, N''', cons(0, cons(0, L'''))) -> LOW(N''', cons(0, L'''))
IFLOW(false, s(0), cons(s(s(X'''')), cons(0, cons(0, L''''''')))) -> LOW(s(0), cons(0, cons(0, L''''''')))
IFLOW(false, s(0), cons(s(s(X'''')), cons(s(s(X'''')), L'''))) -> LOW(s(0), cons(s(s(X'''')), L'''))
IFLOW(false, s(0), cons(s(s(X'''')), cons(s(0), L'''))) -> LOW(s(0), cons(s(0), L'''))
IFLOW(true, s(0), cons(s(0), cons(s(s(X'''')), L'''))) -> LOW(s(0), cons(s(s(X'''')), L'''))
IFLOW(true, s(Y'''''), cons(s(0), cons(s(0), L'''))) -> LOW(s(Y'''''), cons(s(0), L'''))
IFLOW(true, s(s(Y''''')), cons(s(s(X'''')), cons(s(0), L'''))) -> LOW(s(s(Y''''')), cons(s(0), L'''))
IFLOW(true, s(s(Y'''')), cons(0, cons(s(s(X'''')), L'''))) -> LOW(s(s(Y'''')), cons(s(s(X'''')), L'''))
IFLOW(true, s(s(Y''''')), cons(s(s(X'''')), cons(0, cons(s(s(X'''''''')), L''''''')))) -> LOW(s(s(Y''''')), cons(0, cons(s(s(X'''''''')), L''''''')))
IFLOW(x1, x2, x3) -> x3
cons(x1, x2) -> cons(x1, x2)
LOW(x1, x2) -> x2
s(x1) -> s(x1)
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Nar
→DP Problem 12
↳Nar
...
→DP Problem 24
↳Dependency Graph
→DP Problem 4
↳Nar
→DP Problem 5
↳Nar
LOW(s(0), cons(0, cons(s(s(X'''''')), L'''''))) -> IFLOW(true, s(0), cons(0, cons(s(s(X'''''')), L''''')))
LOW(s(Y''''''), cons(0, cons(s(0), L'''''))) -> IFLOW(true, s(Y''''''), cons(0, cons(s(0), L''''')))
LOW(0, cons(s(X''), cons(0, cons(s(X'''''''''), L''''''''')))) -> IFLOW(false, 0, cons(s(X''), cons(0, cons(s(X'''''''''), L'''''''''))))
LOW(0, cons(s(X''), cons(0, cons(0, L''''''''')))) -> IFLOW(false, 0, cons(s(X''), cons(0, cons(0, L'''''''''))))
LOW(0, cons(s(X''), cons(s(X''''''), L'''''))) -> IFLOW(false, 0, cons(s(X''), cons(s(X''''''), L''''')))
LOW(0, cons(0, cons(s(X'''''), L'''''))) -> IFLOW(true, 0, cons(0, cons(s(X'''''), L''''')))
LOW(N'', cons(0, cons(0, L'''''))) -> IFLOW(true, N'', cons(0, cons(0, L''''')))
LOW(s(0), cons(s(s(X'')), L)) -> IFLOW(false, s(0), cons(s(s(X'')), L))
LOW(s(Y''), cons(s(0), L)) -> IFLOW(true, s(Y''), cons(s(0), L))
LOW(s(s(Y'')), cons(s(s(X'')), L)) -> IFLOW(le(X'', Y''), s(s(Y'')), cons(s(s(X'')), L))
LOW(s(s(Y'''''')), cons(0, cons(s(s(X'''''')), L'''''))) -> IFLOW(true, s(s(Y'''''')), cons(0, cons(s(s(X'''''')), L''''')))
le(0, Y) -> true
le(s(X), 0) -> false
le(s(X), s(Y)) -> le(X, Y)
app(nil, Y) -> Y
app(cons(N, L), Y) -> cons(N, app(L, Y))
low(N, nil) -> nil
low(N, cons(M, L)) -> iflow(le(M, N), N, cons(M, L))
iflow(true, N, cons(M, L)) -> cons(M, low(N, L))
iflow(false, N, cons(M, L)) -> low(N, L)
high(N, nil) -> nil
high(N, cons(M, L)) -> ifhigh(le(M, N), N, cons(M, L))
ifhigh(true, N, cons(M, L)) -> high(N, L)
ifhigh(false, N, cons(M, L)) -> cons(M, high(N, L))
quicksort(nil) -> nil
quicksort(cons(N, L)) -> app(quicksort(low(N, L)), cons(N, quicksort(high(N, L))))
innermost
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Nar
→DP Problem 4
↳Narrowing Transformation
→DP Problem 5
↳Nar
IFHIGH(false, N, cons(M, L)) -> HIGH(N, L)
IFHIGH(true, N, cons(M, L)) -> HIGH(N, L)
HIGH(N, cons(M, L)) -> IFHIGH(le(M, N), N, cons(M, L))
le(0, Y) -> true
le(s(X), 0) -> false
le(s(X), s(Y)) -> le(X, Y)
app(nil, Y) -> Y
app(cons(N, L), Y) -> cons(N, app(L, Y))
low(N, nil) -> nil
low(N, cons(M, L)) -> iflow(le(M, N), N, cons(M, L))
iflow(true, N, cons(M, L)) -> cons(M, low(N, L))
iflow(false, N, cons(M, L)) -> low(N, L)
high(N, nil) -> nil
high(N, cons(M, L)) -> ifhigh(le(M, N), N, cons(M, L))
ifhigh(true, N, cons(M, L)) -> high(N, L)
ifhigh(false, N, cons(M, L)) -> cons(M, high(N, L))
quicksort(nil) -> nil
quicksort(cons(N, L)) -> app(quicksort(low(N, L)), cons(N, quicksort(high(N, L))))
innermost
three new Dependency Pairs are created:
HIGH(N, cons(M, L)) -> IFHIGH(le(M, N), N, cons(M, L))
HIGH(N', cons(0, L)) -> IFHIGH(true, N', cons(0, L))
HIGH(0, cons(s(X'), L)) -> IFHIGH(false, 0, cons(s(X'), L))
HIGH(s(Y'), cons(s(X'), L)) -> IFHIGH(le(X', Y'), s(Y'), cons(s(X'), L))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Nar
→DP Problem 4
↳Nar
→DP Problem 25
↳Narrowing Transformation
→DP Problem 5
↳Nar
HIGH(s(Y'), cons(s(X'), L)) -> IFHIGH(le(X', Y'), s(Y'), cons(s(X'), L))
HIGH(0, cons(s(X'), L)) -> IFHIGH(false, 0, cons(s(X'), L))
IFHIGH(true, N, cons(M, L)) -> HIGH(N, L)
HIGH(N', cons(0, L)) -> IFHIGH(true, N', cons(0, L))
IFHIGH(false, N, cons(M, L)) -> HIGH(N, L)
le(0, Y) -> true
le(s(X), 0) -> false
le(s(X), s(Y)) -> le(X, Y)
app(nil, Y) -> Y
app(cons(N, L), Y) -> cons(N, app(L, Y))
low(N, nil) -> nil
low(N, cons(M, L)) -> iflow(le(M, N), N, cons(M, L))
iflow(true, N, cons(M, L)) -> cons(M, low(N, L))
iflow(false, N, cons(M, L)) -> low(N, L)
high(N, nil) -> nil
high(N, cons(M, L)) -> ifhigh(le(M, N), N, cons(M, L))
ifhigh(true, N, cons(M, L)) -> high(N, L)
ifhigh(false, N, cons(M, L)) -> cons(M, high(N, L))
quicksort(nil) -> nil
quicksort(cons(N, L)) -> app(quicksort(low(N, L)), cons(N, quicksort(high(N, L))))
innermost
three new Dependency Pairs are created:
HIGH(s(Y'), cons(s(X'), L)) -> IFHIGH(le(X', Y'), s(Y'), cons(s(X'), L))
HIGH(s(Y''), cons(s(0), L)) -> IFHIGH(true, s(Y''), cons(s(0), L))
HIGH(s(0), cons(s(s(X'')), L)) -> IFHIGH(false, s(0), cons(s(s(X'')), L))
HIGH(s(s(Y'')), cons(s(s(X'')), L)) -> IFHIGH(le(X'', Y''), s(s(Y'')), cons(s(s(X'')), L))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Nar
→DP Problem 4
↳Nar
→DP Problem 25
↳Nar
...
→DP Problem 26
↳Instantiation Transformation
→DP Problem 5
↳Nar
HIGH(s(s(Y'')), cons(s(s(X'')), L)) -> IFHIGH(le(X'', Y''), s(s(Y'')), cons(s(s(X'')), L))
HIGH(s(0), cons(s(s(X'')), L)) -> IFHIGH(false, s(0), cons(s(s(X'')), L))
HIGH(s(Y''), cons(s(0), L)) -> IFHIGH(true, s(Y''), cons(s(0), L))
IFHIGH(true, N, cons(M, L)) -> HIGH(N, L)
HIGH(N', cons(0, L)) -> IFHIGH(true, N', cons(0, L))
IFHIGH(false, N, cons(M, L)) -> HIGH(N, L)
HIGH(0, cons(s(X'), L)) -> IFHIGH(false, 0, cons(s(X'), L))
le(0, Y) -> true
le(s(X), 0) -> false
le(s(X), s(Y)) -> le(X, Y)
app(nil, Y) -> Y
app(cons(N, L), Y) -> cons(N, app(L, Y))
low(N, nil) -> nil
low(N, cons(M, L)) -> iflow(le(M, N), N, cons(M, L))
iflow(true, N, cons(M, L)) -> cons(M, low(N, L))
iflow(false, N, cons(M, L)) -> low(N, L)
high(N, nil) -> nil
high(N, cons(M, L)) -> ifhigh(le(M, N), N, cons(M, L))
ifhigh(true, N, cons(M, L)) -> high(N, L)
ifhigh(false, N, cons(M, L)) -> cons(M, high(N, L))
quicksort(nil) -> nil
quicksort(cons(N, L)) -> app(quicksort(low(N, L)), cons(N, quicksort(high(N, L))))
innermost
three new Dependency Pairs are created:
IFHIGH(true, N, cons(M, L)) -> HIGH(N, L)
IFHIGH(true, N', cons(0, L'')) -> HIGH(N', L'')
IFHIGH(true, s(Y''''), cons(s(0), L'')) -> HIGH(s(Y''''), L'')
IFHIGH(true, s(s(Y'''')), cons(s(s(X'''')), L'')) -> HIGH(s(s(Y'''')), L'')
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Nar
→DP Problem 4
↳Nar
→DP Problem 25
↳Nar
...
→DP Problem 27
↳Instantiation Transformation
→DP Problem 5
↳Nar
IFHIGH(true, s(s(Y'''')), cons(s(s(X'''')), L'')) -> HIGH(s(s(Y'''')), L'')
HIGH(s(0), cons(s(s(X'')), L)) -> IFHIGH(false, s(0), cons(s(s(X'')), L))
IFHIGH(true, s(Y''''), cons(s(0), L'')) -> HIGH(s(Y''''), L'')
HIGH(s(Y''), cons(s(0), L)) -> IFHIGH(true, s(Y''), cons(s(0), L))
HIGH(0, cons(s(X'), L)) -> IFHIGH(false, 0, cons(s(X'), L))
IFHIGH(true, N', cons(0, L'')) -> HIGH(N', L'')
HIGH(N', cons(0, L)) -> IFHIGH(true, N', cons(0, L))
IFHIGH(false, N, cons(M, L)) -> HIGH(N, L)
HIGH(s(s(Y'')), cons(s(s(X'')), L)) -> IFHIGH(le(X'', Y''), s(s(Y'')), cons(s(s(X'')), L))
le(0, Y) -> true
le(s(X), 0) -> false
le(s(X), s(Y)) -> le(X, Y)
app(nil, Y) -> Y
app(cons(N, L), Y) -> cons(N, app(L, Y))
low(N, nil) -> nil
low(N, cons(M, L)) -> iflow(le(M, N), N, cons(M, L))
iflow(true, N, cons(M, L)) -> cons(M, low(N, L))
iflow(false, N, cons(M, L)) -> low(N, L)
high(N, nil) -> nil
high(N, cons(M, L)) -> ifhigh(le(M, N), N, cons(M, L))
ifhigh(true, N, cons(M, L)) -> high(N, L)
ifhigh(false, N, cons(M, L)) -> cons(M, high(N, L))
quicksort(nil) -> nil
quicksort(cons(N, L)) -> app(quicksort(low(N, L)), cons(N, quicksort(high(N, L))))
innermost
three new Dependency Pairs are created:
IFHIGH(false, N, cons(M, L)) -> HIGH(N, L)
IFHIGH(false, 0, cons(s(X'''), L'')) -> HIGH(0, L'')
IFHIGH(false, s(0), cons(s(s(X'''')), L'')) -> HIGH(s(0), L'')
IFHIGH(false, s(s(Y'''')), cons(s(s(X'''')), L'')) -> HIGH(s(s(Y'''')), L'')
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Nar
→DP Problem 4
↳Nar
→DP Problem 25
↳Nar
...
→DP Problem 28
↳Forward Instantiation Transformation
→DP Problem 5
↳Nar
IFHIGH(false, s(s(Y'''')), cons(s(s(X'''')), L'')) -> HIGH(s(s(Y'''')), L'')
HIGH(s(s(Y'')), cons(s(s(X'')), L)) -> IFHIGH(le(X'', Y''), s(s(Y'')), cons(s(s(X'')), L))
IFHIGH(false, s(0), cons(s(s(X'''')), L'')) -> HIGH(s(0), L'')
HIGH(s(0), cons(s(s(X'')), L)) -> IFHIGH(false, s(0), cons(s(s(X'')), L))
IFHIGH(true, s(Y''''), cons(s(0), L'')) -> HIGH(s(Y''''), L'')
HIGH(s(Y''), cons(s(0), L)) -> IFHIGH(true, s(Y''), cons(s(0), L))
IFHIGH(false, 0, cons(s(X'''), L'')) -> HIGH(0, L'')
HIGH(0, cons(s(X'), L)) -> IFHIGH(false, 0, cons(s(X'), L))
IFHIGH(true, N', cons(0, L'')) -> HIGH(N', L'')
HIGH(N', cons(0, L)) -> IFHIGH(true, N', cons(0, L))
IFHIGH(true, s(s(Y'''')), cons(s(s(X'''')), L'')) -> HIGH(s(s(Y'''')), L'')
le(0, Y) -> true
le(s(X), 0) -> false
le(s(X), s(Y)) -> le(X, Y)
app(nil, Y) -> Y
app(cons(N, L), Y) -> cons(N, app(L, Y))
low(N, nil) -> nil
low(N, cons(M, L)) -> iflow(le(M, N), N, cons(M, L))
iflow(true, N, cons(M, L)) -> cons(M, low(N, L))
iflow(false, N, cons(M, L)) -> low(N, L)
high(N, nil) -> nil
high(N, cons(M, L)) -> ifhigh(le(M, N), N, cons(M, L))
ifhigh(true, N, cons(M, L)) -> high(N, L)
ifhigh(false, N, cons(M, L)) -> cons(M, high(N, L))
quicksort(nil) -> nil
quicksort(cons(N, L)) -> app(quicksort(low(N, L)), cons(N, quicksort(high(N, L))))
innermost
five new Dependency Pairs are created:
IFHIGH(true, N', cons(0, L'')) -> HIGH(N', L'')
IFHIGH(true, N''', cons(0, cons(0, L'''))) -> HIGH(N''', cons(0, L'''))
IFHIGH(true, 0, cons(0, cons(s(X'''), L'''))) -> HIGH(0, cons(s(X'''), L'''))
IFHIGH(true, s(Y''''), cons(0, cons(s(0), L'''))) -> HIGH(s(Y''''), cons(s(0), L'''))
IFHIGH(true, s(0), cons(0, cons(s(s(X'''')), L'''))) -> HIGH(s(0), cons(s(s(X'''')), L'''))
IFHIGH(true, s(s(Y'''')), cons(0, cons(s(s(X'''')), L'''))) -> HIGH(s(s(Y'''')), cons(s(s(X'''')), L'''))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Nar
→DP Problem 4
↳Nar
→DP Problem 25
↳Nar
...
→DP Problem 29
↳Forward Instantiation Transformation
→DP Problem 5
↳Nar
IFHIGH(true, s(s(Y'''')), cons(0, cons(s(s(X'''')), L'''))) -> HIGH(s(s(Y'''')), cons(s(s(X'''')), L'''))
IFHIGH(true, s(0), cons(0, cons(s(s(X'''')), L'''))) -> HIGH(s(0), cons(s(s(X'''')), L'''))
IFHIGH(true, s(s(Y'''')), cons(s(s(X'''')), L'')) -> HIGH(s(s(Y'''')), L'')
HIGH(s(s(Y'')), cons(s(s(X'')), L)) -> IFHIGH(le(X'', Y''), s(s(Y'')), cons(s(s(X'')), L))
IFHIGH(false, s(0), cons(s(s(X'''')), L'')) -> HIGH(s(0), L'')
HIGH(s(0), cons(s(s(X'')), L)) -> IFHIGH(false, s(0), cons(s(s(X'')), L))
IFHIGH(true, s(Y''''), cons(s(0), L'')) -> HIGH(s(Y''''), L'')
HIGH(s(Y''), cons(s(0), L)) -> IFHIGH(true, s(Y''), cons(s(0), L))
IFHIGH(true, s(Y''''), cons(0, cons(s(0), L'''))) -> HIGH(s(Y''''), cons(s(0), L'''))
IFHIGH(false, 0, cons(s(X'''), L'')) -> HIGH(0, L'')
HIGH(0, cons(s(X'), L)) -> IFHIGH(false, 0, cons(s(X'), L))
IFHIGH(true, 0, cons(0, cons(s(X'''), L'''))) -> HIGH(0, cons(s(X'''), L'''))
IFHIGH(true, N''', cons(0, cons(0, L'''))) -> HIGH(N''', cons(0, L'''))
HIGH(N', cons(0, L)) -> IFHIGH(true, N', cons(0, L))
IFHIGH(false, s(s(Y'''')), cons(s(s(X'''')), L'')) -> HIGH(s(s(Y'''')), L'')
le(0, Y) -> true
le(s(X), 0) -> false
le(s(X), s(Y)) -> le(X, Y)
app(nil, Y) -> Y
app(cons(N, L), Y) -> cons(N, app(L, Y))
low(N, nil) -> nil
low(N, cons(M, L)) -> iflow(le(M, N), N, cons(M, L))
iflow(true, N, cons(M, L)) -> cons(M, low(N, L))
iflow(false, N, cons(M, L)) -> low(N, L)
high(N, nil) -> nil
high(N, cons(M, L)) -> ifhigh(le(M, N), N, cons(M, L))
ifhigh(true, N, cons(M, L)) -> high(N, L)
ifhigh(false, N, cons(M, L)) -> cons(M, high(N, L))
quicksort(nil) -> nil
quicksort(cons(N, L)) -> app(quicksort(low(N, L)), cons(N, quicksort(high(N, L))))
innermost
five new Dependency Pairs are created:
HIGH(N', cons(0, L)) -> IFHIGH(true, N', cons(0, L))
HIGH(N'', cons(0, cons(0, L'''''))) -> IFHIGH(true, N'', cons(0, cons(0, L''''')))
HIGH(0, cons(0, cons(s(X'''''), L'''''))) -> IFHIGH(true, 0, cons(0, cons(s(X'''''), L''''')))
HIGH(s(Y''''''), cons(0, cons(s(0), L'''''))) -> IFHIGH(true, s(Y''''''), cons(0, cons(s(0), L''''')))
HIGH(s(0), cons(0, cons(s(s(X'''''')), L'''''))) -> IFHIGH(true, s(0), cons(0, cons(s(s(X'''''')), L''''')))
HIGH(s(s(Y'''''')), cons(0, cons(s(s(X'''''')), L'''''))) -> IFHIGH(true, s(s(Y'''''')), cons(0, cons(s(s(X'''''')), L''''')))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Nar
→DP Problem 4
↳Nar
→DP Problem 25
↳Nar
...
→DP Problem 30
↳Forward Instantiation Transformation
→DP Problem 5
↳Nar
IFHIGH(false, s(s(Y'''')), cons(s(s(X'''')), L'')) -> HIGH(s(s(Y'''')), L'')
HIGH(s(s(Y'''''')), cons(0, cons(s(s(X'''''')), L'''''))) -> IFHIGH(true, s(s(Y'''''')), cons(0, cons(s(s(X'''''')), L''''')))
IFHIGH(true, s(0), cons(0, cons(s(s(X'''')), L'''))) -> HIGH(s(0), cons(s(s(X'''')), L'''))
HIGH(s(0), cons(0, cons(s(s(X'''''')), L'''''))) -> IFHIGH(true, s(0), cons(0, cons(s(s(X'''''')), L''''')))
IFHIGH(true, s(Y''''), cons(0, cons(s(0), L'''))) -> HIGH(s(Y''''), cons(s(0), L'''))
HIGH(s(Y''''''), cons(0, cons(s(0), L'''''))) -> IFHIGH(true, s(Y''''''), cons(0, cons(s(0), L''''')))
IFHIGH(false, 0, cons(s(X'''), L'')) -> HIGH(0, L'')
HIGH(0, cons(s(X'), L)) -> IFHIGH(false, 0, cons(s(X'), L))
IFHIGH(true, 0, cons(0, cons(s(X'''), L'''))) -> HIGH(0, cons(s(X'''), L'''))
HIGH(0, cons(0, cons(s(X'''''), L'''''))) -> IFHIGH(true, 0, cons(0, cons(s(X'''''), L''''')))
IFHIGH(true, N''', cons(0, cons(0, L'''))) -> HIGH(N''', cons(0, L'''))
HIGH(N'', cons(0, cons(0, L'''''))) -> IFHIGH(true, N'', cons(0, cons(0, L''''')))
IFHIGH(false, s(0), cons(s(s(X'''')), L'')) -> HIGH(s(0), L'')
HIGH(s(0), cons(s(s(X'')), L)) -> IFHIGH(false, s(0), cons(s(s(X'')), L))
IFHIGH(true, s(Y''''), cons(s(0), L'')) -> HIGH(s(Y''''), L'')
HIGH(s(Y''), cons(s(0), L)) -> IFHIGH(true, s(Y''), cons(s(0), L))
IFHIGH(true, s(s(Y'''')), cons(s(s(X'''')), L'')) -> HIGH(s(s(Y'''')), L'')
HIGH(s(s(Y'')), cons(s(s(X'')), L)) -> IFHIGH(le(X'', Y''), s(s(Y'')), cons(s(s(X'')), L))
IFHIGH(true, s(s(Y'''')), cons(0, cons(s(s(X'''')), L'''))) -> HIGH(s(s(Y'''')), cons(s(s(X'''')), L'''))
le(0, Y) -> true
le(s(X), 0) -> false
le(s(X), s(Y)) -> le(X, Y)
app(nil, Y) -> Y
app(cons(N, L), Y) -> cons(N, app(L, Y))
low(N, nil) -> nil
low(N, cons(M, L)) -> iflow(le(M, N), N, cons(M, L))
iflow(true, N, cons(M, L)) -> cons(M, low(N, L))
iflow(false, N, cons(M, L)) -> low(N, L)
high(N, nil) -> nil
high(N, cons(M, L)) -> ifhigh(le(M, N), N, cons(M, L))
ifhigh(true, N, cons(M, L)) -> high(N, L)
ifhigh(false, N, cons(M, L)) -> cons(M, high(N, L))
quicksort(nil) -> nil
quicksort(cons(N, L)) -> app(quicksort(low(N, L)), cons(N, quicksort(high(N, L))))
innermost
seven new Dependency Pairs are created:
IFHIGH(true, s(Y''''), cons(s(0), L'')) -> HIGH(s(Y''''), L'')
IFHIGH(true, s(Y'''''), cons(s(0), cons(s(0), L'''))) -> HIGH(s(Y'''''), cons(s(0), L'''))
IFHIGH(true, s(0), cons(s(0), cons(s(s(X'''')), L'''))) -> HIGH(s(0), cons(s(s(X'''')), L'''))
IFHIGH(true, s(s(Y''''')), cons(s(0), cons(s(s(X'''')), L'''))) -> HIGH(s(s(Y''''')), cons(s(s(X'''')), L'''))
IFHIGH(true, s(Y'''''), cons(s(0), cons(0, cons(0, L''''''')))) -> HIGH(s(Y'''''), cons(0, cons(0, L''''''')))
IFHIGH(true, s(Y'''''), cons(s(0), cons(0, cons(s(0), L''''''')))) -> HIGH(s(Y'''''), cons(0, cons(s(0), L''''''')))
IFHIGH(true, s(0), cons(s(0), cons(0, cons(s(s(X'''''''')), L''''''')))) -> HIGH(s(0), cons(0, cons(s(s(X'''''''')), L''''''')))
IFHIGH(true, s(s(Y'''''''')), cons(s(0), cons(0, cons(s(s(X'''''''')), L''''''')))) -> HIGH(s(s(Y'''''''')), cons(0, cons(s(s(X'''''''')), L''''''')))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Nar
→DP Problem 4
↳Nar
→DP Problem 25
↳Nar
...
→DP Problem 31
↳Forward Instantiation Transformation
→DP Problem 5
↳Nar
IFHIGH(true, s(s(Y'''''''')), cons(s(0), cons(0, cons(s(s(X'''''''')), L''''''')))) -> HIGH(s(s(Y'''''''')), cons(0, cons(s(s(X'''''''')), L''''''')))
IFHIGH(true, s(0), cons(s(0), cons(0, cons(s(s(X'''''''')), L''''''')))) -> HIGH(s(0), cons(0, cons(s(s(X'''''''')), L''''''')))
IFHIGH(true, s(Y'''''), cons(s(0), cons(0, cons(s(0), L''''''')))) -> HIGH(s(Y'''''), cons(0, cons(s(0), L''''''')))
IFHIGH(true, s(Y'''''), cons(s(0), cons(0, cons(0, L''''''')))) -> HIGH(s(Y'''''), cons(0, cons(0, L''''''')))
IFHIGH(true, s(s(Y''''')), cons(s(0), cons(s(s(X'''')), L'''))) -> HIGH(s(s(Y''''')), cons(s(s(X'''')), L'''))
IFHIGH(true, s(s(Y'''')), cons(s(s(X'''')), L'')) -> HIGH(s(s(Y'''')), L'')
HIGH(s(s(Y'')), cons(s(s(X'')), L)) -> IFHIGH(le(X'', Y''), s(s(Y'')), cons(s(s(X'')), L))
IFHIGH(true, s(s(Y'''')), cons(0, cons(s(s(X'''')), L'''))) -> HIGH(s(s(Y'''')), cons(s(s(X'''')), L'''))
HIGH(s(s(Y'''''')), cons(0, cons(s(s(X'''''')), L'''''))) -> IFHIGH(true, s(s(Y'''''')), cons(0, cons(s(s(X'''''')), L''''')))
IFHIGH(true, s(0), cons(0, cons(s(s(X'''')), L'''))) -> HIGH(s(0), cons(s(s(X'''')), L'''))
HIGH(s(0), cons(0, cons(s(s(X'''''')), L'''''))) -> IFHIGH(true, s(0), cons(0, cons(s(s(X'''''')), L''''')))
IFHIGH(true, s(Y''''), cons(0, cons(s(0), L'''))) -> HIGH(s(Y''''), cons(s(0), L'''))
HIGH(s(Y''''''), cons(0, cons(s(0), L'''''))) -> IFHIGH(true, s(Y''''''), cons(0, cons(s(0), L''''')))
IFHIGH(false, 0, cons(s(X'''), L'')) -> HIGH(0, L'')
HIGH(0, cons(s(X'), L)) -> IFHIGH(false, 0, cons(s(X'), L))
IFHIGH(true, 0, cons(0, cons(s(X'''), L'''))) -> HIGH(0, cons(s(X'''), L'''))
HIGH(0, cons(0, cons(s(X'''''), L'''''))) -> IFHIGH(true, 0, cons(0, cons(s(X'''''), L''''')))
IFHIGH(true, N''', cons(0, cons(0, L'''))) -> HIGH(N''', cons(0, L'''))
HIGH(N'', cons(0, cons(0, L'''''))) -> IFHIGH(true, N'', cons(0, cons(0, L''''')))
IFHIGH(false, s(0), cons(s(s(X'''')), L'')) -> HIGH(s(0), L'')
HIGH(s(0), cons(s(s(X'')), L)) -> IFHIGH(false, s(0), cons(s(s(X'')), L))
IFHIGH(true, s(0), cons(s(0), cons(s(s(X'''')), L'''))) -> HIGH(s(0), cons(s(s(X'''')), L'''))
IFHIGH(true, s(Y'''''), cons(s(0), cons(s(0), L'''))) -> HIGH(s(Y'''''), cons(s(0), L'''))
HIGH(s(Y''), cons(s(0), L)) -> IFHIGH(true, s(Y''), cons(s(0), L))
IFHIGH(false, s(s(Y'''')), cons(s(s(X'''')), L'')) -> HIGH(s(s(Y'''')), L'')
le(0, Y) -> true
le(s(X), 0) -> false
le(s(X), s(Y)) -> le(X, Y)
app(nil, Y) -> Y
app(cons(N, L), Y) -> cons(N, app(L, Y))
low(N, nil) -> nil
low(N, cons(M, L)) -> iflow(le(M, N), N, cons(M, L))
iflow(true, N, cons(M, L)) -> cons(M, low(N, L))
iflow(false, N, cons(M, L)) -> low(N, L)
high(N, nil) -> nil
high(N, cons(M, L)) -> ifhigh(le(M, N), N, cons(M, L))
ifhigh(true, N, cons(M, L)) -> high(N, L)
ifhigh(false, N, cons(M, L)) -> cons(M, high(N, L))
quicksort(nil) -> nil
quicksort(cons(N, L)) -> app(quicksort(low(N, L)), cons(N, quicksort(high(N, L))))
innermost
five new Dependency Pairs are created:
IFHIGH(true, s(s(Y'''')), cons(s(s(X'''')), L'')) -> HIGH(s(s(Y'''')), L'')
IFHIGH(true, s(s(Y''''')), cons(s(s(X'''')), cons(s(0), L'''))) -> HIGH(s(s(Y''''')), cons(s(0), L'''))
IFHIGH(true, s(s(Y''''')), cons(s(s(X'''')), cons(s(s(X'''')), L'''))) -> HIGH(s(s(Y''''')), cons(s(s(X'''')), L'''))
IFHIGH(true, s(s(Y''''')), cons(s(s(X'''')), cons(0, cons(0, L''''''')))) -> HIGH(s(s(Y''''')), cons(0, cons(0, L''''''')))
IFHIGH(true, s(s(Y''''')), cons(s(s(X'''')), cons(0, cons(s(0), L''''''')))) -> HIGH(s(s(Y''''')), cons(0, cons(s(0), L''''''')))
IFHIGH(true, s(s(Y''''')), cons(s(s(X'''')), cons(0, cons(s(s(X'''''''')), L''''''')))) -> HIGH(s(s(Y''''')), cons(0, cons(s(s(X'''''''')), L''''''')))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Nar
→DP Problem 4
↳Nar
→DP Problem 25
↳Nar
...
→DP Problem 32
↳Forward Instantiation Transformation
→DP Problem 5
↳Nar
IFHIGH(true, s(s(Y''''')), cons(s(s(X'''')), cons(0, cons(s(s(X'''''''')), L''''''')))) -> HIGH(s(s(Y''''')), cons(0, cons(s(s(X'''''''')), L''''''')))
IFHIGH(true, s(s(Y''''')), cons(s(s(X'''')), cons(0, cons(s(0), L''''''')))) -> HIGH(s(s(Y''''')), cons(0, cons(s(0), L''''''')))
IFHIGH(true, s(s(Y''''')), cons(s(s(X'''')), cons(0, cons(0, L''''''')))) -> HIGH(s(s(Y''''')), cons(0, cons(0, L''''''')))
IFHIGH(true, s(s(Y''''')), cons(s(s(X'''')), cons(s(s(X'''')), L'''))) -> HIGH(s(s(Y''''')), cons(s(s(X'''')), L'''))
IFHIGH(true, s(s(Y''''')), cons(s(s(X'''')), cons(s(0), L'''))) -> HIGH(s(s(Y''''')), cons(s(0), L'''))
IFHIGH(true, s(0), cons(s(0), cons(0, cons(s(s(X'''''''')), L''''''')))) -> HIGH(s(0), cons(0, cons(s(s(X'''''''')), L''''''')))
IFHIGH(true, s(Y'''''), cons(s(0), cons(0, cons(s(0), L''''''')))) -> HIGH(s(Y'''''), cons(0, cons(s(0), L''''''')))
IFHIGH(true, s(Y'''''), cons(s(0), cons(0, cons(0, L''''''')))) -> HIGH(s(Y'''''), cons(0, cons(0, L''''''')))
IFHIGH(true, s(s(Y''''')), cons(s(0), cons(s(s(X'''')), L'''))) -> HIGH(s(s(Y''''')), cons(s(s(X'''')), L'''))
IFHIGH(true, s(0), cons(0, cons(s(s(X'''')), L'''))) -> HIGH(s(0), cons(s(s(X'''')), L'''))
HIGH(s(0), cons(0, cons(s(s(X'''''')), L'''''))) -> IFHIGH(true, s(0), cons(0, cons(s(s(X'''''')), L''''')))
IFHIGH(true, s(Y''''), cons(0, cons(s(0), L'''))) -> HIGH(s(Y''''), cons(s(0), L'''))
HIGH(s(Y''''''), cons(0, cons(s(0), L'''''))) -> IFHIGH(true, s(Y''''''), cons(0, cons(s(0), L''''')))
IFHIGH(false, 0, cons(s(X'''), L'')) -> HIGH(0, L'')
HIGH(0, cons(s(X'), L)) -> IFHIGH(false, 0, cons(s(X'), L))
IFHIGH(true, 0, cons(0, cons(s(X'''), L'''))) -> HIGH(0, cons(s(X'''), L'''))
HIGH(0, cons(0, cons(s(X'''''), L'''''))) -> IFHIGH(true, 0, cons(0, cons(s(X'''''), L''''')))
IFHIGH(true, N''', cons(0, cons(0, L'''))) -> HIGH(N''', cons(0, L'''))
HIGH(N'', cons(0, cons(0, L'''''))) -> IFHIGH(true, N'', cons(0, cons(0, L''''')))
IFHIGH(false, s(0), cons(s(s(X'''')), L'')) -> HIGH(s(0), L'')
HIGH(s(0), cons(s(s(X'')), L)) -> IFHIGH(false, s(0), cons(s(s(X'')), L))
IFHIGH(true, s(0), cons(s(0), cons(s(s(X'''')), L'''))) -> HIGH(s(0), cons(s(s(X'''')), L'''))
IFHIGH(true, s(Y'''''), cons(s(0), cons(s(0), L'''))) -> HIGH(s(Y'''''), cons(s(0), L'''))
HIGH(s(Y''), cons(s(0), L)) -> IFHIGH(true, s(Y''), cons(s(0), L))
IFHIGH(false, s(s(Y'''')), cons(s(s(X'''')), L'')) -> HIGH(s(s(Y'''')), L'')
HIGH(s(s(Y'')), cons(s(s(X'')), L)) -> IFHIGH(le(X'', Y''), s(s(Y'')), cons(s(s(X'')), L))
IFHIGH(true, s(s(Y'''')), cons(0, cons(s(s(X'''')), L'''))) -> HIGH(s(s(Y'''')), cons(s(s(X'''')), L'''))
HIGH(s(s(Y'''''')), cons(0, cons(s(s(X'''''')), L'''''))) -> IFHIGH(true, s(s(Y'''''')), cons(0, cons(s(s(X'''''')), L''''')))
IFHIGH(true, s(s(Y'''''''')), cons(s(0), cons(0, cons(s(s(X'''''''')), L''''''')))) -> HIGH(s(s(Y'''''''')), cons(0, cons(s(s(X'''''''')), L''''''')))
le(0, Y) -> true
le(s(X), 0) -> false
le(s(X), s(Y)) -> le(X, Y)
app(nil, Y) -> Y
app(cons(N, L), Y) -> cons(N, app(L, Y))
low(N, nil) -> nil
low(N, cons(M, L)) -> iflow(le(M, N), N, cons(M, L))
iflow(true, N, cons(M, L)) -> cons(M, low(N, L))
iflow(false, N, cons(M, L)) -> low(N, L)
high(N, nil) -> nil
high(N, cons(M, L)) -> ifhigh(le(M, N), N, cons(M, L))
ifhigh(true, N, cons(M, L)) -> high(N, L)
ifhigh(false, N, cons(M, L)) -> cons(M, high(N, L))
quicksort(nil) -> nil
quicksort(cons(N, L)) -> app(quicksort(low(N, L)), cons(N, quicksort(high(N, L))))
innermost
three new Dependency Pairs are created:
IFHIGH(false, 0, cons(s(X'''), L'')) -> HIGH(0, L'')
IFHIGH(false, 0, cons(s(X'''), cons(s(X'''), L'''))) -> HIGH(0, cons(s(X'''), L'''))
IFHIGH(false, 0, cons(s(X'''), cons(0, cons(0, L''''''')))) -> HIGH(0, cons(0, cons(0, L''''''')))
IFHIGH(false, 0, cons(s(X'''), cons(0, cons(s(X'''''''), L''''''')))) -> HIGH(0, cons(0, cons(s(X'''''''), L''''''')))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Nar
→DP Problem 4
↳Nar
→DP Problem 25
↳Nar
...
→DP Problem 33
↳Forward Instantiation Transformation
→DP Problem 5
↳Nar
IFHIGH(true, s(s(Y''''')), cons(s(s(X'''')), cons(0, cons(s(0), L''''''')))) -> HIGH(s(s(Y''''')), cons(0, cons(s(0), L''''''')))
IFHIGH(true, s(s(Y''''')), cons(s(s(X'''')), cons(0, cons(0, L''''''')))) -> HIGH(s(s(Y''''')), cons(0, cons(0, L''''''')))
IFHIGH(true, s(s(Y''''')), cons(s(s(X'''')), cons(s(s(X'''')), L'''))) -> HIGH(s(s(Y''''')), cons(s(s(X'''')), L'''))
IFHIGH(true, s(s(Y''''')), cons(s(s(X'''')), cons(s(0), L'''))) -> HIGH(s(s(Y''''')), cons(s(0), L'''))
IFHIGH(true, s(s(Y'''''''')), cons(s(0), cons(0, cons(s(s(X'''''''')), L''''''')))) -> HIGH(s(s(Y'''''''')), cons(0, cons(s(s(X'''''''')), L''''''')))
IFHIGH(true, s(0), cons(s(0), cons(0, cons(s(s(X'''''''')), L''''''')))) -> HIGH(s(0), cons(0, cons(s(s(X'''''''')), L''''''')))
IFHIGH(true, s(Y'''''), cons(s(0), cons(0, cons(s(0), L''''''')))) -> HIGH(s(Y'''''), cons(0, cons(s(0), L''''''')))
IFHIGH(true, s(Y'''''), cons(s(0), cons(0, cons(0, L''''''')))) -> HIGH(s(Y'''''), cons(0, cons(0, L''''''')))
IFHIGH(true, s(s(Y''''')), cons(s(0), cons(s(s(X'''')), L'''))) -> HIGH(s(s(Y''''')), cons(s(s(X'''')), L'''))
IFHIGH(true, s(0), cons(0, cons(s(s(X'''')), L'''))) -> HIGH(s(0), cons(s(s(X'''')), L'''))
HIGH(s(0), cons(0, cons(s(s(X'''''')), L'''''))) -> IFHIGH(true, s(0), cons(0, cons(s(s(X'''''')), L''''')))
IFHIGH(true, s(Y''''), cons(0, cons(s(0), L'''))) -> HIGH(s(Y''''), cons(s(0), L'''))
HIGH(s(Y''''''), cons(0, cons(s(0), L'''''))) -> IFHIGH(true, s(Y''''''), cons(0, cons(s(0), L''''')))
IFHIGH(false, 0, cons(s(X'''), cons(0, cons(s(X'''''''), L''''''')))) -> HIGH(0, cons(0, cons(s(X'''''''), L''''''')))
IFHIGH(false, 0, cons(s(X'''), cons(0, cons(0, L''''''')))) -> HIGH(0, cons(0, cons(0, L''''''')))
IFHIGH(false, 0, cons(s(X'''), cons(s(X'''), L'''))) -> HIGH(0, cons(s(X'''), L'''))
HIGH(0, cons(s(X'), L)) -> IFHIGH(false, 0, cons(s(X'), L))
IFHIGH(true, 0, cons(0, cons(s(X'''), L'''))) -> HIGH(0, cons(s(X'''), L'''))
HIGH(0, cons(0, cons(s(X'''''), L'''''))) -> IFHIGH(true, 0, cons(0, cons(s(X'''''), L''''')))
IFHIGH(true, N''', cons(0, cons(0, L'''))) -> HIGH(N''', cons(0, L'''))
HIGH(N'', cons(0, cons(0, L'''''))) -> IFHIGH(true, N'', cons(0, cons(0, L''''')))
IFHIGH(false, s(0), cons(s(s(X'''')), L'')) -> HIGH(s(0), L'')
HIGH(s(0), cons(s(s(X'')), L)) -> IFHIGH(false, s(0), cons(s(s(X'')), L))
IFHIGH(true, s(0), cons(s(0), cons(s(s(X'''')), L'''))) -> HIGH(s(0), cons(s(s(X'''')), L'''))
IFHIGH(true, s(Y'''''), cons(s(0), cons(s(0), L'''))) -> HIGH(s(Y'''''), cons(s(0), L'''))
HIGH(s(Y''), cons(s(0), L)) -> IFHIGH(true, s(Y''), cons(s(0), L))
IFHIGH(false, s(s(Y'''')), cons(s(s(X'''')), L'')) -> HIGH(s(s(Y'''')), L'')
HIGH(s(s(Y'')), cons(s(s(X'')), L)) -> IFHIGH(le(X'', Y''), s(s(Y'')), cons(s(s(X'')), L))
IFHIGH(true, s(s(Y'''')), cons(0, cons(s(s(X'''')), L'''))) -> HIGH(s(s(Y'''')), cons(s(s(X'''')), L'''))
HIGH(s(s(Y'''''')), cons(0, cons(s(s(X'''''')), L'''''))) -> IFHIGH(true, s(s(Y'''''')), cons(0, cons(s(s(X'''''')), L''''')))
IFHIGH(true, s(s(Y''''')), cons(s(s(X'''')), cons(0, cons(s(s(X'''''''')), L''''''')))) -> HIGH(s(s(Y''''')), cons(0, cons(s(s(X'''''''')), L''''''')))
le(0, Y) -> true
le(s(X), 0) -> false
le(s(X), s(Y)) -> le(X, Y)
app(nil, Y) -> Y
app(cons(N, L), Y) -> cons(N, app(L, Y))
low(N, nil) -> nil
low(N, cons(M, L)) -> iflow(le(M, N), N, cons(M, L))
iflow(true, N, cons(M, L)) -> cons(M, low(N, L))
iflow(false, N, cons(M, L)) -> low(N, L)
high(N, nil) -> nil
high(N, cons(M, L)) -> ifhigh(le(M, N), N, cons(M, L))
ifhigh(true, N, cons(M, L)) -> high(N, L)
ifhigh(false, N, cons(M, L)) -> cons(M, high(N, L))
quicksort(nil) -> nil
quicksort(cons(N, L)) -> app(quicksort(low(N, L)), cons(N, quicksort(high(N, L))))
innermost
three new Dependency Pairs are created:
HIGH(0, cons(s(X'), L)) -> IFHIGH(false, 0, cons(s(X'), L))
HIGH(0, cons(s(X''), cons(s(X''''''), L'''''))) -> IFHIGH(false, 0, cons(s(X''), cons(s(X''''''), L''''')))
HIGH(0, cons(s(X''), cons(0, cons(0, L''''''''')))) -> IFHIGH(false, 0, cons(s(X''), cons(0, cons(0, L'''''''''))))
HIGH(0, cons(s(X''), cons(0, cons(s(X'''''''''), L''''''''')))) -> IFHIGH(false, 0, cons(s(X''), cons(0, cons(s(X'''''''''), L'''''''''))))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Nar
→DP Problem 4
↳Nar
→DP Problem 25
↳Nar
...
→DP Problem 34
↳Forward Instantiation Transformation
→DP Problem 5
↳Nar
IFHIGH(true, s(s(Y'''''''')), cons(s(0), cons(0, cons(s(s(X'''''''')), L''''''')))) -> HIGH(s(s(Y'''''''')), cons(0, cons(s(s(X'''''''')), L''''''')))
IFHIGH(true, s(0), cons(s(0), cons(0, cons(s(s(X'''''''')), L''''''')))) -> HIGH(s(0), cons(0, cons(s(s(X'''''''')), L''''''')))
IFHIGH(true, s(Y'''''), cons(s(0), cons(0, cons(s(0), L''''''')))) -> HIGH(s(Y'''''), cons(0, cons(s(0), L''''''')))
IFHIGH(true, s(Y'''''), cons(s(0), cons(0, cons(0, L''''''')))) -> HIGH(s(Y'''''), cons(0, cons(0, L''''''')))
IFHIGH(true, s(s(Y''''')), cons(s(0), cons(s(s(X'''')), L'''))) -> HIGH(s(s(Y''''')), cons(s(s(X'''')), L'''))
IFHIGH(true, s(s(Y''''')), cons(s(s(X'''')), cons(0, cons(s(s(X'''''''')), L''''''')))) -> HIGH(s(s(Y''''')), cons(0, cons(s(s(X'''''''')), L''''''')))
IFHIGH(true, s(s(Y''''')), cons(s(s(X'''')), cons(0, cons(0, L''''''')))) -> HIGH(s(s(Y''''')), cons(0, cons(0, L''''''')))
IFHIGH(true, s(s(Y''''')), cons(s(s(X'''')), cons(s(s(X'''')), L'''))) -> HIGH(s(s(Y''''')), cons(s(s(X'''')), L'''))
IFHIGH(true, s(s(Y''''')), cons(s(s(X'''')), cons(s(0), L'''))) -> HIGH(s(s(Y''''')), cons(s(0), L'''))
IFHIGH(false, s(s(Y'''')), cons(s(s(X'''')), L'')) -> HIGH(s(s(Y'''')), L'')
HIGH(s(s(Y'')), cons(s(s(X'')), L)) -> IFHIGH(le(X'', Y''), s(s(Y'')), cons(s(s(X'')), L))
IFHIGH(true, s(s(Y'''')), cons(0, cons(s(s(X'''')), L'''))) -> HIGH(s(s(Y'''')), cons(s(s(X'''')), L'''))
HIGH(s(s(Y'''''')), cons(0, cons(s(s(X'''''')), L'''''))) -> IFHIGH(true, s(s(Y'''''')), cons(0, cons(s(s(X'''''')), L''''')))
IFHIGH(true, s(0), cons(0, cons(s(s(X'''')), L'''))) -> HIGH(s(0), cons(s(s(X'''')), L'''))
HIGH(s(0), cons(0, cons(s(s(X'''''')), L'''''))) -> IFHIGH(true, s(0), cons(0, cons(s(s(X'''''')), L''''')))
IFHIGH(false, 0, cons(s(X'''), cons(0, cons(s(X'''''''), L''''''')))) -> HIGH(0, cons(0, cons(s(X'''''''), L''''''')))
HIGH(0, cons(s(X''), cons(0, cons(s(X'''''''''), L''''''''')))) -> IFHIGH(false, 0, cons(s(X''), cons(0, cons(s(X'''''''''), L'''''''''))))
IFHIGH(false, 0, cons(s(X'''), cons(0, cons(0, L''''''')))) -> HIGH(0, cons(0, cons(0, L''''''')))
HIGH(0, cons(s(X''), cons(0, cons(0, L''''''''')))) -> IFHIGH(false, 0, cons(s(X''), cons(0, cons(0, L'''''''''))))
IFHIGH(false, 0, cons(s(X'''), cons(s(X'''), L'''))) -> HIGH(0, cons(s(X'''), L'''))
HIGH(0, cons(s(X''), cons(s(X''''''), L'''''))) -> IFHIGH(false, 0, cons(s(X''), cons(s(X''''''), L''''')))
IFHIGH(true, 0, cons(0, cons(s(X'''), L'''))) -> HIGH(0, cons(s(X'''), L'''))
HIGH(0, cons(0, cons(s(X'''''), L'''''))) -> IFHIGH(true, 0, cons(0, cons(s(X'''''), L''''')))
IFHIGH(true, N''', cons(0, cons(0, L'''))) -> HIGH(N''', cons(0, L'''))
HIGH(N'', cons(0, cons(0, L'''''))) -> IFHIGH(true, N'', cons(0, cons(0, L''''')))
IFHIGH(false, s(0), cons(s(s(X'''')), L'')) -> HIGH(s(0), L'')
HIGH(s(0), cons(s(s(X'')), L)) -> IFHIGH(false, s(0), cons(s(s(X'')), L))
IFHIGH(true, s(0), cons(s(0), cons(s(s(X'''')), L'''))) -> HIGH(s(0), cons(s(s(X'''')), L'''))
IFHIGH(true, s(Y'''''), cons(s(0), cons(s(0), L'''))) -> HIGH(s(Y'''''), cons(s(0), L'''))
HIGH(s(Y''), cons(s(0), L)) -> IFHIGH(true, s(Y''), cons(s(0), L))
IFHIGH(true, s(Y''''), cons(0, cons(s(0), L'''))) -> HIGH(s(Y''''), cons(s(0), L'''))
HIGH(s(Y''''''), cons(0, cons(s(0), L'''''))) -> IFHIGH(true, s(Y''''''), cons(0, cons(s(0), L''''')))
IFHIGH(true, s(s(Y''''')), cons(s(s(X'''')), cons(0, cons(s(0), L''''''')))) -> HIGH(s(s(Y''''')), cons(0, cons(s(0), L''''''')))
le(0, Y) -> true
le(s(X), 0) -> false
le(s(X), s(Y)) -> le(X, Y)
app(nil, Y) -> Y
app(cons(N, L), Y) -> cons(N, app(L, Y))
low(N, nil) -> nil
low(N, cons(M, L)) -> iflow(le(M, N), N, cons(M, L))
iflow(true, N, cons(M, L)) -> cons(M, low(N, L))
iflow(false, N, cons(M, L)) -> low(N, L)
high(N, nil) -> nil
high(N, cons(M, L)) -> ifhigh(le(M, N), N, cons(M, L))
ifhigh(true, N, cons(M, L)) -> high(N, L)
ifhigh(false, N, cons(M, L)) -> cons(M, high(N, L))
quicksort(nil) -> nil
quicksort(cons(N, L)) -> app(quicksort(low(N, L)), cons(N, quicksort(high(N, L))))
innermost
five new Dependency Pairs are created:
IFHIGH(false, s(0), cons(s(s(X'''')), L'')) -> HIGH(s(0), L'')
IFHIGH(false, s(0), cons(s(s(X'''')), cons(s(0), L'''))) -> HIGH(s(0), cons(s(0), L'''))
IFHIGH(false, s(0), cons(s(s(X'''')), cons(s(s(X'''')), L'''))) -> HIGH(s(0), cons(s(s(X'''')), L'''))
IFHIGH(false, s(0), cons(s(s(X'''')), cons(0, cons(0, L''''''')))) -> HIGH(s(0), cons(0, cons(0, L''''''')))
IFHIGH(false, s(0), cons(s(s(X'''')), cons(0, cons(s(0), L''''''')))) -> HIGH(s(0), cons(0, cons(s(0), L''''''')))
IFHIGH(false, s(0), cons(s(s(X'''')), cons(0, cons(s(s(X'''''''')), L''''''')))) -> HIGH(s(0), cons(0, cons(s(s(X'''''''')), L''''''')))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Nar
→DP Problem 4
↳Nar
→DP Problem 25
↳Nar
...
→DP Problem 35
↳Forward Instantiation Transformation
→DP Problem 5
↳Nar
IFHIGH(true, s(s(Y''''')), cons(s(s(X'''')), cons(0, cons(s(s(X'''''''')), L''''''')))) -> HIGH(s(s(Y''''')), cons(0, cons(s(s(X'''''''')), L''''''')))
IFHIGH(true, s(s(Y''''')), cons(s(s(X'''')), cons(0, cons(s(0), L''''''')))) -> HIGH(s(s(Y''''')), cons(0, cons(s(0), L''''''')))
IFHIGH(true, s(s(Y''''')), cons(s(s(X'''')), cons(0, cons(0, L''''''')))) -> HIGH(s(s(Y''''')), cons(0, cons(0, L''''''')))
IFHIGH(true, s(s(Y''''')), cons(s(s(X'''')), cons(s(s(X'''')), L'''))) -> HIGH(s(s(Y''''')), cons(s(s(X'''')), L'''))
IFHIGH(true, s(s(Y''''')), cons(s(s(X'''')), cons(s(0), L'''))) -> HIGH(s(s(Y''''')), cons(s(0), L'''))
IFHIGH(true, s(0), cons(s(0), cons(0, cons(s(s(X'''''''')), L''''''')))) -> HIGH(s(0), cons(0, cons(s(s(X'''''''')), L''''''')))
IFHIGH(true, s(Y'''''), cons(s(0), cons(0, cons(s(0), L''''''')))) -> HIGH(s(Y'''''), cons(0, cons(s(0), L''''''')))
IFHIGH(true, s(Y'''''), cons(s(0), cons(0, cons(0, L''''''')))) -> HIGH(s(Y'''''), cons(0, cons(0, L''''''')))
IFHIGH(true, s(s(Y''''')), cons(s(0), cons(s(s(X'''')), L'''))) -> HIGH(s(s(Y''''')), cons(s(s(X'''')), L'''))
IFHIGH(false, s(0), cons(s(s(X'''')), cons(0, cons(s(s(X'''''''')), L''''''')))) -> HIGH(s(0), cons(0, cons(s(s(X'''''''')), L''''''')))
IFHIGH(false, s(0), cons(s(s(X'''')), cons(0, cons(s(0), L''''''')))) -> HIGH(s(0), cons(0, cons(s(0), L''''''')))
IFHIGH(true, s(0), cons(0, cons(s(s(X'''')), L'''))) -> HIGH(s(0), cons(s(s(X'''')), L'''))
HIGH(s(0), cons(0, cons(s(s(X'''''')), L'''''))) -> IFHIGH(true, s(0), cons(0, cons(s(s(X'''''')), L''''')))
IFHIGH(true, s(Y''''), cons(0, cons(s(0), L'''))) -> HIGH(s(Y''''), cons(s(0), L'''))
HIGH(s(Y''''''), cons(0, cons(s(0), L'''''))) -> IFHIGH(true, s(Y''''''), cons(0, cons(s(0), L''''')))
IFHIGH(false, 0, cons(s(X'''), cons(0, cons(s(X'''''''), L''''''')))) -> HIGH(0, cons(0, cons(s(X'''''''), L''''''')))
HIGH(0, cons(s(X''), cons(0, cons(s(X'''''''''), L''''''''')))) -> IFHIGH(false, 0, cons(s(X''), cons(0, cons(s(X'''''''''), L'''''''''))))
IFHIGH(false, 0, cons(s(X'''), cons(0, cons(0, L''''''')))) -> HIGH(0, cons(0, cons(0, L''''''')))
HIGH(0, cons(s(X''), cons(0, cons(0, L''''''''')))) -> IFHIGH(false, 0, cons(s(X''), cons(0, cons(0, L'''''''''))))
IFHIGH(false, 0, cons(s(X'''), cons(s(X'''), L'''))) -> HIGH(0, cons(s(X'''), L'''))
HIGH(0, cons(s(X''), cons(s(X''''''), L'''''))) -> IFHIGH(false, 0, cons(s(X''), cons(s(X''''''), L''''')))
IFHIGH(true, 0, cons(0, cons(s(X'''), L'''))) -> HIGH(0, cons(s(X'''), L'''))
HIGH(0, cons(0, cons(s(X'''''), L'''''))) -> IFHIGH(true, 0, cons(0, cons(s(X'''''), L''''')))
IFHIGH(true, N''', cons(0, cons(0, L'''))) -> HIGH(N''', cons(0, L'''))
HIGH(N'', cons(0, cons(0, L'''''))) -> IFHIGH(true, N'', cons(0, cons(0, L''''')))
IFHIGH(false, s(0), cons(s(s(X'''')), cons(0, cons(0, L''''''')))) -> HIGH(s(0), cons(0, cons(0, L''''''')))
IFHIGH(false, s(0), cons(s(s(X'''')), cons(s(s(X'''')), L'''))) -> HIGH(s(0), cons(s(s(X'''')), L'''))
IFHIGH(false, s(0), cons(s(s(X'''')), cons(s(0), L'''))) -> HIGH(s(0), cons(s(0), L'''))
HIGH(s(0), cons(s(s(X'')), L)) -> IFHIGH(false, s(0), cons(s(s(X'')), L))
IFHIGH(true, s(0), cons(s(0), cons(s(s(X'''')), L'''))) -> HIGH(s(0), cons(s(s(X'''')), L'''))
IFHIGH(true, s(Y'''''), cons(s(0), cons(s(0), L'''))) -> HIGH(s(Y'''''), cons(s(0), L'''))
HIGH(s(Y''), cons(s(0), L)) -> IFHIGH(true, s(Y''), cons(s(0), L))
IFHIGH(false, s(s(Y'''')), cons(s(s(X'''')), L'')) -> HIGH(s(s(Y'''')), L'')
HIGH(s(s(Y'')), cons(s(s(X'')), L)) -> IFHIGH(le(X'', Y''), s(s(Y'')), cons(s(s(X'')), L))
IFHIGH(true, s(s(Y'''')), cons(0, cons(s(s(X'''')), L'''))) -> HIGH(s(s(Y'''')), cons(s(s(X'''')), L'''))
HIGH(s(s(Y'''''')), cons(0, cons(s(s(X'''''')), L'''''))) -> IFHIGH(true, s(s(Y'''''')), cons(0, cons(s(s(X'''''')), L''''')))
IFHIGH(true, s(s(Y'''''''')), cons(s(0), cons(0, cons(s(s(X'''''''')), L''''''')))) -> HIGH(s(s(Y'''''''')), cons(0, cons(s(s(X'''''''')), L''''''')))
le(0, Y) -> true
le(s(X), 0) -> false
le(s(X), s(Y)) -> le(X, Y)
app(nil, Y) -> Y
app(cons(N, L), Y) -> cons(N, app(L, Y))
low(N, nil) -> nil
low(N, cons(M, L)) -> iflow(le(M, N), N, cons(M, L))
iflow(true, N, cons(M, L)) -> cons(M, low(N, L))
iflow(false, N, cons(M, L)) -> low(N, L)
high(N, nil) -> nil
high(N, cons(M, L)) -> ifhigh(le(M, N), N, cons(M, L))
ifhigh(true, N, cons(M, L)) -> high(N, L)
ifhigh(false, N, cons(M, L)) -> cons(M, high(N, L))
quicksort(nil) -> nil
quicksort(cons(N, L)) -> app(quicksort(low(N, L)), cons(N, quicksort(high(N, L))))
innermost
five new Dependency Pairs are created:
IFHIGH(false, s(s(Y'''')), cons(s(s(X'''')), L'')) -> HIGH(s(s(Y'''')), L'')
IFHIGH(false, s(s(Y''''')), cons(s(s(X'''')), cons(s(0), L'''))) -> HIGH(s(s(Y''''')), cons(s(0), L'''))
IFHIGH(false, s(s(Y''''')), cons(s(s(X'''')), cons(s(s(X'''')), L'''))) -> HIGH(s(s(Y''''')), cons(s(s(X'''')), L'''))
IFHIGH(false, s(s(Y''''')), cons(s(s(X'''')), cons(0, cons(0, L''''''')))) -> HIGH(s(s(Y''''')), cons(0, cons(0, L''''''')))
IFHIGH(false, s(s(Y''''')), cons(s(s(X'''')), cons(0, cons(s(0), L''''''')))) -> HIGH(s(s(Y''''')), cons(0, cons(s(0), L''''''')))
IFHIGH(false, s(s(Y''''')), cons(s(s(X'''')), cons(0, cons(s(s(X'''''''')), L''''''')))) -> HIGH(s(s(Y''''')), cons(0, cons(s(s(X'''''''')), L''''''')))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Nar
→DP Problem 4
↳Nar
→DP Problem 25
↳Nar
...
→DP Problem 36
↳Argument Filtering and Ordering
→DP Problem 5
↳Nar
IFHIGH(false, s(s(Y''''')), cons(s(s(X'''')), cons(0, cons(s(s(X'''''''')), L''''''')))) -> HIGH(s(s(Y''''')), cons(0, cons(s(s(X'''''''')), L''''''')))
IFHIGH(false, s(s(Y''''')), cons(s(s(X'''')), cons(0, cons(s(0), L''''''')))) -> HIGH(s(s(Y''''')), cons(0, cons(s(0), L''''''')))
IFHIGH(false, s(s(Y''''')), cons(s(s(X'''')), cons(0, cons(0, L''''''')))) -> HIGH(s(s(Y''''')), cons(0, cons(0, L''''''')))
IFHIGH(false, s(s(Y''''')), cons(s(s(X'''')), cons(s(s(X'''')), L'''))) -> HIGH(s(s(Y''''')), cons(s(s(X'''')), L'''))
IFHIGH(false, s(s(Y''''')), cons(s(s(X'''')), cons(s(0), L'''))) -> HIGH(s(s(Y''''')), cons(s(0), L'''))
IFHIGH(true, s(s(Y''''')), cons(s(s(X'''')), cons(0, cons(s(0), L''''''')))) -> HIGH(s(s(Y''''')), cons(0, cons(s(0), L''''''')))
IFHIGH(true, s(s(Y''''')), cons(s(s(X'''')), cons(0, cons(0, L''''''')))) -> HIGH(s(s(Y''''')), cons(0, cons(0, L''''''')))
IFHIGH(true, s(s(Y''''')), cons(s(s(X'''')), cons(s(s(X'''')), L'''))) -> HIGH(s(s(Y''''')), cons(s(s(X'''')), L'''))
IFHIGH(true, s(s(Y'''''''')), cons(s(0), cons(0, cons(s(s(X'''''''')), L''''''')))) -> HIGH(s(s(Y'''''''')), cons(0, cons(s(s(X'''''''')), L''''''')))
IFHIGH(true, s(0), cons(s(0), cons(0, cons(s(s(X'''''''')), L''''''')))) -> HIGH(s(0), cons(0, cons(s(s(X'''''''')), L''''''')))
IFHIGH(true, s(Y'''''), cons(s(0), cons(0, cons(s(0), L''''''')))) -> HIGH(s(Y'''''), cons(0, cons(s(0), L''''''')))
IFHIGH(true, s(Y'''''), cons(s(0), cons(0, cons(0, L''''''')))) -> HIGH(s(Y'''''), cons(0, cons(0, L''''''')))
IFHIGH(true, s(s(Y''''')), cons(s(0), cons(s(s(X'''')), L'''))) -> HIGH(s(s(Y''''')), cons(s(s(X'''')), L'''))
IFHIGH(false, s(0), cons(s(s(X'''')), cons(0, cons(s(s(X'''''''')), L''''''')))) -> HIGH(s(0), cons(0, cons(s(s(X'''''''')), L''''''')))
IFHIGH(false, s(0), cons(s(s(X'''')), cons(0, cons(s(0), L''''''')))) -> HIGH(s(0), cons(0, cons(s(0), L''''''')))
IFHIGH(true, s(0), cons(0, cons(s(s(X'''')), L'''))) -> HIGH(s(0), cons(s(s(X'''')), L'''))
HIGH(s(0), cons(0, cons(s(s(X'''''')), L'''''))) -> IFHIGH(true, s(0), cons(0, cons(s(s(X'''''')), L''''')))
IFHIGH(true, s(Y''''), cons(0, cons(s(0), L'''))) -> HIGH(s(Y''''), cons(s(0), L'''))
HIGH(s(Y''''''), cons(0, cons(s(0), L'''''))) -> IFHIGH(true, s(Y''''''), cons(0, cons(s(0), L''''')))
IFHIGH(false, 0, cons(s(X'''), cons(0, cons(s(X'''''''), L''''''')))) -> HIGH(0, cons(0, cons(s(X'''''''), L''''''')))
HIGH(0, cons(s(X''), cons(0, cons(s(X'''''''''), L''''''''')))) -> IFHIGH(false, 0, cons(s(X''), cons(0, cons(s(X'''''''''), L'''''''''))))
IFHIGH(false, 0, cons(s(X'''), cons(0, cons(0, L''''''')))) -> HIGH(0, cons(0, cons(0, L''''''')))
HIGH(0, cons(s(X''), cons(0, cons(0, L''''''''')))) -> IFHIGH(false, 0, cons(s(X''), cons(0, cons(0, L'''''''''))))
IFHIGH(false, 0, cons(s(X'''), cons(s(X'''), L'''))) -> HIGH(0, cons(s(X'''), L'''))
HIGH(0, cons(s(X''), cons(s(X''''''), L'''''))) -> IFHIGH(false, 0, cons(s(X''), cons(s(X''''''), L''''')))
IFHIGH(true, 0, cons(0, cons(s(X'''), L'''))) -> HIGH(0, cons(s(X'''), L'''))
HIGH(0, cons(0, cons(s(X'''''), L'''''))) -> IFHIGH(true, 0, cons(0, cons(s(X'''''), L''''')))
IFHIGH(true, N''', cons(0, cons(0, L'''))) -> HIGH(N''', cons(0, L'''))
HIGH(N'', cons(0, cons(0, L'''''))) -> IFHIGH(true, N'', cons(0, cons(0, L''''')))
IFHIGH(false, s(0), cons(s(s(X'''')), cons(0, cons(0, L''''''')))) -> HIGH(s(0), cons(0, cons(0, L''''''')))
IFHIGH(false, s(0), cons(s(s(X'''')), cons(s(s(X'''')), L'''))) -> HIGH(s(0), cons(s(s(X'''')), L'''))
IFHIGH(false, s(0), cons(s(s(X'''')), cons(s(0), L'''))) -> HIGH(s(0), cons(s(0), L'''))
HIGH(s(0), cons(s(s(X'')), L)) -> IFHIGH(false, s(0), cons(s(s(X'')), L))
IFHIGH(true, s(0), cons(s(0), cons(s(s(X'''')), L'''))) -> HIGH(s(0), cons(s(s(X'''')), L'''))
IFHIGH(true, s(Y'''''), cons(s(0), cons(s(0), L'''))) -> HIGH(s(Y'''''), cons(s(0), L'''))
HIGH(s(Y''), cons(s(0), L)) -> IFHIGH(true, s(Y''), cons(s(0), L))
IFHIGH(true, s(s(Y''''')), cons(s(s(X'''')), cons(s(0), L'''))) -> HIGH(s(s(Y''''')), cons(s(0), L'''))
HIGH(s(s(Y'')), cons(s(s(X'')), L)) -> IFHIGH(le(X'', Y''), s(s(Y'')), cons(s(s(X'')), L))
IFHIGH(true, s(s(Y'''')), cons(0, cons(s(s(X'''')), L'''))) -> HIGH(s(s(Y'''')), cons(s(s(X'''')), L'''))
HIGH(s(s(Y'''''')), cons(0, cons(s(s(X'''''')), L'''''))) -> IFHIGH(true, s(s(Y'''''')), cons(0, cons(s(s(X'''''')), L''''')))
IFHIGH(true, s(s(Y''''')), cons(s(s(X'''')), cons(0, cons(s(s(X'''''''')), L''''''')))) -> HIGH(s(s(Y''''')), cons(0, cons(s(s(X'''''''')), L''''''')))
le(0, Y) -> true
le(s(X), 0) -> false
le(s(X), s(Y)) -> le(X, Y)
app(nil, Y) -> Y
app(cons(N, L), Y) -> cons(N, app(L, Y))
low(N, nil) -> nil
low(N, cons(M, L)) -> iflow(le(M, N), N, cons(M, L))
iflow(true, N, cons(M, L)) -> cons(M, low(N, L))
iflow(false, N, cons(M, L)) -> low(N, L)
high(N, nil) -> nil
high(N, cons(M, L)) -> ifhigh(le(M, N), N, cons(M, L))
ifhigh(true, N, cons(M, L)) -> high(N, L)
ifhigh(false, N, cons(M, L)) -> cons(M, high(N, L))
quicksort(nil) -> nil
quicksort(cons(N, L)) -> app(quicksort(low(N, L)), cons(N, quicksort(high(N, L))))
innermost
IFHIGH(false, s(s(Y''''')), cons(s(s(X'''')), cons(0, cons(s(s(X'''''''')), L''''''')))) -> HIGH(s(s(Y''''')), cons(0, cons(s(s(X'''''''')), L''''''')))
IFHIGH(false, s(s(Y''''')), cons(s(s(X'''')), cons(0, cons(s(0), L''''''')))) -> HIGH(s(s(Y''''')), cons(0, cons(s(0), L''''''')))
IFHIGH(false, s(s(Y''''')), cons(s(s(X'''')), cons(0, cons(0, L''''''')))) -> HIGH(s(s(Y''''')), cons(0, cons(0, L''''''')))
IFHIGH(false, s(s(Y''''')), cons(s(s(X'''')), cons(s(s(X'''')), L'''))) -> HIGH(s(s(Y''''')), cons(s(s(X'''')), L'''))
IFHIGH(false, s(s(Y''''')), cons(s(s(X'''')), cons(s(0), L'''))) -> HIGH(s(s(Y''''')), cons(s(0), L'''))
IFHIGH(true, s(s(Y''''')), cons(s(s(X'''')), cons(0, cons(s(0), L''''''')))) -> HIGH(s(s(Y''''')), cons(0, cons(s(0), L''''''')))
IFHIGH(true, s(s(Y''''')), cons(s(s(X'''')), cons(0, cons(0, L''''''')))) -> HIGH(s(s(Y''''')), cons(0, cons(0, L''''''')))
IFHIGH(true, s(s(Y''''')), cons(s(s(X'''')), cons(s(s(X'''')), L'''))) -> HIGH(s(s(Y''''')), cons(s(s(X'''')), L'''))
IFHIGH(true, s(s(Y'''''''')), cons(s(0), cons(0, cons(s(s(X'''''''')), L''''''')))) -> HIGH(s(s(Y'''''''')), cons(0, cons(s(s(X'''''''')), L''''''')))
IFHIGH(true, s(0), cons(s(0), cons(0, cons(s(s(X'''''''')), L''''''')))) -> HIGH(s(0), cons(0, cons(s(s(X'''''''')), L''''''')))
IFHIGH(true, s(Y'''''), cons(s(0), cons(0, cons(s(0), L''''''')))) -> HIGH(s(Y'''''), cons(0, cons(s(0), L''''''')))
IFHIGH(true, s(Y'''''), cons(s(0), cons(0, cons(0, L''''''')))) -> HIGH(s(Y'''''), cons(0, cons(0, L''''''')))
IFHIGH(true, s(s(Y''''')), cons(s(0), cons(s(s(X'''')), L'''))) -> HIGH(s(s(Y''''')), cons(s(s(X'''')), L'''))
IFHIGH(false, s(0), cons(s(s(X'''')), cons(0, cons(s(s(X'''''''')), L''''''')))) -> HIGH(s(0), cons(0, cons(s(s(X'''''''')), L''''''')))
IFHIGH(false, s(0), cons(s(s(X'''')), cons(0, cons(s(0), L''''''')))) -> HIGH(s(0), cons(0, cons(s(0), L''''''')))
IFHIGH(true, s(0), cons(0, cons(s(s(X'''')), L'''))) -> HIGH(s(0), cons(s(s(X'''')), L'''))
IFHIGH(true, s(Y''''), cons(0, cons(s(0), L'''))) -> HIGH(s(Y''''), cons(s(0), L'''))
IFHIGH(false, 0, cons(s(X'''), cons(0, cons(s(X'''''''), L''''''')))) -> HIGH(0, cons(0, cons(s(X'''''''), L''''''')))
IFHIGH(false, 0, cons(s(X'''), cons(0, cons(0, L''''''')))) -> HIGH(0, cons(0, cons(0, L''''''')))
IFHIGH(false, 0, cons(s(X'''), cons(s(X'''), L'''))) -> HIGH(0, cons(s(X'''), L'''))
IFHIGH(true, 0, cons(0, cons(s(X'''), L'''))) -> HIGH(0, cons(s(X'''), L'''))
IFHIGH(true, N''', cons(0, cons(0, L'''))) -> HIGH(N''', cons(0, L'''))
IFHIGH(false, s(0), cons(s(s(X'''')), cons(0, cons(0, L''''''')))) -> HIGH(s(0), cons(0, cons(0, L''''''')))
IFHIGH(false, s(0), cons(s(s(X'''')), cons(s(s(X'''')), L'''))) -> HIGH(s(0), cons(s(s(X'''')), L'''))
IFHIGH(false, s(0), cons(s(s(X'''')), cons(s(0), L'''))) -> HIGH(s(0), cons(s(0), L'''))
IFHIGH(true, s(0), cons(s(0), cons(s(s(X'''')), L'''))) -> HIGH(s(0), cons(s(s(X'''')), L'''))
IFHIGH(true, s(Y'''''), cons(s(0), cons(s(0), L'''))) -> HIGH(s(Y'''''), cons(s(0), L'''))
IFHIGH(true, s(s(Y''''')), cons(s(s(X'''')), cons(s(0), L'''))) -> HIGH(s(s(Y''''')), cons(s(0), L'''))
IFHIGH(true, s(s(Y'''')), cons(0, cons(s(s(X'''')), L'''))) -> HIGH(s(s(Y'''')), cons(s(s(X'''')), L'''))
IFHIGH(true, s(s(Y''''')), cons(s(s(X'''')), cons(0, cons(s(s(X'''''''')), L''''''')))) -> HIGH(s(s(Y''''')), cons(0, cons(s(s(X'''''''')), L''''''')))
IFHIGH(x1, x2, x3) -> x3
cons(x1, x2) -> cons(x1, x2)
HIGH(x1, x2) -> x2
s(x1) -> s(x1)
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Nar
→DP Problem 4
↳Nar
→DP Problem 25
↳Nar
...
→DP Problem 37
↳Dependency Graph
→DP Problem 5
↳Nar
HIGH(s(0), cons(0, cons(s(s(X'''''')), L'''''))) -> IFHIGH(true, s(0), cons(0, cons(s(s(X'''''')), L''''')))
HIGH(s(Y''''''), cons(0, cons(s(0), L'''''))) -> IFHIGH(true, s(Y''''''), cons(0, cons(s(0), L''''')))
HIGH(0, cons(s(X''), cons(0, cons(s(X'''''''''), L''''''''')))) -> IFHIGH(false, 0, cons(s(X''), cons(0, cons(s(X'''''''''), L'''''''''))))
HIGH(0, cons(s(X''), cons(0, cons(0, L''''''''')))) -> IFHIGH(false, 0, cons(s(X''), cons(0, cons(0, L'''''''''))))
HIGH(0, cons(s(X''), cons(s(X''''''), L'''''))) -> IFHIGH(false, 0, cons(s(X''), cons(s(X''''''), L''''')))
HIGH(0, cons(0, cons(s(X'''''), L'''''))) -> IFHIGH(true, 0, cons(0, cons(s(X'''''), L''''')))
HIGH(N'', cons(0, cons(0, L'''''))) -> IFHIGH(true, N'', cons(0, cons(0, L''''')))
HIGH(s(0), cons(s(s(X'')), L)) -> IFHIGH(false, s(0), cons(s(s(X'')), L))
HIGH(s(Y''), cons(s(0), L)) -> IFHIGH(true, s(Y''), cons(s(0), L))
HIGH(s(s(Y'')), cons(s(s(X'')), L)) -> IFHIGH(le(X'', Y''), s(s(Y'')), cons(s(s(X'')), L))
HIGH(s(s(Y'''''')), cons(0, cons(s(s(X'''''')), L'''''))) -> IFHIGH(true, s(s(Y'''''')), cons(0, cons(s(s(X'''''')), L''''')))
le(0, Y) -> true
le(s(X), 0) -> false
le(s(X), s(Y)) -> le(X, Y)
app(nil, Y) -> Y
app(cons(N, L), Y) -> cons(N, app(L, Y))
low(N, nil) -> nil
low(N, cons(M, L)) -> iflow(le(M, N), N, cons(M, L))
iflow(true, N, cons(M, L)) -> cons(M, low(N, L))
iflow(false, N, cons(M, L)) -> low(N, L)
high(N, nil) -> nil
high(N, cons(M, L)) -> ifhigh(le(M, N), N, cons(M, L))
ifhigh(true, N, cons(M, L)) -> high(N, L)
ifhigh(false, N, cons(M, L)) -> cons(M, high(N, L))
quicksort(nil) -> nil
quicksort(cons(N, L)) -> app(quicksort(low(N, L)), cons(N, quicksort(high(N, L))))
innermost
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Nar
→DP Problem 4
↳Nar
→DP Problem 5
↳Narrowing Transformation
QUICKSORT(cons(N, L)) -> QUICKSORT(high(N, L))
QUICKSORT(cons(N, L)) -> QUICKSORT(low(N, L))
le(0, Y) -> true
le(s(X), 0) -> false
le(s(X), s(Y)) -> le(X, Y)
app(nil, Y) -> Y
app(cons(N, L), Y) -> cons(N, app(L, Y))
low(N, nil) -> nil
low(N, cons(M, L)) -> iflow(le(M, N), N, cons(M, L))
iflow(true, N, cons(M, L)) -> cons(M, low(N, L))
iflow(false, N, cons(M, L)) -> low(N, L)
high(N, nil) -> nil
high(N, cons(M, L)) -> ifhigh(le(M, N), N, cons(M, L))
ifhigh(true, N, cons(M, L)) -> high(N, L)
ifhigh(false, N, cons(M, L)) -> cons(M, high(N, L))
quicksort(nil) -> nil
quicksort(cons(N, L)) -> app(quicksort(low(N, L)), cons(N, quicksort(high(N, L))))
innermost
two new Dependency Pairs are created:
QUICKSORT(cons(N, L)) -> QUICKSORT(low(N, L))
QUICKSORT(cons(N'', nil)) -> QUICKSORT(nil)
QUICKSORT(cons(N'', cons(M', L''))) -> QUICKSORT(iflow(le(M', N''), N'', cons(M', L'')))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Nar
→DP Problem 4
↳Nar
→DP Problem 5
↳Nar
→DP Problem 38
↳Narrowing Transformation
QUICKSORT(cons(N'', cons(M', L''))) -> QUICKSORT(iflow(le(M', N''), N'', cons(M', L'')))
QUICKSORT(cons(N, L)) -> QUICKSORT(high(N, L))
le(0, Y) -> true
le(s(X), 0) -> false
le(s(X), s(Y)) -> le(X, Y)
app(nil, Y) -> Y
app(cons(N, L), Y) -> cons(N, app(L, Y))
low(N, nil) -> nil
low(N, cons(M, L)) -> iflow(le(M, N), N, cons(M, L))
iflow(true, N, cons(M, L)) -> cons(M, low(N, L))
iflow(false, N, cons(M, L)) -> low(N, L)
high(N, nil) -> nil
high(N, cons(M, L)) -> ifhigh(le(M, N), N, cons(M, L))
ifhigh(true, N, cons(M, L)) -> high(N, L)
ifhigh(false, N, cons(M, L)) -> cons(M, high(N, L))
quicksort(nil) -> nil
quicksort(cons(N, L)) -> app(quicksort(low(N, L)), cons(N, quicksort(high(N, L))))
innermost
two new Dependency Pairs are created:
QUICKSORT(cons(N, L)) -> QUICKSORT(high(N, L))
QUICKSORT(cons(N'', nil)) -> QUICKSORT(nil)
QUICKSORT(cons(N'', cons(M', L''))) -> QUICKSORT(ifhigh(le(M', N''), N'', cons(M', L'')))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Nar
→DP Problem 4
↳Nar
→DP Problem 5
↳Nar
→DP Problem 38
↳Nar
...
→DP Problem 39
↳Narrowing Transformation
QUICKSORT(cons(N'', cons(M', L''))) -> QUICKSORT(ifhigh(le(M', N''), N'', cons(M', L'')))
QUICKSORT(cons(N'', cons(M', L''))) -> QUICKSORT(iflow(le(M', N''), N'', cons(M', L'')))
le(0, Y) -> true
le(s(X), 0) -> false
le(s(X), s(Y)) -> le(X, Y)
app(nil, Y) -> Y
app(cons(N, L), Y) -> cons(N, app(L, Y))
low(N, nil) -> nil
low(N, cons(M, L)) -> iflow(le(M, N), N, cons(M, L))
iflow(true, N, cons(M, L)) -> cons(M, low(N, L))
iflow(false, N, cons(M, L)) -> low(N, L)
high(N, nil) -> nil
high(N, cons(M, L)) -> ifhigh(le(M, N), N, cons(M, L))
ifhigh(true, N, cons(M, L)) -> high(N, L)
ifhigh(false, N, cons(M, L)) -> cons(M, high(N, L))
quicksort(nil) -> nil
quicksort(cons(N, L)) -> app(quicksort(low(N, L)), cons(N, quicksort(high(N, L))))
innermost
three new Dependency Pairs are created:
QUICKSORT(cons(N'', cons(M', L''))) -> QUICKSORT(iflow(le(M', N''), N'', cons(M', L'')))
QUICKSORT(cons(N''', cons(0, L''))) -> QUICKSORT(iflow(true, N''', cons(0, L'')))
QUICKSORT(cons(0, cons(s(X'), L''))) -> QUICKSORT(iflow(false, 0, cons(s(X'), L'')))
QUICKSORT(cons(s(Y'), cons(s(X'), L''))) -> QUICKSORT(iflow(le(X', Y'), s(Y'), cons(s(X'), L'')))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Nar
→DP Problem 4
↳Nar
→DP Problem 5
↳Nar
→DP Problem 38
↳Nar
...
→DP Problem 40
↳Rewriting Transformation
QUICKSORT(cons(s(Y'), cons(s(X'), L''))) -> QUICKSORT(iflow(le(X', Y'), s(Y'), cons(s(X'), L'')))
QUICKSORT(cons(0, cons(s(X'), L''))) -> QUICKSORT(iflow(false, 0, cons(s(X'), L'')))
QUICKSORT(cons(N''', cons(0, L''))) -> QUICKSORT(iflow(true, N''', cons(0, L'')))
QUICKSORT(cons(N'', cons(M', L''))) -> QUICKSORT(ifhigh(le(M', N''), N'', cons(M', L'')))
le(0, Y) -> true
le(s(X), 0) -> false
le(s(X), s(Y)) -> le(X, Y)
app(nil, Y) -> Y
app(cons(N, L), Y) -> cons(N, app(L, Y))
low(N, nil) -> nil
low(N, cons(M, L)) -> iflow(le(M, N), N, cons(M, L))
iflow(true, N, cons(M, L)) -> cons(M, low(N, L))
iflow(false, N, cons(M, L)) -> low(N, L)
high(N, nil) -> nil
high(N, cons(M, L)) -> ifhigh(le(M, N), N, cons(M, L))
ifhigh(true, N, cons(M, L)) -> high(N, L)
ifhigh(false, N, cons(M, L)) -> cons(M, high(N, L))
quicksort(nil) -> nil
quicksort(cons(N, L)) -> app(quicksort(low(N, L)), cons(N, quicksort(high(N, L))))
innermost
one new Dependency Pair is created:
QUICKSORT(cons(N''', cons(0, L''))) -> QUICKSORT(iflow(true, N''', cons(0, L'')))
QUICKSORT(cons(N''', cons(0, L''))) -> QUICKSORT(cons(0, low(N''', L'')))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Nar
→DP Problem 4
↳Nar
→DP Problem 5
↳Nar
→DP Problem 38
↳Nar
...
→DP Problem 41
↳Rewriting Transformation
QUICKSORT(cons(N''', cons(0, L''))) -> QUICKSORT(cons(0, low(N''', L'')))
QUICKSORT(cons(0, cons(s(X'), L''))) -> QUICKSORT(iflow(false, 0, cons(s(X'), L'')))
QUICKSORT(cons(N'', cons(M', L''))) -> QUICKSORT(ifhigh(le(M', N''), N'', cons(M', L'')))
QUICKSORT(cons(s(Y'), cons(s(X'), L''))) -> QUICKSORT(iflow(le(X', Y'), s(Y'), cons(s(X'), L'')))
le(0, Y) -> true
le(s(X), 0) -> false
le(s(X), s(Y)) -> le(X, Y)
app(nil, Y) -> Y
app(cons(N, L), Y) -> cons(N, app(L, Y))
low(N, nil) -> nil
low(N, cons(M, L)) -> iflow(le(M, N), N, cons(M, L))
iflow(true, N, cons(M, L)) -> cons(M, low(N, L))
iflow(false, N, cons(M, L)) -> low(N, L)
high(N, nil) -> nil
high(N, cons(M, L)) -> ifhigh(le(M, N), N, cons(M, L))
ifhigh(true, N, cons(M, L)) -> high(N, L)
ifhigh(false, N, cons(M, L)) -> cons(M, high(N, L))
quicksort(nil) -> nil
quicksort(cons(N, L)) -> app(quicksort(low(N, L)), cons(N, quicksort(high(N, L))))
innermost
one new Dependency Pair is created:
QUICKSORT(cons(0, cons(s(X'), L''))) -> QUICKSORT(iflow(false, 0, cons(s(X'), L'')))
QUICKSORT(cons(0, cons(s(X'), L''))) -> QUICKSORT(low(0, L''))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Nar
→DP Problem 4
↳Nar
→DP Problem 5
↳Nar
→DP Problem 38
↳Nar
...
→DP Problem 42
↳Narrowing Transformation
QUICKSORT(cons(0, cons(s(X'), L''))) -> QUICKSORT(low(0, L''))
QUICKSORT(cons(s(Y'), cons(s(X'), L''))) -> QUICKSORT(iflow(le(X', Y'), s(Y'), cons(s(X'), L'')))
QUICKSORT(cons(N'', cons(M', L''))) -> QUICKSORT(ifhigh(le(M', N''), N'', cons(M', L'')))
QUICKSORT(cons(N''', cons(0, L''))) -> QUICKSORT(cons(0, low(N''', L'')))
le(0, Y) -> true
le(s(X), 0) -> false
le(s(X), s(Y)) -> le(X, Y)
app(nil, Y) -> Y
app(cons(N, L), Y) -> cons(N, app(L, Y))
low(N, nil) -> nil
low(N, cons(M, L)) -> iflow(le(M, N), N, cons(M, L))
iflow(true, N, cons(M, L)) -> cons(M, low(N, L))
iflow(false, N, cons(M, L)) -> low(N, L)
high(N, nil) -> nil
high(N, cons(M, L)) -> ifhigh(le(M, N), N, cons(M, L))
ifhigh(true, N, cons(M, L)) -> high(N, L)
ifhigh(false, N, cons(M, L)) -> cons(M, high(N, L))
quicksort(nil) -> nil
quicksort(cons(N, L)) -> app(quicksort(low(N, L)), cons(N, quicksort(high(N, L))))
innermost
three new Dependency Pairs are created:
QUICKSORT(cons(N'', cons(M', L''))) -> QUICKSORT(ifhigh(le(M', N''), N'', cons(M', L'')))
QUICKSORT(cons(N''', cons(0, L''))) -> QUICKSORT(ifhigh(true, N''', cons(0, L'')))
QUICKSORT(cons(0, cons(s(X'), L''))) -> QUICKSORT(ifhigh(false, 0, cons(s(X'), L'')))
QUICKSORT(cons(s(Y'), cons(s(X'), L''))) -> QUICKSORT(ifhigh(le(X', Y'), s(Y'), cons(s(X'), L'')))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Nar
→DP Problem 4
↳Nar
→DP Problem 5
↳Nar
→DP Problem 38
↳Nar
...
→DP Problem 43
↳Rewriting Transformation
QUICKSORT(cons(s(Y'), cons(s(X'), L''))) -> QUICKSORT(ifhigh(le(X', Y'), s(Y'), cons(s(X'), L'')))
QUICKSORT(cons(0, cons(s(X'), L''))) -> QUICKSORT(ifhigh(false, 0, cons(s(X'), L'')))
QUICKSORT(cons(N''', cons(0, L''))) -> QUICKSORT(ifhigh(true, N''', cons(0, L'')))
QUICKSORT(cons(N''', cons(0, L''))) -> QUICKSORT(cons(0, low(N''', L'')))
QUICKSORT(cons(s(Y'), cons(s(X'), L''))) -> QUICKSORT(iflow(le(X', Y'), s(Y'), cons(s(X'), L'')))
QUICKSORT(cons(0, cons(s(X'), L''))) -> QUICKSORT(low(0, L''))
le(0, Y) -> true
le(s(X), 0) -> false
le(s(X), s(Y)) -> le(X, Y)
app(nil, Y) -> Y
app(cons(N, L), Y) -> cons(N, app(L, Y))
low(N, nil) -> nil
low(N, cons(M, L)) -> iflow(le(M, N), N, cons(M, L))
iflow(true, N, cons(M, L)) -> cons(M, low(N, L))
iflow(false, N, cons(M, L)) -> low(N, L)
high(N, nil) -> nil
high(N, cons(M, L)) -> ifhigh(le(M, N), N, cons(M, L))
ifhigh(true, N, cons(M, L)) -> high(N, L)
ifhigh(false, N, cons(M, L)) -> cons(M, high(N, L))
quicksort(nil) -> nil
quicksort(cons(N, L)) -> app(quicksort(low(N, L)), cons(N, quicksort(high(N, L))))
innermost
one new Dependency Pair is created:
QUICKSORT(cons(N''', cons(0, L''))) -> QUICKSORT(ifhigh(true, N''', cons(0, L'')))
QUICKSORT(cons(N''', cons(0, L''))) -> QUICKSORT(high(N''', L''))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Nar
→DP Problem 4
↳Nar
→DP Problem 5
↳Nar
→DP Problem 38
↳Nar
...
→DP Problem 44
↳Rewriting Transformation
QUICKSORT(cons(N''', cons(0, L''))) -> QUICKSORT(high(N''', L''))
QUICKSORT(cons(0, cons(s(X'), L''))) -> QUICKSORT(ifhigh(false, 0, cons(s(X'), L'')))
QUICKSORT(cons(0, cons(s(X'), L''))) -> QUICKSORT(low(0, L''))
QUICKSORT(cons(N''', cons(0, L''))) -> QUICKSORT(cons(0, low(N''', L'')))
QUICKSORT(cons(s(Y'), cons(s(X'), L''))) -> QUICKSORT(iflow(le(X', Y'), s(Y'), cons(s(X'), L'')))
QUICKSORT(cons(s(Y'), cons(s(X'), L''))) -> QUICKSORT(ifhigh(le(X', Y'), s(Y'), cons(s(X'), L'')))
le(0, Y) -> true
le(s(X), 0) -> false
le(s(X), s(Y)) -> le(X, Y)
app(nil, Y) -> Y
app(cons(N, L), Y) -> cons(N, app(L, Y))
low(N, nil) -> nil
low(N, cons(M, L)) -> iflow(le(M, N), N, cons(M, L))
iflow(true, N, cons(M, L)) -> cons(M, low(N, L))
iflow(false, N, cons(M, L)) -> low(N, L)
high(N, nil) -> nil
high(N, cons(M, L)) -> ifhigh(le(M, N), N, cons(M, L))
ifhigh(true, N, cons(M, L)) -> high(N, L)
ifhigh(false, N, cons(M, L)) -> cons(M, high(N, L))
quicksort(nil) -> nil
quicksort(cons(N, L)) -> app(quicksort(low(N, L)), cons(N, quicksort(high(N, L))))
innermost
one new Dependency Pair is created:
QUICKSORT(cons(0, cons(s(X'), L''))) -> QUICKSORT(ifhigh(false, 0, cons(s(X'), L'')))
QUICKSORT(cons(0, cons(s(X'), L''))) -> QUICKSORT(cons(s(X'), high(0, L'')))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Nar
→DP Problem 4
↳Nar
→DP Problem 5
↳Nar
→DP Problem 38
↳Nar
...
→DP Problem 45
↳Argument Filtering and Ordering
QUICKSORT(cons(0, cons(s(X'), L''))) -> QUICKSORT(cons(s(X'), high(0, L'')))
QUICKSORT(cons(s(Y'), cons(s(X'), L''))) -> QUICKSORT(ifhigh(le(X', Y'), s(Y'), cons(s(X'), L'')))
QUICKSORT(cons(0, cons(s(X'), L''))) -> QUICKSORT(low(0, L''))
QUICKSORT(cons(N''', cons(0, L''))) -> QUICKSORT(cons(0, low(N''', L'')))
QUICKSORT(cons(s(Y'), cons(s(X'), L''))) -> QUICKSORT(iflow(le(X', Y'), s(Y'), cons(s(X'), L'')))
QUICKSORT(cons(N''', cons(0, L''))) -> QUICKSORT(high(N''', L''))
le(0, Y) -> true
le(s(X), 0) -> false
le(s(X), s(Y)) -> le(X, Y)
app(nil, Y) -> Y
app(cons(N, L), Y) -> cons(N, app(L, Y))
low(N, nil) -> nil
low(N, cons(M, L)) -> iflow(le(M, N), N, cons(M, L))
iflow(true, N, cons(M, L)) -> cons(M, low(N, L))
iflow(false, N, cons(M, L)) -> low(N, L)
high(N, nil) -> nil
high(N, cons(M, L)) -> ifhigh(le(M, N), N, cons(M, L))
ifhigh(true, N, cons(M, L)) -> high(N, L)
ifhigh(false, N, cons(M, L)) -> cons(M, high(N, L))
quicksort(nil) -> nil
quicksort(cons(N, L)) -> app(quicksort(low(N, L)), cons(N, quicksort(high(N, L))))
innermost
QUICKSORT(cons(0, cons(s(X'), L''))) -> QUICKSORT(cons(s(X'), high(0, L'')))
QUICKSORT(cons(s(Y'), cons(s(X'), L''))) -> QUICKSORT(ifhigh(le(X', Y'), s(Y'), cons(s(X'), L'')))
QUICKSORT(cons(0, cons(s(X'), L''))) -> QUICKSORT(low(0, L''))
QUICKSORT(cons(N''', cons(0, L''))) -> QUICKSORT(cons(0, low(N''', L'')))
QUICKSORT(cons(s(Y'), cons(s(X'), L''))) -> QUICKSORT(iflow(le(X', Y'), s(Y'), cons(s(X'), L'')))
QUICKSORT(cons(N''', cons(0, L''))) -> QUICKSORT(high(N''', L''))
iflow(true, N, cons(M, L)) -> cons(M, low(N, L))
iflow(false, N, cons(M, L)) -> low(N, L)
low(N, nil) -> nil
low(N, cons(M, L)) -> iflow(le(M, N), N, cons(M, L))
high(N, nil) -> nil
high(N, cons(M, L)) -> ifhigh(le(M, N), N, cons(M, L))
ifhigh(true, N, cons(M, L)) -> high(N, L)
ifhigh(false, N, cons(M, L)) -> cons(M, high(N, L))
QUICKSORT(x1) -> QUICKSORT(x1)
cons(x1, x2) -> cons(x1, x2)
low(x1, x2) -> x2
s(x1) -> s(x1)
ifhigh(x1, x2, x3) -> x3
high(x1, x2) -> x2
iflow(x1, x2, x3) -> x3
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Nar
→DP Problem 4
↳Nar
→DP Problem 5
↳Nar
→DP Problem 38
↳Nar
...
→DP Problem 46
↳Dependency Graph
le(0, Y) -> true
le(s(X), 0) -> false
le(s(X), s(Y)) -> le(X, Y)
app(nil, Y) -> Y
app(cons(N, L), Y) -> cons(N, app(L, Y))
low(N, nil) -> nil
low(N, cons(M, L)) -> iflow(le(M, N), N, cons(M, L))
iflow(true, N, cons(M, L)) -> cons(M, low(N, L))
iflow(false, N, cons(M, L)) -> low(N, L)
high(N, nil) -> nil
high(N, cons(M, L)) -> ifhigh(le(M, N), N, cons(M, L))
ifhigh(true, N, cons(M, L)) -> high(N, L)
ifhigh(false, N, cons(M, L)) -> cons(M, high(N, L))
quicksort(nil) -> nil
quicksort(cons(N, L)) -> app(quicksort(low(N, L)), cons(N, quicksort(high(N, L))))
innermost