R
↳Dependency Pair Analysis
FOLDF(x, cons(y, z)) -> F(foldf(x, z), y)
FOLDF(x, cons(y, z)) -> FOLDF(x, z)
F(t, x) -> F'(t, g(x))
F(t, x) -> G(x)
F'(triple(a, b, c), B) -> F(triple(a, b, c), A)
F'(triple(a, b, c), A) -> F''(foldf(triple(cons(A, a), nil, c), b))
F'(triple(a, b, c), A) -> FOLDF(triple(cons(A, a), nil, c), b)
F''(triple(a, b, c)) -> FOLDF(triple(a, b, nil), c)
R
↳DPs
→DP Problem 1
↳Narrowing Transformation
F'(triple(a, b, c), A) -> FOLDF(triple(cons(A, a), nil, c), b)
FOLDF(x, cons(y, z)) -> FOLDF(x, z)
F''(triple(a, b, c)) -> FOLDF(triple(a, b, nil), c)
F'(triple(a, b, c), A) -> F''(foldf(triple(cons(A, a), nil, c), b))
F'(triple(a, b, c), B) -> F(triple(a, b, c), A)
F(t, x) -> F'(t, g(x))
FOLDF(x, cons(y, z)) -> F(foldf(x, z), y)
g(A) -> A
g(B) -> A
g(B) -> B
g(C) -> A
g(C) -> B
g(C) -> C
foldf(x, nil) -> x
foldf(x, cons(y, z)) -> f(foldf(x, z), y)
f(t, x) -> f'(t, g(x))
f'(triple(a, b, c), C) -> triple(a, b, cons(C, c))
f'(triple(a, b, c), B) -> f(triple(a, b, c), A)
f'(triple(a, b, c), A) -> f''(foldf(triple(cons(A, a), nil, c), b))
f''(triple(a, b, c)) -> foldf(triple(a, b, nil), c)
innermost
six new Dependency Pairs are created:
F(t, x) -> F'(t, g(x))
F(t, A) -> F'(t, A)
F(t, B) -> F'(t, A)
F(t, B) -> F'(t, B)
F(t, C) -> F'(t, A)
F(t, C) -> F'(t, B)
F(t, C) -> F'(t, C)
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Narrowing Transformation
F(t, C) -> F'(t, B)
F(t, C) -> F'(t, A)
F'(triple(a, b, c), B) -> F(triple(a, b, c), A)
F(t, B) -> F'(t, B)
F(t, B) -> F'(t, A)
FOLDF(x, cons(y, z)) -> FOLDF(x, z)
F''(triple(a, b, c)) -> FOLDF(triple(a, b, nil), c)
F'(triple(a, b, c), A) -> F''(foldf(triple(cons(A, a), nil, c), b))
F(t, A) -> F'(t, A)
FOLDF(x, cons(y, z)) -> F(foldf(x, z), y)
F'(triple(a, b, c), A) -> FOLDF(triple(cons(A, a), nil, c), b)
g(A) -> A
g(B) -> A
g(B) -> B
g(C) -> A
g(C) -> B
g(C) -> C
foldf(x, nil) -> x
foldf(x, cons(y, z)) -> f(foldf(x, z), y)
f(t, x) -> f'(t, g(x))
f'(triple(a, b, c), C) -> triple(a, b, cons(C, c))
f'(triple(a, b, c), B) -> f(triple(a, b, c), A)
f'(triple(a, b, c), A) -> f''(foldf(triple(cons(A, a), nil, c), b))
f''(triple(a, b, c)) -> foldf(triple(a, b, nil), c)
innermost
two new Dependency Pairs are created:
F'(triple(a, b, c), A) -> F''(foldf(triple(cons(A, a), nil, c), b))
F'(triple(a', nil, c'), A) -> F''(triple(cons(A, a'), nil, c'))
F'(triple(a', cons(y', z'), c'), A) -> F''(f(foldf(triple(cons(A, a'), nil, c'), z'), y'))
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Nar
...
→DP Problem 3
↳Narrowing Transformation
F(t, C) -> F'(t, A)
F(t, B) -> F'(t, B)
F'(triple(a', cons(y', z'), c'), A) -> F''(f(foldf(triple(cons(A, a'), nil, c'), z'), y'))
FOLDF(x, cons(y, z)) -> FOLDF(x, z)
F''(triple(a, b, c)) -> FOLDF(triple(a, b, nil), c)
F'(triple(a', nil, c'), A) -> F''(triple(cons(A, a'), nil, c'))
F(t, B) -> F'(t, A)
FOLDF(x, cons(y, z)) -> F(foldf(x, z), y)
F'(triple(a, b, c), A) -> FOLDF(triple(cons(A, a), nil, c), b)
F(t, A) -> F'(t, A)
F'(triple(a, b, c), B) -> F(triple(a, b, c), A)
F(t, C) -> F'(t, B)
g(A) -> A
g(B) -> A
g(B) -> B
g(C) -> A
g(C) -> B
g(C) -> C
foldf(x, nil) -> x
foldf(x, cons(y, z)) -> f(foldf(x, z), y)
f(t, x) -> f'(t, g(x))
f'(triple(a, b, c), C) -> triple(a, b, cons(C, c))
f'(triple(a, b, c), B) -> f(triple(a, b, c), A)
f'(triple(a, b, c), A) -> f''(foldf(triple(cons(A, a), nil, c), b))
f''(triple(a, b, c)) -> foldf(triple(a, b, nil), c)
innermost
three new Dependency Pairs are created:
F'(triple(a', cons(y', z'), c'), A) -> F''(f(foldf(triple(cons(A, a'), nil, c'), z'), y'))
F'(triple(a'', cons(y'', z''), c''), A) -> F''(f'(foldf(triple(cons(A, a''), nil, c''), z''), g(y'')))
F'(triple(a'', cons(y', nil), c''), A) -> F''(f(triple(cons(A, a''), nil, c''), y'))
F'(triple(a'', cons(y', cons(y'', z'')), c''), A) -> F''(f(f(foldf(triple(cons(A, a''), nil, c''), z''), y''), y'))
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Nar
...
→DP Problem 4
↳Forward Instantiation Transformation
F(t, C) -> F'(t, B)
F'(triple(a, b, c), B) -> F(triple(a, b, c), A)
F(t, B) -> F'(t, B)
F(t, B) -> F'(t, A)
F'(triple(a'', cons(y', cons(y'', z'')), c''), A) -> F''(f(f(foldf(triple(cons(A, a''), nil, c''), z''), y''), y'))
F'(triple(a'', cons(y', nil), c''), A) -> F''(f(triple(cons(A, a''), nil, c''), y'))
F'(triple(a'', cons(y'', z''), c''), A) -> F''(f'(foldf(triple(cons(A, a''), nil, c''), z''), g(y'')))
FOLDF(x, cons(y, z)) -> FOLDF(x, z)
F''(triple(a, b, c)) -> FOLDF(triple(a, b, nil), c)
F'(triple(a', nil, c'), A) -> F''(triple(cons(A, a'), nil, c'))
F(t, A) -> F'(t, A)
FOLDF(x, cons(y, z)) -> F(foldf(x, z), y)
F'(triple(a, b, c), A) -> FOLDF(triple(cons(A, a), nil, c), b)
F(t, C) -> F'(t, A)
g(A) -> A
g(B) -> A
g(B) -> B
g(C) -> A
g(C) -> B
g(C) -> C
foldf(x, nil) -> x
foldf(x, cons(y, z)) -> f(foldf(x, z), y)
f(t, x) -> f'(t, g(x))
f'(triple(a, b, c), C) -> triple(a, b, cons(C, c))
f'(triple(a, b, c), B) -> f(triple(a, b, c), A)
f'(triple(a, b, c), A) -> f''(foldf(triple(cons(A, a), nil, c), b))
f''(triple(a, b, c)) -> foldf(triple(a, b, nil), c)
innermost
one new Dependency Pair is created:
FOLDF(x, cons(y, z)) -> FOLDF(x, z)
FOLDF(x'', cons(y, cons(y'', z''))) -> FOLDF(x'', cons(y'', z''))
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Nar
...
→DP Problem 5
↳Forward Instantiation Transformation
F(t, C) -> F'(t, A)
F(t, B) -> F'(t, B)
F'(triple(a'', cons(y', cons(y'', z'')), c''), A) -> F''(f(f(foldf(triple(cons(A, a''), nil, c''), z''), y''), y'))
F'(triple(a'', cons(y', nil), c''), A) -> F''(f(triple(cons(A, a''), nil, c''), y'))
F'(triple(a'', cons(y'', z''), c''), A) -> F''(f'(foldf(triple(cons(A, a''), nil, c''), z''), g(y'')))
FOLDF(x'', cons(y, cons(y'', z''))) -> FOLDF(x'', cons(y'', z''))
F''(triple(a, b, c)) -> FOLDF(triple(a, b, nil), c)
F'(triple(a', nil, c'), A) -> F''(triple(cons(A, a'), nil, c'))
F(t, B) -> F'(t, A)
FOLDF(x, cons(y, z)) -> F(foldf(x, z), y)
F'(triple(a, b, c), A) -> FOLDF(triple(cons(A, a), nil, c), b)
F(t, A) -> F'(t, A)
F'(triple(a, b, c), B) -> F(triple(a, b, c), A)
F(t, C) -> F'(t, B)
g(A) -> A
g(B) -> A
g(B) -> B
g(C) -> A
g(C) -> B
g(C) -> C
foldf(x, nil) -> x
foldf(x, cons(y, z)) -> f(foldf(x, z), y)
f(t, x) -> f'(t, g(x))
f'(triple(a, b, c), C) -> triple(a, b, cons(C, c))
f'(triple(a, b, c), B) -> f(triple(a, b, c), A)
f'(triple(a, b, c), A) -> f''(foldf(triple(cons(A, a), nil, c), b))
f''(triple(a, b, c)) -> foldf(triple(a, b, nil), c)
innermost
two new Dependency Pairs are created:
F'(triple(a, b, c), A) -> FOLDF(triple(cons(A, a), nil, c), b)
F'(triple(a', cons(y'', z''), c'), A) -> FOLDF(triple(cons(A, a'), nil, c'), cons(y'', z''))
F'(triple(a', cons(y'', cons(y'''', z'''')), c'), A) -> FOLDF(triple(cons(A, a'), nil, c'), cons(y'', cons(y'''', z'''')))
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Nar
...
→DP Problem 6
↳Forward Instantiation Transformation
F(t, C) -> F'(t, B)
F'(triple(a, b, c), B) -> F(triple(a, b, c), A)
F(t, B) -> F'(t, B)
F(t, B) -> F'(t, A)
F'(triple(a', cons(y'', cons(y'''', z'''')), c'), A) -> FOLDF(triple(cons(A, a'), nil, c'), cons(y'', cons(y'''', z'''')))
FOLDF(x'', cons(y, cons(y'', z''))) -> FOLDF(x'', cons(y'', z''))
F'(triple(a', cons(y'', z''), c'), A) -> FOLDF(triple(cons(A, a'), nil, c'), cons(y'', z''))
F'(triple(a'', cons(y', cons(y'', z'')), c''), A) -> F''(f(f(foldf(triple(cons(A, a''), nil, c''), z''), y''), y'))
F'(triple(a'', cons(y', nil), c''), A) -> F''(f(triple(cons(A, a''), nil, c''), y'))
F'(triple(a'', cons(y'', z''), c''), A) -> F''(f'(foldf(triple(cons(A, a''), nil, c''), z''), g(y'')))
F(t, A) -> F'(t, A)
FOLDF(x, cons(y, z)) -> F(foldf(x, z), y)
F''(triple(a, b, c)) -> FOLDF(triple(a, b, nil), c)
F'(triple(a', nil, c'), A) -> F''(triple(cons(A, a'), nil, c'))
F(t, C) -> F'(t, A)
g(A) -> A
g(B) -> A
g(B) -> B
g(C) -> A
g(C) -> B
g(C) -> C
foldf(x, nil) -> x
foldf(x, cons(y, z)) -> f(foldf(x, z), y)
f(t, x) -> f'(t, g(x))
f'(triple(a, b, c), C) -> triple(a, b, cons(C, c))
f'(triple(a, b, c), B) -> f(triple(a, b, c), A)
f'(triple(a, b, c), A) -> f''(foldf(triple(cons(A, a), nil, c), b))
f''(triple(a, b, c)) -> foldf(triple(a, b, nil), c)
innermost
two new Dependency Pairs are created:
F''(triple(a, b, c)) -> FOLDF(triple(a, b, nil), c)
F''(triple(a', b', cons(y'', z''))) -> FOLDF(triple(a', b', nil), cons(y'', z''))
F''(triple(a', b', cons(y'', cons(y'''', z'''')))) -> FOLDF(triple(a', b', nil), cons(y'', cons(y'''', z'''')))
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Nar
...
→DP Problem 7
↳Forward Instantiation Transformation
F(t, C) -> F'(t, A)
F(t, B) -> F'(t, B)
F'(triple(a', cons(y'', cons(y'''', z'''')), c'), A) -> FOLDF(triple(cons(A, a'), nil, c'), cons(y'', cons(y'''', z'''')))
F'(triple(a', cons(y'', z''), c'), A) -> FOLDF(triple(cons(A, a'), nil, c'), cons(y'', z''))
F'(triple(a'', cons(y', cons(y'', z'')), c''), A) -> F''(f(f(foldf(triple(cons(A, a''), nil, c''), z''), y''), y'))
F'(triple(a'', cons(y', nil), c''), A) -> F''(f(triple(cons(A, a''), nil, c''), y'))
FOLDF(x'', cons(y, cons(y'', z''))) -> FOLDF(x'', cons(y'', z''))
F''(triple(a', b', cons(y'', cons(y'''', z'''')))) -> FOLDF(triple(a', b', nil), cons(y'', cons(y'''', z'''')))
F'(triple(a'', cons(y'', z''), c''), A) -> F''(f'(foldf(triple(cons(A, a''), nil, c''), z''), g(y'')))
F(t, B) -> F'(t, A)
FOLDF(x, cons(y, z)) -> F(foldf(x, z), y)
F''(triple(a', b', cons(y'', z''))) -> FOLDF(triple(a', b', nil), cons(y'', z''))
F'(triple(a', nil, c'), A) -> F''(triple(cons(A, a'), nil, c'))
F(t, A) -> F'(t, A)
F'(triple(a, b, c), B) -> F(triple(a, b, c), A)
F(t, C) -> F'(t, B)
g(A) -> A
g(B) -> A
g(B) -> B
g(C) -> A
g(C) -> B
g(C) -> C
foldf(x, nil) -> x
foldf(x, cons(y, z)) -> f(foldf(x, z), y)
f(t, x) -> f'(t, g(x))
f'(triple(a, b, c), C) -> triple(a, b, cons(C, c))
f'(triple(a, b, c), B) -> f(triple(a, b, c), A)
f'(triple(a, b, c), A) -> f''(foldf(triple(cons(A, a), nil, c), b))
f''(triple(a, b, c)) -> foldf(triple(a, b, nil), c)
innermost
six new Dependency Pairs are created:
F(t, A) -> F'(t, A)
F(triple(a''', nil, c'''), A) -> F'(triple(a''', nil, c'''), A)
F(triple(a'''', cons(y'''', z''''), c''''), A) -> F'(triple(a'''', cons(y'''', z''''), c''''), A)
F(triple(a'''', cons(y''', nil), c''''), A) -> F'(triple(a'''', cons(y''', nil), c''''), A)
F(triple(a'''', cons(y''''', cons(y'''''', z'''')), c''''), A) -> F'(triple(a'''', cons(y''''', cons(y'''''', z'''')), c''''), A)
F(triple(a''', cons(y'''', z''''), c'''), A) -> F'(triple(a''', cons(y'''', z''''), c'''), A)
F(triple(a''', cons(y'''', cons(y'''''', z'''''')), c'''), A) -> F'(triple(a''', cons(y'''', cons(y'''''', z'''''')), c'''), A)
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Nar
...
→DP Problem 8
↳Forward Instantiation Transformation
F(t, C) -> F'(t, B)
F(triple(a''', cons(y'''', cons(y'''''', z'''''')), c'''), A) -> F'(triple(a''', cons(y'''', cons(y'''''', z'''''')), c'''), A)
F(triple(a''', cons(y'''', z''''), c'''), A) -> F'(triple(a''', cons(y'''', z''''), c'''), A)
F(triple(a'''', cons(y''''', cons(y'''''', z'''')), c''''), A) -> F'(triple(a'''', cons(y''''', cons(y'''''', z'''')), c''''), A)
F(triple(a'''', cons(y''', nil), c''''), A) -> F'(triple(a'''', cons(y''', nil), c''''), A)
F(triple(a'''', cons(y'''', z''''), c''''), A) -> F'(triple(a'''', cons(y'''', z''''), c''''), A)
F(triple(a''', nil, c'''), A) -> F'(triple(a''', nil, c'''), A)
F'(triple(a, b, c), B) -> F(triple(a, b, c), A)
F(t, B) -> F'(t, B)
F'(triple(a', cons(y'', cons(y'''', z'''')), c'), A) -> FOLDF(triple(cons(A, a'), nil, c'), cons(y'', cons(y'''', z'''')))
F'(triple(a', cons(y'', z''), c'), A) -> FOLDF(triple(cons(A, a'), nil, c'), cons(y'', z''))
F'(triple(a'', cons(y', cons(y'', z'')), c''), A) -> F''(f(f(foldf(triple(cons(A, a''), nil, c''), z''), y''), y'))
F'(triple(a'', cons(y', nil), c''), A) -> F''(f(triple(cons(A, a''), nil, c''), y'))
FOLDF(x'', cons(y, cons(y'', z''))) -> FOLDF(x'', cons(y'', z''))
F''(triple(a', b', cons(y'', cons(y'''', z'''')))) -> FOLDF(triple(a', b', nil), cons(y'', cons(y'''', z'''')))
F'(triple(a'', cons(y'', z''), c''), A) -> F''(f'(foldf(triple(cons(A, a''), nil, c''), z''), g(y'')))
F(t, B) -> F'(t, A)
FOLDF(x, cons(y, z)) -> F(foldf(x, z), y)
F''(triple(a', b', cons(y'', z''))) -> FOLDF(triple(a', b', nil), cons(y'', z''))
F'(triple(a', nil, c'), A) -> F''(triple(cons(A, a'), nil, c'))
F(t, C) -> F'(t, A)
g(A) -> A
g(B) -> A
g(B) -> B
g(C) -> A
g(C) -> B
g(C) -> C
foldf(x, nil) -> x
foldf(x, cons(y, z)) -> f(foldf(x, z), y)
f(t, x) -> f'(t, g(x))
f'(triple(a, b, c), C) -> triple(a, b, cons(C, c))
f'(triple(a, b, c), B) -> f(triple(a, b, c), A)
f'(triple(a, b, c), A) -> f''(foldf(triple(cons(A, a), nil, c), b))
f''(triple(a, b, c)) -> foldf(triple(a, b, nil), c)
innermost
five new Dependency Pairs are created:
F'(triple(a, b, c), B) -> F(triple(a, b, c), A)
F'(triple(a', nil, c'), B) -> F(triple(a', nil, c'), A)
F'(triple(a', cons(y'''''', z''''''), c'), B) -> F(triple(a', cons(y'''''', z''''''), c'), A)
F'(triple(a', cons(y''''', nil), c'), B) -> F(triple(a', cons(y''''', nil), c'), A)
F'(triple(a', cons(y'''''''0, cons(y''''''''', z'''''')), c'), B) -> F(triple(a', cons(y'''''''0, cons(y''''''''', z'''''')), c'), A)
F'(triple(a', cons(y'''''', cons(y'''''''', z'''''''')), c'), B) -> F(triple(a', cons(y'''''', cons(y'''''''', z'''''''')), c'), A)
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Nar
...
→DP Problem 9
↳Forward Instantiation Transformation
F(t, C) -> F'(t, A)
F'(triple(a', cons(y'''''', cons(y'''''''', z'''''''')), c'), B) -> F(triple(a', cons(y'''''', cons(y'''''''', z'''''''')), c'), A)
F'(triple(a', cons(y'''''''0, cons(y''''''''', z'''''')), c'), B) -> F(triple(a', cons(y'''''''0, cons(y''''''''', z'''''')), c'), A)
F'(triple(a', cons(y''''', nil), c'), B) -> F(triple(a', cons(y''''', nil), c'), A)
F(triple(a''', cons(y'''', cons(y'''''', z'''''')), c'''), A) -> F'(triple(a''', cons(y'''', cons(y'''''', z'''''')), c'''), A)
F(triple(a''', cons(y'''', z''''), c'''), A) -> F'(triple(a''', cons(y'''', z''''), c'''), A)
F(triple(a'''', cons(y''''', cons(y'''''', z'''')), c''''), A) -> F'(triple(a'''', cons(y''''', cons(y'''''', z'''')), c''''), A)
F(triple(a'''', cons(y''', nil), c''''), A) -> F'(triple(a'''', cons(y''', nil), c''''), A)
F(triple(a'''', cons(y'''', z''''), c''''), A) -> F'(triple(a'''', cons(y'''', z''''), c''''), A)
F'(triple(a', cons(y'''''', z''''''), c'), B) -> F(triple(a', cons(y'''''', z''''''), c'), A)
F(t, B) -> F'(t, B)
F'(triple(a', cons(y'', cons(y'''', z'''')), c'), A) -> FOLDF(triple(cons(A, a'), nil, c'), cons(y'', cons(y'''', z'''')))
F'(triple(a', cons(y'', z''), c'), A) -> FOLDF(triple(cons(A, a'), nil, c'), cons(y'', z''))
F'(triple(a'', cons(y', cons(y'', z'')), c''), A) -> F''(f(f(foldf(triple(cons(A, a''), nil, c''), z''), y''), y'))
F'(triple(a'', cons(y', nil), c''), A) -> F''(f(triple(cons(A, a''), nil, c''), y'))
FOLDF(x'', cons(y, cons(y'', z''))) -> FOLDF(x'', cons(y'', z''))
F''(triple(a', b', cons(y'', cons(y'''', z'''')))) -> FOLDF(triple(a', b', nil), cons(y'', cons(y'''', z'''')))
F'(triple(a'', cons(y'', z''), c''), A) -> F''(f'(foldf(triple(cons(A, a''), nil, c''), z''), g(y'')))
F(t, B) -> F'(t, A)
FOLDF(x, cons(y, z)) -> F(foldf(x, z), y)
F''(triple(a', b', cons(y'', z''))) -> FOLDF(triple(a', b', nil), cons(y'', z''))
F'(triple(a', nil, c'), A) -> F''(triple(cons(A, a'), nil, c'))
F(triple(a''', nil, c'''), A) -> F'(triple(a''', nil, c'''), A)
F'(triple(a', nil, c'), B) -> F(triple(a', nil, c'), A)
F(t, C) -> F'(t, B)
g(A) -> A
g(B) -> A
g(B) -> B
g(C) -> A
g(C) -> B
g(C) -> C
foldf(x, nil) -> x
foldf(x, cons(y, z)) -> f(foldf(x, z), y)
f(t, x) -> f'(t, g(x))
f'(triple(a, b, c), C) -> triple(a, b, cons(C, c))
f'(triple(a, b, c), B) -> f(triple(a, b, c), A)
f'(triple(a, b, c), A) -> f''(foldf(triple(cons(A, a), nil, c), b))
f''(triple(a, b, c)) -> foldf(triple(a, b, nil), c)
innermost
six new Dependency Pairs are created:
F(t, B) -> F'(t, A)
F(triple(a''', nil, c'''), B) -> F'(triple(a''', nil, c'''), A)
F(triple(a'''', cons(y'''', z''''), c''''), B) -> F'(triple(a'''', cons(y'''', z''''), c''''), A)
F(triple(a'''', cons(y''', nil), c''''), B) -> F'(triple(a'''', cons(y''', nil), c''''), A)
F(triple(a'''', cons(y''''', cons(y'''''', z'''')), c''''), B) -> F'(triple(a'''', cons(y''''', cons(y'''''', z'''')), c''''), A)
F(triple(a''', cons(y'''', z''''), c'''), B) -> F'(triple(a''', cons(y'''', z''''), c'''), A)
F(triple(a''', cons(y'''', cons(y'''''', z'''''')), c'''), B) -> F'(triple(a''', cons(y'''', cons(y'''''', z'''''')), c'''), A)
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Nar
...
→DP Problem 10
↳Forward Instantiation Transformation
F(triple(a''', cons(y'''', cons(y'''''', z'''''')), c'''), B) -> F'(triple(a''', cons(y'''', cons(y'''''', z'''''')), c'''), A)
F(triple(a''', cons(y'''', z''''), c'''), B) -> F'(triple(a''', cons(y'''', z''''), c'''), A)
F(triple(a'''', cons(y''''', cons(y'''''', z'''')), c''''), B) -> F'(triple(a'''', cons(y''''', cons(y'''''', z'''')), c''''), A)
F(triple(a'''', cons(y''', nil), c''''), B) -> F'(triple(a'''', cons(y''', nil), c''''), A)
F(triple(a'''', cons(y'''', z''''), c''''), B) -> F'(triple(a'''', cons(y'''', z''''), c''''), A)
F(triple(a''', nil, c'''), B) -> F'(triple(a''', nil, c'''), A)
F(t, C) -> F'(t, B)
F'(triple(a', cons(y'''''', cons(y'''''''', z'''''''')), c'), B) -> F(triple(a', cons(y'''''', cons(y'''''''', z'''''''')), c'), A)
F'(triple(a', cons(y'''''''0, cons(y''''''''', z'''''')), c'), B) -> F(triple(a', cons(y'''''''0, cons(y''''''''', z'''''')), c'), A)
F'(triple(a', cons(y''''', nil), c'), B) -> F(triple(a', cons(y''''', nil), c'), A)
F(triple(a''', cons(y'''', cons(y'''''', z'''''')), c'''), A) -> F'(triple(a''', cons(y'''', cons(y'''''', z'''''')), c'''), A)
F(triple(a''', cons(y'''', z''''), c'''), A) -> F'(triple(a''', cons(y'''', z''''), c'''), A)
F(triple(a'''', cons(y''''', cons(y'''''', z'''')), c''''), A) -> F'(triple(a'''', cons(y''''', cons(y'''''', z'''')), c''''), A)
F(triple(a'''', cons(y''', nil), c''''), A) -> F'(triple(a'''', cons(y''', nil), c''''), A)
F'(triple(a', cons(y'', cons(y'''', z'''')), c'), A) -> FOLDF(triple(cons(A, a'), nil, c'), cons(y'', cons(y'''', z'''')))
F'(triple(a', cons(y'', z''), c'), A) -> FOLDF(triple(cons(A, a'), nil, c'), cons(y'', z''))
F'(triple(a'', cons(y', cons(y'', z'')), c''), A) -> F''(f(f(foldf(triple(cons(A, a''), nil, c''), z''), y''), y'))
F'(triple(a'', cons(y', nil), c''), A) -> F''(f(triple(cons(A, a''), nil, c''), y'))
FOLDF(x'', cons(y, cons(y'', z''))) -> FOLDF(x'', cons(y'', z''))
F''(triple(a', b', cons(y'', cons(y'''', z'''')))) -> FOLDF(triple(a', b', nil), cons(y'', cons(y'''', z'''')))
F'(triple(a'', cons(y'', z''), c''), A) -> F''(f'(foldf(triple(cons(A, a''), nil, c''), z''), g(y'')))
F(triple(a'''', cons(y'''', z''''), c''''), A) -> F'(triple(a'''', cons(y'''', z''''), c''''), A)
F'(triple(a', cons(y'''''', z''''''), c'), B) -> F(triple(a', cons(y'''''', z''''''), c'), A)
F(triple(a''', nil, c'''), A) -> F'(triple(a''', nil, c'''), A)
F'(triple(a', nil, c'), B) -> F(triple(a', nil, c'), A)
F(t, B) -> F'(t, B)
FOLDF(x, cons(y, z)) -> F(foldf(x, z), y)
F''(triple(a', b', cons(y'', z''))) -> FOLDF(triple(a', b', nil), cons(y'', z''))
F'(triple(a', nil, c'), A) -> F''(triple(cons(A, a'), nil, c'))
F(t, C) -> F'(t, A)
g(A) -> A
g(B) -> A
g(B) -> B
g(C) -> A
g(C) -> B
g(C) -> C
foldf(x, nil) -> x
foldf(x, cons(y, z)) -> f(foldf(x, z), y)
f(t, x) -> f'(t, g(x))
f'(triple(a, b, c), C) -> triple(a, b, cons(C, c))
f'(triple(a, b, c), B) -> f(triple(a, b, c), A)
f'(triple(a, b, c), A) -> f''(foldf(triple(cons(A, a), nil, c), b))
f''(triple(a, b, c)) -> foldf(triple(a, b, nil), c)
innermost
five new Dependency Pairs are created:
F(t, B) -> F'(t, B)
F(triple(a''', nil, c'''), B) -> F'(triple(a''', nil, c'''), B)
F(triple(a''', cons(y'''''''', z''''''''), c'''), B) -> F'(triple(a''', cons(y'''''''', z''''''''), c'''), B)
F(triple(a''', cons(y''''''', nil), c'''), B) -> F'(triple(a''', cons(y''''''', nil), c'''), B)
F(triple(a''', cons(y'''''''0'', cons(y''''''''''', z'''''''')), c'''), B) -> F'(triple(a''', cons(y'''''''0'', cons(y''''''''''', z'''''''')), c'''), B)
F(triple(a''', cons(y'''''''', cons(y'''''''''', z'''''''''')), c'''), B) -> F'(triple(a''', cons(y'''''''', cons(y'''''''''', z'''''''''')), c'''), B)
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Nar
...
→DP Problem 11
↳Forward Instantiation Transformation
F(triple(a''', cons(y'''''''', cons(y'''''''''', z'''''''''')), c'''), B) -> F'(triple(a''', cons(y'''''''', cons(y'''''''''', z'''''''''')), c'''), B)
F(triple(a''', cons(y'''''''0'', cons(y''''''''''', z'''''''')), c'''), B) -> F'(triple(a''', cons(y'''''''0'', cons(y''''''''''', z'''''''')), c'''), B)
F(triple(a''', cons(y''''''', nil), c'''), B) -> F'(triple(a''', cons(y''''''', nil), c'''), B)
F(triple(a''', cons(y'''''''', z''''''''), c'''), B) -> F'(triple(a''', cons(y'''''''', z''''''''), c'''), B)
F(triple(a''', nil, c'''), B) -> F'(triple(a''', nil, c'''), B)
F(triple(a''', cons(y'''', z''''), c'''), B) -> F'(triple(a''', cons(y'''', z''''), c'''), A)
F(triple(a'''', cons(y''''', cons(y'''''', z'''')), c''''), B) -> F'(triple(a'''', cons(y''''', cons(y'''''', z'''')), c''''), A)
F(triple(a'''', cons(y''', nil), c''''), B) -> F'(triple(a'''', cons(y''', nil), c''''), A)
F(triple(a'''', cons(y'''', z''''), c''''), B) -> F'(triple(a'''', cons(y'''', z''''), c''''), A)
F(triple(a''', nil, c'''), B) -> F'(triple(a''', nil, c'''), A)
F'(triple(a', cons(y'''''', cons(y'''''''', z'''''''')), c'), B) -> F(triple(a', cons(y'''''', cons(y'''''''', z'''''''')), c'), A)
F'(triple(a', cons(y'''''''0, cons(y''''''''', z'''''')), c'), B) -> F(triple(a', cons(y'''''''0, cons(y''''''''', z'''''')), c'), A)
F'(triple(a', cons(y''''', nil), c'), B) -> F(triple(a', cons(y''''', nil), c'), A)
F(triple(a''', cons(y'''', cons(y'''''', z'''''')), c'''), A) -> F'(triple(a''', cons(y'''', cons(y'''''', z'''''')), c'''), A)
F(triple(a''', cons(y'''', z''''), c'''), A) -> F'(triple(a''', cons(y'''', z''''), c'''), A)
F(triple(a'''', cons(y''''', cons(y'''''', z'''')), c''''), A) -> F'(triple(a'''', cons(y''''', cons(y'''''', z'''')), c''''), A)
F(triple(a'''', cons(y''', nil), c''''), A) -> F'(triple(a'''', cons(y''', nil), c''''), A)
F(triple(a'''', cons(y'''', z''''), c''''), A) -> F'(triple(a'''', cons(y'''', z''''), c''''), A)
F'(triple(a', cons(y'''''', z''''''), c'), B) -> F(triple(a', cons(y'''''', z''''''), c'), A)
F(triple(a''', nil, c'''), A) -> F'(triple(a''', nil, c'''), A)
F'(triple(a', nil, c'), B) -> F(triple(a', nil, c'), A)
F(t, C) -> F'(t, B)
F'(triple(a', cons(y'', cons(y'''', z'''')), c'), A) -> FOLDF(triple(cons(A, a'), nil, c'), cons(y'', cons(y'''', z'''')))
F'(triple(a', cons(y'', z''), c'), A) -> FOLDF(triple(cons(A, a'), nil, c'), cons(y'', z''))
F'(triple(a'', cons(y', cons(y'', z'')), c''), A) -> F''(f(f(foldf(triple(cons(A, a''), nil, c''), z''), y''), y'))
F'(triple(a'', cons(y', nil), c''), A) -> F''(f(triple(cons(A, a''), nil, c''), y'))
FOLDF(x'', cons(y, cons(y'', z''))) -> FOLDF(x'', cons(y'', z''))
F''(triple(a', b', cons(y'', cons(y'''', z'''')))) -> FOLDF(triple(a', b', nil), cons(y'', cons(y'''', z'''')))
F'(triple(a', nil, c'), A) -> F''(triple(cons(A, a'), nil, c'))
F(t, C) -> F'(t, A)
FOLDF(x, cons(y, z)) -> F(foldf(x, z), y)
F''(triple(a', b', cons(y'', z''))) -> FOLDF(triple(a', b', nil), cons(y'', z''))
F'(triple(a'', cons(y'', z''), c''), A) -> F''(f'(foldf(triple(cons(A, a''), nil, c''), z''), g(y'')))
F(triple(a''', cons(y'''', cons(y'''''', z'''''')), c'''), B) -> F'(triple(a''', cons(y'''', cons(y'''''', z'''''')), c'''), A)
g(A) -> A
g(B) -> A
g(B) -> B
g(C) -> A
g(C) -> B
g(C) -> C
foldf(x, nil) -> x
foldf(x, cons(y, z)) -> f(foldf(x, z), y)
f(t, x) -> f'(t, g(x))
f'(triple(a, b, c), C) -> triple(a, b, cons(C, c))
f'(triple(a, b, c), B) -> f(triple(a, b, c), A)
f'(triple(a, b, c), A) -> f''(foldf(triple(cons(A, a), nil, c), b))
f''(triple(a, b, c)) -> foldf(triple(a, b, nil), c)
innermost
six new Dependency Pairs are created:
F(t, C) -> F'(t, A)
F(triple(a''', nil, c'''), C) -> F'(triple(a''', nil, c'''), A)
F(triple(a'''', cons(y'''', z''''), c''''), C) -> F'(triple(a'''', cons(y'''', z''''), c''''), A)
F(triple(a'''', cons(y''', nil), c''''), C) -> F'(triple(a'''', cons(y''', nil), c''''), A)
F(triple(a'''', cons(y''''', cons(y'''''', z'''')), c''''), C) -> F'(triple(a'''', cons(y''''', cons(y'''''', z'''')), c''''), A)
F(triple(a''', cons(y'''', z''''), c'''), C) -> F'(triple(a''', cons(y'''', z''''), c'''), A)
F(triple(a''', cons(y'''', cons(y'''''', z'''''')), c'''), C) -> F'(triple(a''', cons(y'''', cons(y'''''', z'''''')), c'''), A)
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Nar
...
→DP Problem 12
↳Forward Instantiation Transformation
F(triple(a''', cons(y'''', cons(y'''''', z'''''')), c'''), C) -> F'(triple(a''', cons(y'''', cons(y'''''', z'''''')), c'''), A)
F(triple(a''', cons(y'''', z''''), c'''), C) -> F'(triple(a''', cons(y'''', z''''), c'''), A)
F(triple(a'''', cons(y''''', cons(y'''''', z'''')), c''''), C) -> F'(triple(a'''', cons(y''''', cons(y'''''', z'''')), c''''), A)
F(triple(a'''', cons(y''', nil), c''''), C) -> F'(triple(a'''', cons(y''', nil), c''''), A)
F(triple(a'''', cons(y'''', z''''), c''''), C) -> F'(triple(a'''', cons(y'''', z''''), c''''), A)
F(triple(a''', nil, c'''), C) -> F'(triple(a''', nil, c'''), A)
F(triple(a''', cons(y'''''''0'', cons(y''''''''''', z'''''''')), c'''), B) -> F'(triple(a''', cons(y'''''''0'', cons(y''''''''''', z'''''''')), c'''), B)
F(triple(a''', cons(y''''''', nil), c'''), B) -> F'(triple(a''', cons(y''''''', nil), c'''), B)
F(triple(a''', cons(y'''''''', z''''''''), c'''), B) -> F'(triple(a''', cons(y'''''''', z''''''''), c'''), B)
F(triple(a''', nil, c'''), B) -> F'(triple(a''', nil, c'''), B)
F(triple(a''', cons(y'''', cons(y'''''', z'''''')), c'''), B) -> F'(triple(a''', cons(y'''', cons(y'''''', z'''''')), c'''), A)
F(triple(a''', cons(y'''', z''''), c'''), B) -> F'(triple(a''', cons(y'''', z''''), c'''), A)
F(triple(a'''', cons(y''''', cons(y'''''', z'''')), c''''), B) -> F'(triple(a'''', cons(y''''', cons(y'''''', z'''')), c''''), A)
F(triple(a'''', cons(y''', nil), c''''), B) -> F'(triple(a'''', cons(y''', nil), c''''), A)
F(triple(a'''', cons(y'''', z''''), c''''), B) -> F'(triple(a'''', cons(y'''', z''''), c''''), A)
F(triple(a''', nil, c'''), B) -> F'(triple(a''', nil, c'''), A)
F'(triple(a', cons(y'''''', cons(y'''''''', z'''''''')), c'), B) -> F(triple(a', cons(y'''''', cons(y'''''''', z'''''''')), c'), A)
F(triple(a''', cons(y'''', cons(y'''''', z'''''')), c'''), A) -> F'(triple(a''', cons(y'''', cons(y'''''', z'''''')), c'''), A)
F(triple(a'''', cons(y''''', cons(y'''''', z'''')), c''''), A) -> F'(triple(a'''', cons(y''''', cons(y'''''', z'''')), c''''), A)
F'(triple(a', cons(y'''''''0, cons(y''''''''', z'''''')), c'), B) -> F(triple(a', cons(y'''''''0, cons(y''''''''', z'''''')), c'), A)
F'(triple(a', cons(y'', cons(y'''', z'''')), c'), A) -> FOLDF(triple(cons(A, a'), nil, c'), cons(y'', cons(y'''', z'''')))
F'(triple(a'', cons(y', cons(y'', z'')), c''), A) -> F''(f(f(foldf(triple(cons(A, a''), nil, c''), z''), y''), y'))
F(triple(a''', cons(y'''', z''''), c'''), A) -> F'(triple(a''', cons(y'''', z''''), c'''), A)
F'(triple(a', cons(y'', z''), c'), A) -> FOLDF(triple(cons(A, a'), nil, c'), cons(y'', z''))
F'(triple(a'', cons(y', nil), c''), A) -> F''(f(triple(cons(A, a''), nil, c''), y'))
F(triple(a'''', cons(y''', nil), c''''), A) -> F'(triple(a'''', cons(y''', nil), c''''), A)
F'(triple(a', cons(y''''', nil), c'), B) -> F(triple(a', cons(y''''', nil), c'), A)
FOLDF(x'', cons(y, cons(y'', z''))) -> FOLDF(x'', cons(y'', z''))
F''(triple(a', b', cons(y'', cons(y'''', z'''')))) -> FOLDF(triple(a', b', nil), cons(y'', cons(y'''', z'''')))
F'(triple(a', nil, c'), A) -> F''(triple(cons(A, a'), nil, c'))
F(triple(a''', nil, c'''), A) -> F'(triple(a''', nil, c'''), A)
F'(triple(a', nil, c'), B) -> F(triple(a', nil, c'), A)
F(t, C) -> F'(t, B)
FOLDF(x, cons(y, z)) -> F(foldf(x, z), y)
F''(triple(a', b', cons(y'', z''))) -> FOLDF(triple(a', b', nil), cons(y'', z''))
F'(triple(a'', cons(y'', z''), c''), A) -> F''(f'(foldf(triple(cons(A, a''), nil, c''), z''), g(y'')))
F(triple(a'''', cons(y'''', z''''), c''''), A) -> F'(triple(a'''', cons(y'''', z''''), c''''), A)
F'(triple(a', cons(y'''''', z''''''), c'), B) -> F(triple(a', cons(y'''''', z''''''), c'), A)
F(triple(a''', cons(y'''''''', cons(y'''''''''', z'''''''''')), c'''), B) -> F'(triple(a''', cons(y'''''''', cons(y'''''''''', z'''''''''')), c'''), B)
g(A) -> A
g(B) -> A
g(B) -> B
g(C) -> A
g(C) -> B
g(C) -> C
foldf(x, nil) -> x
foldf(x, cons(y, z)) -> f(foldf(x, z), y)
f(t, x) -> f'(t, g(x))
f'(triple(a, b, c), C) -> triple(a, b, cons(C, c))
f'(triple(a, b, c), B) -> f(triple(a, b, c), A)
f'(triple(a, b, c), A) -> f''(foldf(triple(cons(A, a), nil, c), b))
f''(triple(a, b, c)) -> foldf(triple(a, b, nil), c)
innermost
five new Dependency Pairs are created:
F(t, C) -> F'(t, B)
F(triple(a''', nil, c'''), C) -> F'(triple(a''', nil, c'''), B)
F(triple(a''', cons(y'''''''', z''''''''), c'''), C) -> F'(triple(a''', cons(y'''''''', z''''''''), c'''), B)
F(triple(a''', cons(y''''''', nil), c'''), C) -> F'(triple(a''', cons(y''''''', nil), c'''), B)
F(triple(a''', cons(y'''''''0'', cons(y''''''''''', z'''''''')), c'''), C) -> F'(triple(a''', cons(y'''''''0'', cons(y''''''''''', z'''''''')), c'''), B)
F(triple(a''', cons(y'''''''', cons(y'''''''''', z'''''''''')), c'''), C) -> F'(triple(a''', cons(y'''''''', cons(y'''''''''', z'''''''''')), c'''), B)
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Nar
...
→DP Problem 13
↳Narrowing Transformation
F(triple(a''', cons(y'''''''', cons(y'''''''''', z'''''''''')), c'''), C) -> F'(triple(a''', cons(y'''''''', cons(y'''''''''', z'''''''''')), c'''), B)
F(triple(a''', cons(y'''''''0'', cons(y''''''''''', z'''''''')), c'''), C) -> F'(triple(a''', cons(y'''''''0'', cons(y''''''''''', z'''''''')), c'''), B)
F(triple(a''', cons(y''''''', nil), c'''), C) -> F'(triple(a''', cons(y''''''', nil), c'''), B)
F(triple(a''', cons(y'''''''', z''''''''), c'''), C) -> F'(triple(a''', cons(y'''''''', z''''''''), c'''), B)
F(triple(a''', nil, c'''), C) -> F'(triple(a''', nil, c'''), B)
F(triple(a''', cons(y'''', z''''), c'''), C) -> F'(triple(a''', cons(y'''', z''''), c'''), A)
F(triple(a'''', cons(y''''', cons(y'''''', z'''')), c''''), C) -> F'(triple(a'''', cons(y''''', cons(y'''''', z'''')), c''''), A)
F(triple(a'''', cons(y''', nil), c''''), C) -> F'(triple(a'''', cons(y''', nil), c''''), A)
F(triple(a'''', cons(y'''', z''''), c''''), C) -> F'(triple(a'''', cons(y'''', z''''), c''''), A)
F(triple(a''', nil, c'''), C) -> F'(triple(a''', nil, c'''), A)
F(triple(a''', cons(y'''''''', cons(y'''''''''', z'''''''''')), c'''), B) -> F'(triple(a''', cons(y'''''''', cons(y'''''''''', z'''''''''')), c'''), B)
F(triple(a''', cons(y'''''''0'', cons(y''''''''''', z'''''''')), c'''), B) -> F'(triple(a''', cons(y'''''''0'', cons(y''''''''''', z'''''''')), c'''), B)
F(triple(a''', cons(y''''''', nil), c'''), B) -> F'(triple(a''', cons(y''''''', nil), c'''), B)
F'(triple(a', cons(y'''''', cons(y'''''''', z'''''''')), c'), B) -> F(triple(a', cons(y'''''', cons(y'''''''', z'''''''')), c'), A)
F'(triple(a', cons(y'''''''0, cons(y''''''''', z'''''')), c'), B) -> F(triple(a', cons(y'''''''0, cons(y''''''''', z'''''')), c'), A)
F'(triple(a', cons(y''''', nil), c'), B) -> F(triple(a', cons(y''''', nil), c'), A)
F'(triple(a', cons(y'''''', z''''''), c'), B) -> F(triple(a', cons(y'''''', z''''''), c'), A)
F(triple(a''', cons(y'''''''', z''''''''), c'''), B) -> F'(triple(a''', cons(y'''''''', z''''''''), c'''), B)
F'(triple(a', nil, c'), B) -> F(triple(a', nil, c'), A)
F(triple(a''', nil, c'''), B) -> F'(triple(a''', nil, c'''), B)
F(triple(a''', cons(y'''', cons(y'''''', z'''''')), c'''), B) -> F'(triple(a''', cons(y'''', cons(y'''''', z'''''')), c'''), A)
F(triple(a''', cons(y'''', z''''), c'''), B) -> F'(triple(a''', cons(y'''', z''''), c'''), A)
F(triple(a'''', cons(y''''', cons(y'''''', z'''')), c''''), B) -> F'(triple(a'''', cons(y''''', cons(y'''''', z'''')), c''''), A)
F(triple(a'''', cons(y''', nil), c''''), B) -> F'(triple(a'''', cons(y''', nil), c''''), A)
F(triple(a'''', cons(y'''', z''''), c''''), B) -> F'(triple(a'''', cons(y'''', z''''), c''''), A)
F(triple(a''', nil, c'''), B) -> F'(triple(a''', nil, c'''), A)
F(triple(a''', cons(y'''', cons(y'''''', z'''''')), c'''), A) -> F'(triple(a''', cons(y'''', cons(y'''''', z'''''')), c'''), A)
F(triple(a''', cons(y'''', z''''), c'''), A) -> F'(triple(a''', cons(y'''', z''''), c'''), A)
F(triple(a'''', cons(y''''', cons(y'''''', z'''')), c''''), A) -> F'(triple(a'''', cons(y''''', cons(y'''''', z'''')), c''''), A)
F(triple(a'''', cons(y''', nil), c''''), A) -> F'(triple(a'''', cons(y''', nil), c''''), A)
F'(triple(a', cons(y'', cons(y'''', z'''')), c'), A) -> FOLDF(triple(cons(A, a'), nil, c'), cons(y'', cons(y'''', z'''')))
F'(triple(a', cons(y'', z''), c'), A) -> FOLDF(triple(cons(A, a'), nil, c'), cons(y'', z''))
F'(triple(a'', cons(y', cons(y'', z'')), c''), A) -> F''(f(f(foldf(triple(cons(A, a''), nil, c''), z''), y''), y'))
F'(triple(a'', cons(y', nil), c''), A) -> F''(f(triple(cons(A, a''), nil, c''), y'))
F(triple(a'''', cons(y'''', z''''), c''''), A) -> F'(triple(a'''', cons(y'''', z''''), c''''), A)
FOLDF(x'', cons(y, cons(y'', z''))) -> FOLDF(x'', cons(y'', z''))
F''(triple(a', b', cons(y'', cons(y'''', z'''')))) -> FOLDF(triple(a', b', nil), cons(y'', cons(y'''', z'''')))
F'(triple(a', nil, c'), A) -> F''(triple(cons(A, a'), nil, c'))
F(triple(a''', nil, c'''), A) -> F'(triple(a''', nil, c'''), A)
FOLDF(x, cons(y, z)) -> F(foldf(x, z), y)
F''(triple(a', b', cons(y'', z''))) -> FOLDF(triple(a', b', nil), cons(y'', z''))
F'(triple(a'', cons(y'', z''), c''), A) -> F''(f'(foldf(triple(cons(A, a''), nil, c''), z''), g(y'')))
F(triple(a''', cons(y'''', cons(y'''''', z'''''')), c'''), C) -> F'(triple(a''', cons(y'''', cons(y'''''', z'''''')), c'''), A)
g(A) -> A
g(B) -> A
g(B) -> B
g(C) -> A
g(C) -> B
g(C) -> C
foldf(x, nil) -> x
foldf(x, cons(y, z)) -> f(foldf(x, z), y)
f(t, x) -> f'(t, g(x))
f'(triple(a, b, c), C) -> triple(a, b, cons(C, c))
f'(triple(a, b, c), B) -> f(triple(a, b, c), A)
f'(triple(a, b, c), A) -> f''(foldf(triple(cons(A, a), nil, c), b))
f''(triple(a, b, c)) -> foldf(triple(a, b, nil), c)
innermost
two new Dependency Pairs are created:
FOLDF(x, cons(y, z)) -> F(foldf(x, z), y)
FOLDF(x'', cons(y, nil)) -> F(x'', y)
FOLDF(x'', cons(y, cons(y'', z''))) -> F(f(foldf(x'', z''), y''), y)
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Nar
...
→DP Problem 14
↳Narrowing Transformation
F(triple(a''', cons(y'''''''0'', cons(y''''''''''', z'''''''')), c'''), C) -> F'(triple(a''', cons(y'''''''0'', cons(y''''''''''', z'''''''')), c'''), B)
F(triple(a''', cons(y''''''', nil), c'''), C) -> F'(triple(a''', cons(y''''''', nil), c'''), B)
F(triple(a''', cons(y'''''''', z''''''''), c'''), C) -> F'(triple(a''', cons(y'''''''', z''''''''), c'''), B)
F(triple(a''', nil, c'''), C) -> F'(triple(a''', nil, c'''), B)
F(triple(a''', cons(y'''', cons(y'''''', z'''''')), c'''), C) -> F'(triple(a''', cons(y'''', cons(y'''''', z'''''')), c'''), A)
F(triple(a''', cons(y'''', z''''), c'''), C) -> F'(triple(a''', cons(y'''', z''''), c'''), A)
F(triple(a'''', cons(y''''', cons(y'''''', z'''')), c''''), C) -> F'(triple(a'''', cons(y''''', cons(y'''''', z'''')), c''''), A)
F(triple(a'''', cons(y''', nil), c''''), C) -> F'(triple(a'''', cons(y''', nil), c''''), A)
F(triple(a'''', cons(y'''', z''''), c''''), C) -> F'(triple(a'''', cons(y'''', z''''), c''''), A)
F(triple(a''', nil, c'''), C) -> F'(triple(a''', nil, c'''), A)
F(triple(a''', cons(y'''''''', cons(y'''''''''', z'''''''''')), c'''), B) -> F'(triple(a''', cons(y'''''''', cons(y'''''''''', z'''''''''')), c'''), B)
F(triple(a''', cons(y'''''''0'', cons(y''''''''''', z'''''''')), c'''), B) -> F'(triple(a''', cons(y'''''''0'', cons(y''''''''''', z'''''''')), c'''), B)
F(triple(a''', cons(y''''''', nil), c'''), B) -> F'(triple(a''', cons(y''''''', nil), c'''), B)
F'(triple(a', cons(y'''''', cons(y'''''''', z'''''''')), c'), B) -> F(triple(a', cons(y'''''', cons(y'''''''', z'''''''')), c'), A)
F'(triple(a', cons(y'''''''0, cons(y''''''''', z'''''')), c'), B) -> F(triple(a', cons(y'''''''0, cons(y''''''''', z'''''')), c'), A)
F'(triple(a', cons(y''''', nil), c'), B) -> F(triple(a', cons(y''''', nil), c'), A)
F(triple(a''', cons(y'''''''', z''''''''), c'''), B) -> F'(triple(a''', cons(y'''''''', z''''''''), c'''), B)
F'(triple(a', nil, c'), B) -> F(triple(a', nil, c'), A)
F(triple(a''', nil, c'''), B) -> F'(triple(a''', nil, c'''), B)
F(triple(a''', cons(y'''', cons(y'''''', z'''''')), c'''), B) -> F'(triple(a''', cons(y'''', cons(y'''''', z'''''')), c'''), A)
F(triple(a''', cons(y'''', z''''), c'''), B) -> F'(triple(a''', cons(y'''', z''''), c'''), A)
F(triple(a'''', cons(y''''', cons(y'''''', z'''')), c''''), B) -> F'(triple(a'''', cons(y''''', cons(y'''''', z'''')), c''''), A)
F(triple(a'''', cons(y''', nil), c''''), B) -> F'(triple(a'''', cons(y''', nil), c''''), A)
F(triple(a'''', cons(y'''', z''''), c''''), B) -> F'(triple(a'''', cons(y'''', z''''), c''''), A)
F(triple(a''', nil, c'''), B) -> F'(triple(a''', nil, c'''), A)
F(triple(a''', cons(y'''', cons(y'''''', z'''''')), c'''), A) -> F'(triple(a''', cons(y'''', cons(y'''''', z'''''')), c'''), A)
F(triple(a''', cons(y'''', z''''), c'''), A) -> F'(triple(a''', cons(y'''', z''''), c'''), A)
F'(triple(a', cons(y'', cons(y'''', z'''')), c'), A) -> FOLDF(triple(cons(A, a'), nil, c'), cons(y'', cons(y'''', z'''')))
F'(triple(a'', cons(y', cons(y'', z'')), c''), A) -> F''(f(f(foldf(triple(cons(A, a''), nil, c''), z''), y''), y'))
F(triple(a'''', cons(y''''', cons(y'''''', z'''')), c''''), A) -> F'(triple(a'''', cons(y''''', cons(y'''''', z'''')), c''''), A)
F'(triple(a', cons(y'', z''), c'), A) -> FOLDF(triple(cons(A, a'), nil, c'), cons(y'', z''))
F'(triple(a'', cons(y', nil), c''), A) -> F''(f(triple(cons(A, a''), nil, c''), y'))
F(triple(a'''', cons(y''', nil), c''''), A) -> F'(triple(a'''', cons(y''', nil), c''''), A)
FOLDF(x'', cons(y, cons(y'', z''))) -> F(f(foldf(x'', z''), y''), y)
F''(triple(a', b', cons(y'', cons(y'''', z'''')))) -> FOLDF(triple(a', b', nil), cons(y'', cons(y'''', z'''')))
F'(triple(a', nil, c'), A) -> F''(triple(cons(A, a'), nil, c'))
F(triple(a''', nil, c'''), A) -> F'(triple(a''', nil, c'''), A)
FOLDF(x'', cons(y, nil)) -> F(x'', y)
FOLDF(x'', cons(y, cons(y'', z''))) -> FOLDF(x'', cons(y'', z''))
F''(triple(a', b', cons(y'', z''))) -> FOLDF(triple(a', b', nil), cons(y'', z''))
F'(triple(a'', cons(y'', z''), c''), A) -> F''(f'(foldf(triple(cons(A, a''), nil, c''), z''), g(y'')))
F(triple(a'''', cons(y'''', z''''), c''''), A) -> F'(triple(a'''', cons(y'''', z''''), c''''), A)
F'(triple(a', cons(y'''''', z''''''), c'), B) -> F(triple(a', cons(y'''''', z''''''), c'), A)
F(triple(a''', cons(y'''''''', cons(y'''''''''', z'''''''''')), c'''), C) -> F'(triple(a''', cons(y'''''''', cons(y'''''''''', z'''''''''')), c'''), B)
g(A) -> A
g(B) -> A
g(B) -> B
g(C) -> A
g(C) -> B
g(C) -> C
foldf(x, nil) -> x
foldf(x, cons(y, z)) -> f(foldf(x, z), y)
f(t, x) -> f'(t, g(x))
f'(triple(a, b, c), C) -> triple(a, b, cons(C, c))
f'(triple(a, b, c), B) -> f(triple(a, b, c), A)
f'(triple(a, b, c), A) -> f''(foldf(triple(cons(A, a), nil, c), b))
f''(triple(a, b, c)) -> foldf(triple(a, b, nil), c)
innermost
three new Dependency Pairs are created:
FOLDF(x'', cons(y, cons(y'', z''))) -> F(f(foldf(x'', z''), y''), y)
FOLDF(x''', cons(y, cons(y''', z'''))) -> F(f'(foldf(x''', z'''), g(y''')), y)
FOLDF(x''', cons(y, cons(y'', nil))) -> F(f(x''', y''), y)
FOLDF(x''', cons(y, cons(y'', cons(y''', z')))) -> F(f(f(foldf(x''', z'), y'''), y''), y)
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Nar
...
→DP Problem 15
↳Forward Instantiation Transformation
F(triple(a''', cons(y'''''''', cons(y'''''''''', z'''''''''')), c'''), C) -> F'(triple(a''', cons(y'''''''', cons(y'''''''''', z'''''''''')), c'''), B)
F(triple(a''', cons(y''''''', nil), c'''), C) -> F'(triple(a''', cons(y''''''', nil), c'''), B)
F(triple(a''', cons(y'''''''', z''''''''), c'''), C) -> F'(triple(a''', cons(y'''''''', z''''''''), c'''), B)
F(triple(a''', nil, c'''), C) -> F'(triple(a''', nil, c'''), B)
F(triple(a''', cons(y'''', cons(y'''''', z'''''')), c'''), C) -> F'(triple(a''', cons(y'''', cons(y'''''', z'''''')), c'''), A)
F(triple(a''', cons(y'''', z''''), c'''), C) -> F'(triple(a''', cons(y'''', z''''), c'''), A)
F(triple(a'''', cons(y''''', cons(y'''''', z'''')), c''''), C) -> F'(triple(a'''', cons(y''''', cons(y'''''', z'''')), c''''), A)
F(triple(a'''', cons(y''', nil), c''''), C) -> F'(triple(a'''', cons(y''', nil), c''''), A)
F(triple(a'''', cons(y'''', z''''), c''''), C) -> F'(triple(a'''', cons(y'''', z''''), c''''), A)
F(triple(a''', nil, c'''), C) -> F'(triple(a''', nil, c'''), A)
F(triple(a''', cons(y'''''''', cons(y'''''''''', z'''''''''')), c'''), B) -> F'(triple(a''', cons(y'''''''', cons(y'''''''''', z'''''''''')), c'''), B)
F(triple(a''', cons(y'''''''0'', cons(y''''''''''', z'''''''')), c'''), B) -> F'(triple(a''', cons(y'''''''0'', cons(y''''''''''', z'''''''')), c'''), B)
F(triple(a''', cons(y''''''', nil), c'''), B) -> F'(triple(a''', cons(y''''''', nil), c'''), B)
F'(triple(a', cons(y'''''', cons(y'''''''', z'''''''')), c'), B) -> F(triple(a', cons(y'''''', cons(y'''''''', z'''''''')), c'), A)
F'(triple(a', cons(y'''''''0, cons(y''''''''', z'''''')), c'), B) -> F(triple(a', cons(y'''''''0, cons(y''''''''', z'''''')), c'), A)
F'(triple(a', cons(y''''', nil), c'), B) -> F(triple(a', cons(y''''', nil), c'), A)
F(triple(a''', cons(y'''''''', z''''''''), c'''), B) -> F'(triple(a''', cons(y'''''''', z''''''''), c'''), B)
F'(triple(a', nil, c'), B) -> F(triple(a', nil, c'), A)
F(triple(a''', nil, c'''), B) -> F'(triple(a''', nil, c'''), B)
F(triple(a''', cons(y'''', cons(y'''''', z'''''')), c'''), B) -> F'(triple(a''', cons(y'''', cons(y'''''', z'''''')), c'''), A)
F(triple(a''', cons(y'''', z''''), c'''), B) -> F'(triple(a''', cons(y'''', z''''), c'''), A)
F(triple(a'''', cons(y''''', cons(y'''''', z'''')), c''''), B) -> F'(triple(a'''', cons(y''''', cons(y'''''', z'''')), c''''), A)
F(triple(a'''', cons(y''', nil), c''''), B) -> F'(triple(a'''', cons(y''', nil), c''''), A)
F(triple(a'''', cons(y'''', z''''), c''''), B) -> F'(triple(a'''', cons(y'''', z''''), c''''), A)
F(triple(a''', nil, c'''), B) -> F'(triple(a''', nil, c'''), A)
F(triple(a''', cons(y'''', cons(y'''''', z'''''')), c'''), A) -> F'(triple(a''', cons(y'''', cons(y'''''', z'''''')), c'''), A)
F(triple(a''', cons(y'''', z''''), c'''), A) -> F'(triple(a''', cons(y'''', z''''), c'''), A)
FOLDF(x''', cons(y, cons(y'', cons(y''', z')))) -> F(f(f(foldf(x''', z'), y'''), y''), y)
F'(triple(a', cons(y'', cons(y'''', z'''')), c'), A) -> FOLDF(triple(cons(A, a'), nil, c'), cons(y'', cons(y'''', z'''')))
F'(triple(a'', cons(y', cons(y'', z'')), c''), A) -> F''(f(f(foldf(triple(cons(A, a''), nil, c''), z''), y''), y'))
F(triple(a'''', cons(y''''', cons(y'''''', z'''')), c''''), A) -> F'(triple(a'''', cons(y''''', cons(y'''''', z'''')), c''''), A)
FOLDF(x''', cons(y, cons(y'', nil))) -> F(f(x''', y''), y)
F'(triple(a', cons(y'', z''), c'), A) -> FOLDF(triple(cons(A, a'), nil, c'), cons(y'', z''))
F'(triple(a'', cons(y', nil), c''), A) -> F''(f(triple(cons(A, a''), nil, c''), y'))
F(triple(a'''', cons(y''', nil), c''''), A) -> F'(triple(a'''', cons(y''', nil), c''''), A)
FOLDF(x''', cons(y, cons(y''', z'''))) -> F(f'(foldf(x''', z'''), g(y''')), y)
F''(triple(a', b', cons(y'', cons(y'''', z'''')))) -> FOLDF(triple(a', b', nil), cons(y'', cons(y'''', z'''')))
F'(triple(a', nil, c'), A) -> F''(triple(cons(A, a'), nil, c'))
F(triple(a''', nil, c'''), A) -> F'(triple(a''', nil, c'''), A)
FOLDF(x'', cons(y, nil)) -> F(x'', y)
FOLDF(x'', cons(y, cons(y'', z''))) -> FOLDF(x'', cons(y'', z''))
F''(triple(a', b', cons(y'', z''))) -> FOLDF(triple(a', b', nil), cons(y'', z''))
F'(triple(a'', cons(y'', z''), c''), A) -> F''(f'(foldf(triple(cons(A, a''), nil, c''), z''), g(y'')))
F(triple(a'''', cons(y'''', z''''), c''''), A) -> F'(triple(a'''', cons(y'''', z''''), c''''), A)
F'(triple(a', cons(y'''''', z''''''), c'), B) -> F(triple(a', cons(y'''''', z''''''), c'), A)
F(triple(a''', cons(y'''''''0'', cons(y''''''''''', z'''''''')), c'''), C) -> F'(triple(a''', cons(y'''''''0'', cons(y''''''''''', z'''''''')), c'''), B)
g(A) -> A
g(B) -> A
g(B) -> B
g(C) -> A
g(C) -> B
g(C) -> C
foldf(x, nil) -> x
foldf(x, cons(y, z)) -> f(foldf(x, z), y)
f(t, x) -> f'(t, g(x))
f'(triple(a, b, c), C) -> triple(a, b, cons(C, c))
f'(triple(a, b, c), B) -> f(triple(a, b, c), A)
f'(triple(a, b, c), A) -> f''(foldf(triple(cons(A, a), nil, c), b))
f''(triple(a, b, c)) -> foldf(triple(a, b, nil), c)
innermost
two new Dependency Pairs are created:
F'(triple(a', nil, c'), A) -> F''(triple(cons(A, a'), nil, c'))
F'(triple(a''', nil, cons(y'''', z'''')), A) -> F''(triple(cons(A, a'''), nil, cons(y'''', z'''')))
F'(triple(a''', nil, cons(y'''', cons(y'''''', z''''''))), A) -> F''(triple(cons(A, a'''), nil, cons(y'''', cons(y'''''', z''''''))))
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Nar
...
→DP Problem 16
↳Forward Instantiation Transformation
F(triple(a''', cons(y'''''''0'', cons(y''''''''''', z'''''''')), c'''), C) -> F'(triple(a''', cons(y'''''''0'', cons(y''''''''''', z'''''''')), c'''), B)
F(triple(a''', cons(y''''''', nil), c'''), C) -> F'(triple(a''', cons(y''''''', nil), c'''), B)
F(triple(a''', cons(y'''''''', z''''''''), c'''), C) -> F'(triple(a''', cons(y'''''''', z''''''''), c'''), B)
F(triple(a''', nil, c'''), C) -> F'(triple(a''', nil, c'''), B)
F(triple(a''', cons(y'''', cons(y'''''', z'''''')), c'''), C) -> F'(triple(a''', cons(y'''', cons(y'''''', z'''''')), c'''), A)
F(triple(a''', cons(y'''', z''''), c'''), C) -> F'(triple(a''', cons(y'''', z''''), c'''), A)
F(triple(a'''', cons(y''''', cons(y'''''', z'''')), c''''), C) -> F'(triple(a'''', cons(y''''', cons(y'''''', z'''')), c''''), A)
F(triple(a'''', cons(y''', nil), c''''), C) -> F'(triple(a'''', cons(y''', nil), c''''), A)
F(triple(a'''', cons(y'''', z''''), c''''), C) -> F'(triple(a'''', cons(y'''', z''''), c''''), A)
F(triple(a''', nil, c'''), C) -> F'(triple(a''', nil, c'''), A)
F(triple(a''', cons(y'''''''', cons(y'''''''''', z'''''''''')), c'''), B) -> F'(triple(a''', cons(y'''''''', cons(y'''''''''', z'''''''''')), c'''), B)
F(triple(a''', cons(y'''''''0'', cons(y''''''''''', z'''''''')), c'''), B) -> F'(triple(a''', cons(y'''''''0'', cons(y''''''''''', z'''''''')), c'''), B)
F(triple(a''', cons(y''''''', nil), c'''), B) -> F'(triple(a''', cons(y''''''', nil), c'''), B)
F'(triple(a', cons(y'''''', cons(y'''''''', z'''''''')), c'), B) -> F(triple(a', cons(y'''''', cons(y'''''''', z'''''''')), c'), A)
F'(triple(a', cons(y'''''''0, cons(y''''''''', z'''''')), c'), B) -> F(triple(a', cons(y'''''''0, cons(y''''''''', z'''''')), c'), A)
F'(triple(a', cons(y''''', nil), c'), B) -> F(triple(a', cons(y''''', nil), c'), A)
F(triple(a''', cons(y'''''''', z''''''''), c'''), B) -> F'(triple(a''', cons(y'''''''', z''''''''), c'''), B)
F'(triple(a', nil, c'), B) -> F(triple(a', nil, c'), A)
F(triple(a''', nil, c'''), B) -> F'(triple(a''', nil, c'''), B)
F(triple(a''', cons(y'''', cons(y'''''', z'''''')), c'''), B) -> F'(triple(a''', cons(y'''', cons(y'''''', z'''''')), c'''), A)
F(triple(a''', cons(y'''', z''''), c'''), B) -> F'(triple(a''', cons(y'''', z''''), c'''), A)
F(triple(a'''', cons(y''''', cons(y'''''', z'''')), c''''), B) -> F'(triple(a'''', cons(y''''', cons(y'''''', z'''')), c''''), A)
F(triple(a'''', cons(y''', nil), c''''), B) -> F'(triple(a'''', cons(y''', nil), c''''), A)
F(triple(a'''', cons(y'''', z''''), c''''), B) -> F'(triple(a'''', cons(y'''', z''''), c''''), A)
F'(triple(a''', nil, cons(y'''', cons(y'''''', z''''''))), A) -> F''(triple(cons(A, a'''), nil, cons(y'''', cons(y'''''', z''''''))))
F(triple(a''', nil, c'''), B) -> F'(triple(a''', nil, c'''), A)
F(triple(a''', cons(y'''', cons(y'''''', z'''''')), c'''), A) -> F'(triple(a''', cons(y'''', cons(y'''''', z'''''')), c'''), A)
F(triple(a''', cons(y'''', z''''), c'''), A) -> F'(triple(a''', cons(y'''', z''''), c'''), A)
FOLDF(x''', cons(y, cons(y'', cons(y''', z')))) -> F(f(f(foldf(x''', z'), y'''), y''), y)
F'(triple(a', cons(y'', cons(y'''', z'''')), c'), A) -> FOLDF(triple(cons(A, a'), nil, c'), cons(y'', cons(y'''', z'''')))
F'(triple(a'', cons(y', cons(y'', z'')), c''), A) -> F''(f(f(foldf(triple(cons(A, a''), nil, c''), z''), y''), y'))
F(triple(a'''', cons(y''''', cons(y'''''', z'''')), c''''), A) -> F'(triple(a'''', cons(y''''', cons(y'''''', z'''')), c''''), A)
FOLDF(x''', cons(y, cons(y'', nil))) -> F(f(x''', y''), y)
F'(triple(a', cons(y'', z''), c'), A) -> FOLDF(triple(cons(A, a'), nil, c'), cons(y'', z''))
F'(triple(a'', cons(y', nil), c''), A) -> F''(f(triple(cons(A, a''), nil, c''), y'))
F(triple(a'''', cons(y''', nil), c''''), A) -> F'(triple(a'''', cons(y''', nil), c''''), A)
FOLDF(x''', cons(y, cons(y''', z'''))) -> F(f'(foldf(x''', z'''), g(y''')), y)
F''(triple(a', b', cons(y'', cons(y'''', z'''')))) -> FOLDF(triple(a', b', nil), cons(y'', cons(y'''', z'''')))
F'(triple(a''', nil, cons(y'''', z'''')), A) -> F''(triple(cons(A, a'''), nil, cons(y'''', z'''')))
F(triple(a''', nil, c'''), A) -> F'(triple(a''', nil, c'''), A)
FOLDF(x'', cons(y, nil)) -> F(x'', y)
FOLDF(x'', cons(y, cons(y'', z''))) -> FOLDF(x'', cons(y'', z''))
F''(triple(a', b', cons(y'', z''))) -> FOLDF(triple(a', b', nil), cons(y'', z''))
F'(triple(a'', cons(y'', z''), c''), A) -> F''(f'(foldf(triple(cons(A, a''), nil, c''), z''), g(y'')))
F(triple(a'''', cons(y'''', z''''), c''''), A) -> F'(triple(a'''', cons(y'''', z''''), c''''), A)
F'(triple(a', cons(y'''''', z''''''), c'), B) -> F(triple(a', cons(y'''''', z''''''), c'), A)
F(triple(a''', cons(y'''''''', cons(y'''''''''', z'''''''''')), c'''), C) -> F'(triple(a''', cons(y'''''''', cons(y'''''''''', z'''''''''')), c'''), B)
g(A) -> A
g(B) -> A
g(B) -> B
g(C) -> A
g(C) -> B
g(C) -> C
foldf(x, nil) -> x
foldf(x, cons(y, z)) -> f(foldf(x, z), y)
f(t, x) -> f'(t, g(x))
f'(triple(a, b, c), C) -> triple(a, b, cons(C, c))
f'(triple(a, b, c), B) -> f(triple(a, b, c), A)
f'(triple(a, b, c), A) -> f''(foldf(triple(cons(A, a), nil, c), b))
f''(triple(a, b, c)) -> foldf(triple(a, b, nil), c)
innermost
five new Dependency Pairs are created:
FOLDF(x'', cons(y, cons(y'', z''))) -> FOLDF(x'', cons(y'', z''))
FOLDF(x'''', cons(y, cons(y''0, cons(y'''', z'''')))) -> FOLDF(x'''', cons(y''0, cons(y'''', z'''')))
FOLDF(x'''', cons(y, cons(y''', nil))) -> FOLDF(x'''', cons(y''', nil))
FOLDF(x''', cons(y, cons(y''', cons(y''''', z''''')))) -> FOLDF(x''', cons(y''', cons(y''''', z''''')))
FOLDF(x''', cons(y, cons(y''0, cons(y'''', nil)))) -> FOLDF(x''', cons(y''0, cons(y'''', nil)))
FOLDF(x''', cons(y, cons(y''', cons(y''''0, cons(y'''''', z''''))))) -> FOLDF(x''', cons(y''', cons(y''''0, cons(y'''''', z''''))))
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Nar
...
→DP Problem 17
↳Forward Instantiation Transformation
FOLDF(x''', cons(y, cons(y''', cons(y''''0, cons(y'''''', z''''))))) -> FOLDF(x''', cons(y''', cons(y''''0, cons(y'''''', z''''))))
FOLDF(x''', cons(y, cons(y''0, cons(y'''', nil)))) -> FOLDF(x''', cons(y''0, cons(y'''', nil)))
FOLDF(x''', cons(y, cons(y''', cons(y''''', z''''')))) -> FOLDF(x''', cons(y''', cons(y''''', z''''')))
FOLDF(x'''', cons(y, cons(y''', nil))) -> FOLDF(x'''', cons(y''', nil))
FOLDF(x'''', cons(y, cons(y''0, cons(y'''', z'''')))) -> FOLDF(x'''', cons(y''0, cons(y'''', z'''')))
F(triple(a''', cons(y'''''''', cons(y'''''''''', z'''''''''')), c'''), C) -> F'(triple(a''', cons(y'''''''', cons(y'''''''''', z'''''''''')), c'''), B)
F(triple(a''', cons(y''''''', nil), c'''), C) -> F'(triple(a''', cons(y''''''', nil), c'''), B)
F(triple(a''', cons(y'''''''', z''''''''), c'''), C) -> F'(triple(a''', cons(y'''''''', z''''''''), c'''), B)
F(triple(a''', nil, c'''), C) -> F'(triple(a''', nil, c'''), B)
F(triple(a''', cons(y'''', cons(y'''''', z'''''')), c'''), C) -> F'(triple(a''', cons(y'''', cons(y'''''', z'''''')), c'''), A)
F(triple(a''', cons(y'''', z''''), c'''), C) -> F'(triple(a''', cons(y'''', z''''), c'''), A)
F(triple(a'''', cons(y''''', cons(y'''''', z'''')), c''''), C) -> F'(triple(a'''', cons(y''''', cons(y'''''', z'''')), c''''), A)
F(triple(a'''', cons(y''', nil), c''''), C) -> F'(triple(a'''', cons(y''', nil), c''''), A)
F(triple(a'''', cons(y'''', z''''), c''''), C) -> F'(triple(a'''', cons(y'''', z''''), c''''), A)
F(triple(a''', nil, c'''), C) -> F'(triple(a''', nil, c'''), A)
F(triple(a''', cons(y'''''''', cons(y'''''''''', z'''''''''')), c'''), B) -> F'(triple(a''', cons(y'''''''', cons(y'''''''''', z'''''''''')), c'''), B)
F(triple(a''', cons(y'''''''0'', cons(y''''''''''', z'''''''')), c'''), B) -> F'(triple(a''', cons(y'''''''0'', cons(y''''''''''', z'''''''')), c'''), B)
F(triple(a''', cons(y''''''', nil), c'''), B) -> F'(triple(a''', cons(y''''''', nil), c'''), B)
F'(triple(a', cons(y'''''', cons(y'''''''', z'''''''')), c'), B) -> F(triple(a', cons(y'''''', cons(y'''''''', z'''''''')), c'), A)
F'(triple(a', cons(y'''''''0, cons(y''''''''', z'''''')), c'), B) -> F(triple(a', cons(y'''''''0, cons(y''''''''', z'''''')), c'), A)
F'(triple(a', cons(y''''', nil), c'), B) -> F(triple(a', cons(y''''', nil), c'), A)
F(triple(a''', cons(y'''''''', z''''''''), c'''), B) -> F'(triple(a''', cons(y'''''''', z''''''''), c'''), B)
F'(triple(a', nil, c'), B) -> F(triple(a', nil, c'), A)
F(triple(a''', nil, c'''), B) -> F'(triple(a''', nil, c'''), B)
F(triple(a''', cons(y'''', cons(y'''''', z'''''')), c'''), B) -> F'(triple(a''', cons(y'''', cons(y'''''', z'''''')), c'''), A)
F(triple(a''', cons(y'''', z''''), c'''), B) -> F'(triple(a''', cons(y'''', z''''), c'''), A)
F(triple(a'''', cons(y''''', cons(y'''''', z'''')), c''''), B) -> F'(triple(a'''', cons(y''''', cons(y'''''', z'''')), c''''), A)
F(triple(a'''', cons(y''', nil), c''''), B) -> F'(triple(a'''', cons(y''', nil), c''''), A)
F(triple(a'''', cons(y'''', z''''), c''''), B) -> F'(triple(a'''', cons(y'''', z''''), c''''), A)
F'(triple(a''', nil, cons(y'''', cons(y'''''', z''''''))), A) -> F''(triple(cons(A, a'''), nil, cons(y'''', cons(y'''''', z''''''))))
F(triple(a''', nil, c'''), B) -> F'(triple(a''', nil, c'''), A)
F(triple(a''', cons(y'''', cons(y'''''', z'''''')), c'''), A) -> F'(triple(a''', cons(y'''', cons(y'''''', z'''''')), c'''), A)
F(triple(a''', cons(y'''', z''''), c'''), A) -> F'(triple(a''', cons(y'''', z''''), c'''), A)
FOLDF(x''', cons(y, cons(y'', cons(y''', z')))) -> F(f(f(foldf(x''', z'), y'''), y''), y)
F'(triple(a', cons(y'', cons(y'''', z'''')), c'), A) -> FOLDF(triple(cons(A, a'), nil, c'), cons(y'', cons(y'''', z'''')))
F'(triple(a'', cons(y', cons(y'', z'')), c''), A) -> F''(f(f(foldf(triple(cons(A, a''), nil, c''), z''), y''), y'))
F(triple(a'''', cons(y''''', cons(y'''''', z'''')), c''''), A) -> F'(triple(a'''', cons(y''''', cons(y'''''', z'''')), c''''), A)
FOLDF(x''', cons(y, cons(y'', nil))) -> F(f(x''', y''), y)
F'(triple(a', cons(y'', z''), c'), A) -> FOLDF(triple(cons(A, a'), nil, c'), cons(y'', z''))
F'(triple(a'', cons(y', nil), c''), A) -> F''(f(triple(cons(A, a''), nil, c''), y'))
F(triple(a'''', cons(y''', nil), c''''), A) -> F'(triple(a'''', cons(y''', nil), c''''), A)
FOLDF(x''', cons(y, cons(y''', z'''))) -> F(f'(foldf(x''', z'''), g(y''')), y)
F''(triple(a', b', cons(y'', cons(y'''', z'''')))) -> FOLDF(triple(a', b', nil), cons(y'', cons(y'''', z'''')))
F'(triple(a''', nil, cons(y'''', z'''')), A) -> F''(triple(cons(A, a'''), nil, cons(y'''', z'''')))
F(triple(a''', nil, c'''), A) -> F'(triple(a''', nil, c'''), A)
FOLDF(x'', cons(y, nil)) -> F(x'', y)
F''(triple(a', b', cons(y'', z''))) -> FOLDF(triple(a', b', nil), cons(y'', z''))
F'(triple(a'', cons(y'', z''), c''), A) -> F''(f'(foldf(triple(cons(A, a''), nil, c''), z''), g(y'')))
F(triple(a'''', cons(y'''', z''''), c''''), A) -> F'(triple(a'''', cons(y'''', z''''), c''''), A)
F'(triple(a', cons(y'''''', z''''''), c'), B) -> F(triple(a', cons(y'''''', z''''''), c'), A)
F(triple(a''', cons(y'''''''0'', cons(y''''''''''', z'''''''')), c'''), C) -> F'(triple(a''', cons(y'''''''0'', cons(y''''''''''', z'''''''')), c'''), B)
g(A) -> A
g(B) -> A
g(B) -> B
g(C) -> A
g(C) -> B
g(C) -> C
foldf(x, nil) -> x
foldf(x, cons(y, z)) -> f(foldf(x, z), y)
f(t, x) -> f'(t, g(x))
f'(triple(a, b, c), C) -> triple(a, b, cons(C, c))
f'(triple(a, b, c), B) -> f(triple(a, b, c), A)
f'(triple(a, b, c), A) -> f''(foldf(triple(cons(A, a), nil, c), b))
f''(triple(a, b, c)) -> foldf(triple(a, b, nil), c)
innermost
nine new Dependency Pairs are created:
F'(triple(a', cons(y'', z''), c'), A) -> FOLDF(triple(cons(A, a'), nil, c'), cons(y'', z''))
F'(triple(a'', cons(y''', nil), c''), A) -> FOLDF(triple(cons(A, a''), nil, c''), cons(y''', nil))
F'(triple(a'', cons(y''', cons(y''''', z''''')), c''), A) -> FOLDF(triple(cons(A, a''), nil, c''), cons(y''', cons(y''''', z''''')))
F'(triple(a'', cons(y''0, cons(y'''', nil)), c''), A) -> FOLDF(triple(cons(A, a''), nil, c''), cons(y''0, cons(y'''', nil)))
F'(triple(a'', cons(y''', cons(y''''0, cons(y'''''', z''''))), c''), A) -> FOLDF(triple(cons(A, a''), nil, c''), cons(y''', cons(y''''0, cons(y'''''', z''''))))
F'(triple(a'', cons(y''', cons(y''0'', cons(y'''''', z''''''))), c''), A) -> FOLDF(triple(cons(A, a''), nil, c''), cons(y''', cons(y''0'', cons(y'''''', z''''''))))
F'(triple(a'', cons(y''', cons(y''''', nil)), c''), A) -> FOLDF(triple(cons(A, a''), nil, c''), cons(y''', cons(y''''', nil)))
F'(triple(a'', cons(y''', cons(y''''', cons(y''''''', z'''''''))), c''), A) -> FOLDF(triple(cons(A, a''), nil, c''), cons(y''', cons(y''''', cons(y''''''', z'''''''))))
F'(triple(a'', cons(y''', cons(y''0'', cons(y'''''', nil))), c''), A) -> FOLDF(triple(cons(A, a''), nil, c''), cons(y''', cons(y''0'', cons(y'''''', nil))))
F'(triple(a'', cons(y''', cons(y''''', cons(y''''0'', cons(y'''''''', z'''''')))), c''), A) -> FOLDF(triple(cons(A, a''), nil, c''), cons(y''', cons(y''''', cons(y''''0'', cons(y'''''''', z'''''')))))
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Nar
...
→DP Problem 18
↳Forward Instantiation Transformation
F(triple(a''', cons(y'''''''', cons(y'''''''''', z'''''''''')), c'''), C) -> F'(triple(a''', cons(y'''''''', cons(y'''''''''', z'''''''''')), c'''), B)
F(triple(a''', cons(y'''''''0'', cons(y''''''''''', z'''''''')), c'''), C) -> F'(triple(a''', cons(y'''''''0'', cons(y''''''''''', z'''''''')), c'''), B)
F(triple(a''', cons(y''''''', nil), c'''), C) -> F'(triple(a''', cons(y''''''', nil), c'''), B)
F(triple(a''', cons(y'''''''', z''''''''), c'''), C) -> F'(triple(a''', cons(y'''''''', z''''''''), c'''), B)
F(triple(a''', nil, c'''), C) -> F'(triple(a''', nil, c'''), B)
F(triple(a''', cons(y'''', cons(y'''''', z'''''')), c'''), C) -> F'(triple(a''', cons(y'''', cons(y'''''', z'''''')), c'''), A)
F(triple(a''', cons(y'''', z''''), c'''), C) -> F'(triple(a''', cons(y'''', z''''), c'''), A)
F(triple(a'''', cons(y''''', cons(y'''''', z'''')), c''''), C) -> F'(triple(a'''', cons(y''''', cons(y'''''', z'''')), c''''), A)
F(triple(a'''', cons(y''', nil), c''''), C) -> F'(triple(a'''', cons(y''', nil), c''''), A)
F(triple(a'''', cons(y'''', z''''), c''''), C) -> F'(triple(a'''', cons(y'''', z''''), c''''), A)
F(triple(a''', nil, c'''), C) -> F'(triple(a''', nil, c'''), A)
F(triple(a''', cons(y'''''''', cons(y'''''''''', z'''''''''')), c'''), B) -> F'(triple(a''', cons(y'''''''', cons(y'''''''''', z'''''''''')), c'''), B)
F(triple(a''', cons(y'''''''0'', cons(y''''''''''', z'''''''')), c'''), B) -> F'(triple(a''', cons(y'''''''0'', cons(y''''''''''', z'''''''')), c'''), B)
F(triple(a''', cons(y''''''', nil), c'''), B) -> F'(triple(a''', cons(y''''''', nil), c'''), B)
F'(triple(a', cons(y'''''', cons(y'''''''', z'''''''')), c'), B) -> F(triple(a', cons(y'''''', cons(y'''''''', z'''''''')), c'), A)
F'(triple(a', cons(y'''''''0, cons(y''''''''', z'''''')), c'), B) -> F(triple(a', cons(y'''''''0, cons(y''''''''', z'''''')), c'), A)
F'(triple(a', cons(y''''', nil), c'), B) -> F(triple(a', cons(y''''', nil), c'), A)
F'(triple(a', cons(y'''''', z''''''), c'), B) -> F(triple(a', cons(y'''''', z''''''), c'), A)
F(triple(a''', cons(y'''''''', z''''''''), c'''), B) -> F'(triple(a''', cons(y'''''''', z''''''''), c'''), B)
F'(triple(a', nil, c'), B) -> F(triple(a', nil, c'), A)
F(triple(a''', nil, c'''), B) -> F'(triple(a''', nil, c'''), B)
F(triple(a''', cons(y'''', cons(y'''''', z'''''')), c'''), B) -> F'(triple(a''', cons(y'''', cons(y'''''', z'''''')), c'''), A)
F(triple(a''', cons(y'''', z''''), c'''), B) -> F'(triple(a''', cons(y'''', z''''), c'''), A)
F(triple(a'''', cons(y''''', cons(y'''''', z'''')), c''''), B) -> F'(triple(a'''', cons(y''''', cons(y'''''', z'''')), c''''), A)
F(triple(a'''', cons(y''', nil), c''''), B) -> F'(triple(a'''', cons(y''', nil), c''''), A)
F(triple(a'''', cons(y'''', z''''), c''''), B) -> F'(triple(a'''', cons(y'''', z''''), c''''), A)
F'(triple(a''', nil, cons(y'''', cons(y'''''', z''''''))), A) -> F''(triple(cons(A, a'''), nil, cons(y'''', cons(y'''''', z''''''))))
F(triple(a''', nil, c'''), B) -> F'(triple(a''', nil, c'''), A)
F(triple(a''', cons(y'''', cons(y'''''', z'''''')), c'''), A) -> F'(triple(a''', cons(y'''', cons(y'''''', z'''''')), c'''), A)
F'(triple(a'', cons(y''', cons(y''''', cons(y''''0'', cons(y'''''''', z'''''')))), c''), A) -> FOLDF(triple(cons(A, a''), nil, c''), cons(y''', cons(y''''', cons(y''''0'', cons(y'''''''', z'''''')))))
F'(triple(a'', cons(y''', cons(y''0'', cons(y'''''', nil))), c''), A) -> FOLDF(triple(cons(A, a''), nil, c''), cons(y''', cons(y''0'', cons(y'''''', nil))))
F'(triple(a'', cons(y''', cons(y''''', cons(y''''''', z'''''''))), c''), A) -> FOLDF(triple(cons(A, a''), nil, c''), cons(y''', cons(y''''', cons(y''''''', z'''''''))))
F'(triple(a'', cons(y''', cons(y''''', nil)), c''), A) -> FOLDF(triple(cons(A, a''), nil, c''), cons(y''', cons(y''''', nil)))
F'(triple(a'', cons(y''', cons(y''0'', cons(y'''''', z''''''))), c''), A) -> FOLDF(triple(cons(A, a''), nil, c''), cons(y''', cons(y''0'', cons(y'''''', z''''''))))
F'(triple(a'', cons(y''', cons(y''''0, cons(y'''''', z''''))), c''), A) -> FOLDF(triple(cons(A, a''), nil, c''), cons(y''', cons(y''''0, cons(y'''''', z''''))))
F'(triple(a'', cons(y''0, cons(y'''', nil)), c''), A) -> FOLDF(triple(cons(A, a''), nil, c''), cons(y''0, cons(y'''', nil)))
FOLDF(x''', cons(y, cons(y''0, cons(y'''', nil)))) -> FOLDF(x''', cons(y''0, cons(y'''', nil)))
FOLDF(x''', cons(y, cons(y''', cons(y''''', z''''')))) -> FOLDF(x''', cons(y''', cons(y''''', z''''')))
FOLDF(x'''', cons(y, cons(y''', nil))) -> FOLDF(x'''', cons(y''', nil))
FOLDF(x'''', cons(y, cons(y''0, cons(y'''', z'''')))) -> FOLDF(x'''', cons(y''0, cons(y'''', z'''')))
F'(triple(a'', cons(y''', cons(y''''', z''''')), c''), A) -> FOLDF(triple(cons(A, a''), nil, c''), cons(y''', cons(y''''', z''''')))
F(triple(a''', cons(y'''', z''''), c'''), A) -> F'(triple(a''', cons(y'''', z''''), c'''), A)
FOLDF(x''', cons(y, cons(y'', cons(y''', z')))) -> F(f(f(foldf(x''', z'), y'''), y''), y)
F'(triple(a', cons(y'', cons(y'''', z'''')), c'), A) -> FOLDF(triple(cons(A, a'), nil, c'), cons(y'', cons(y'''', z'''')))
F'(triple(a'', cons(y', cons(y'', z'')), c''), A) -> F''(f(f(foldf(triple(cons(A, a''), nil, c''), z''), y''), y'))
F(triple(a'''', cons(y''''', cons(y'''''', z'''')), c''''), A) -> F'(triple(a'''', cons(y''''', cons(y'''''', z'''')), c''''), A)
F'(triple(a'', cons(y''', nil), c''), A) -> FOLDF(triple(cons(A, a''), nil, c''), cons(y''', nil))
F'(triple(a'', cons(y', nil), c''), A) -> F''(f(triple(cons(A, a''), nil, c''), y'))
F(triple(a'''', cons(y''', nil), c''''), A) -> F'(triple(a'''', cons(y''', nil), c''''), A)
FOLDF(x''', cons(y, cons(y'', nil))) -> F(f(x''', y''), y)
F''(triple(a', b', cons(y'', cons(y'''', z'''')))) -> FOLDF(triple(a', b', nil), cons(y'', cons(y'''', z'''')))
F'(triple(a'', cons(y'', z''), c''), A) -> F''(f'(foldf(triple(cons(A, a''), nil, c''), z''), g(y'')))
F(triple(a'''', cons(y'''', z''''), c''''), A) -> F'(triple(a'''', cons(y'''', z''''), c''''), A)
FOLDF(x'', cons(y, nil)) -> F(x'', y)
F''(triple(a', b', cons(y'', z''))) -> FOLDF(triple(a', b', nil), cons(y'', z''))
F'(triple(a''', nil, cons(y'''', z'''')), A) -> F''(triple(cons(A, a'''), nil, cons(y'''', z'''')))
F(triple(a''', nil, c'''), A) -> F'(triple(a''', nil, c'''), A)
FOLDF(x''', cons(y, cons(y''', z'''))) -> F(f'(foldf(x''', z'''), g(y''')), y)
FOLDF(x''', cons(y, cons(y''', cons(y''''0, cons(y'''''', z''''))))) -> FOLDF(x''', cons(y''', cons(y''''0, cons(y'''''', z''''))))
g(A) -> A
g(B) -> A
g(B) -> B
g(C) -> A
g(C) -> B
g(C) -> C
foldf(x, nil) -> x
foldf(x, cons(y, z)) -> f(foldf(x, z), y)
f(t, x) -> f'(t, g(x))
f'(triple(a, b, c), C) -> triple(a, b, cons(C, c))
f'(triple(a, b, c), B) -> f(triple(a, b, c), A)
f'(triple(a, b, c), A) -> f''(foldf(triple(cons(A, a), nil, c), b))
f''(triple(a, b, c)) -> foldf(triple(a, b, nil), c)
innermost
nine new Dependency Pairs are created:
F''(triple(a', b', cons(y'', z''))) -> FOLDF(triple(a', b', nil), cons(y'', z''))
F''(triple(a'', b'', cons(y''', nil))) -> FOLDF(triple(a'', b'', nil), cons(y''', nil))
F''(triple(a'', b'', cons(y''', cons(y''''', z''''')))) -> FOLDF(triple(a'', b'', nil), cons(y''', cons(y''''', z''''')))
F''(triple(a'', b'', cons(y''0, cons(y'''', nil)))) -> FOLDF(triple(a'', b'', nil), cons(y''0, cons(y'''', nil)))
F''(triple(a'', b'', cons(y''', cons(y''''0, cons(y'''''', z''''))))) -> FOLDF(triple(a'', b'', nil), cons(y''', cons(y''''0, cons(y'''''', z''''))))
F''(triple(a'', b'', cons(y''', cons(y''0'', cons(y'''''', z''''''))))) -> FOLDF(triple(a'', b'', nil), cons(y''', cons(y''0'', cons(y'''''', z''''''))))
F''(triple(a'', b'', cons(y''', cons(y''''', nil)))) -> FOLDF(triple(a'', b'', nil), cons(y''', cons(y''''', nil)))
F''(triple(a'', b'', cons(y''', cons(y''''', cons(y''''''', z'''''''))))) -> FOLDF(triple(a'', b'', nil), cons(y''', cons(y''''', cons(y''''''', z'''''''))))
F''(triple(a'', b'', cons(y''', cons(y''0'', cons(y'''''', nil))))) -> FOLDF(triple(a'', b'', nil), cons(y''', cons(y''0'', cons(y'''''', nil))))
F''(triple(a'', b'', cons(y''', cons(y''''', cons(y''''0'', cons(y'''''''', z'''''')))))) -> FOLDF(triple(a'', b'', nil), cons(y''', cons(y''''', cons(y''''0'', cons(y'''''''', z'''''')))))
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Nar
...
→DP Problem 19
↳Forward Instantiation Transformation
F(triple(a''', cons(y'''''''0'', cons(y''''''''''', z'''''''')), c'''), C) -> F'(triple(a''', cons(y'''''''0'', cons(y''''''''''', z'''''''')), c'''), B)
F(triple(a''', cons(y''''''', nil), c'''), C) -> F'(triple(a''', cons(y''''''', nil), c'''), B)
F(triple(a''', cons(y'''''''', z''''''''), c'''), C) -> F'(triple(a''', cons(y'''''''', z''''''''), c'''), B)
F(triple(a''', nil, c'''), C) -> F'(triple(a''', nil, c'''), B)
F(triple(a''', cons(y'''', cons(y'''''', z'''''')), c'''), C) -> F'(triple(a''', cons(y'''', cons(y'''''', z'''''')), c'''), A)
F(triple(a''', cons(y'''', z''''), c'''), C) -> F'(triple(a''', cons(y'''', z''''), c'''), A)
F(triple(a'''', cons(y''''', cons(y'''''', z'''')), c''''), C) -> F'(triple(a'''', cons(y''''', cons(y'''''', z'''')), c''''), A)
F(triple(a'''', cons(y''', nil), c''''), C) -> F'(triple(a'''', cons(y''', nil), c''''), A)
F(triple(a'''', cons(y'''', z''''), c''''), C) -> F'(triple(a'''', cons(y'''', z''''), c''''), A)
F(triple(a''', nil, c'''), C) -> F'(triple(a''', nil, c'''), A)
F(triple(a''', cons(y'''''''', cons(y'''''''''', z'''''''''')), c'''), B) -> F'(triple(a''', cons(y'''''''', cons(y'''''''''', z'''''''''')), c'''), B)
F(triple(a''', cons(y'''''''0'', cons(y''''''''''', z'''''''')), c'''), B) -> F'(triple(a''', cons(y'''''''0'', cons(y''''''''''', z'''''''')), c'''), B)
F(triple(a''', cons(y''''''', nil), c'''), B) -> F'(triple(a''', cons(y''''''', nil), c'''), B)
F'(triple(a', cons(y'''''', cons(y'''''''', z'''''''')), c'), B) -> F(triple(a', cons(y'''''', cons(y'''''''', z'''''''')), c'), A)
F'(triple(a', cons(y'''''''0, cons(y''''''''', z'''''')), c'), B) -> F(triple(a', cons(y'''''''0, cons(y''''''''', z'''''')), c'), A)
F'(triple(a', cons(y''''', nil), c'), B) -> F(triple(a', cons(y''''', nil), c'), A)
F(triple(a''', cons(y'''''''', z''''''''), c'''), B) -> F'(triple(a''', cons(y'''''''', z''''''''), c'''), B)
F'(triple(a', nil, c'), B) -> F(triple(a', nil, c'), A)
F(triple(a''', nil, c'''), B) -> F'(triple(a''', nil, c'''), B)
F(triple(a''', cons(y'''', cons(y'''''', z'''''')), c'''), B) -> F'(triple(a''', cons(y'''', cons(y'''''', z'''''')), c'''), A)
F(triple(a''', cons(y'''', z''''), c'''), B) -> F'(triple(a''', cons(y'''', z''''), c'''), A)
F(triple(a'''', cons(y''''', cons(y'''''', z'''')), c''''), B) -> F'(triple(a'''', cons(y''''', cons(y'''''', z'''')), c''''), A)
F(triple(a'''', cons(y''', nil), c''''), B) -> F'(triple(a'''', cons(y''', nil), c''''), A)
F(triple(a'''', cons(y'''', z''''), c''''), B) -> F'(triple(a'''', cons(y'''', z''''), c''''), A)
F''(triple(a'', b'', cons(y''', cons(y''''', cons(y''''0'', cons(y'''''''', z'''''')))))) -> FOLDF(triple(a'', b'', nil), cons(y''', cons(y''''', cons(y''''0'', cons(y'''''''', z'''''')))))
F''(triple(a'', b'', cons(y''', cons(y''0'', cons(y'''''', nil))))) -> FOLDF(triple(a'', b'', nil), cons(y''', cons(y''0'', cons(y'''''', nil))))
F''(triple(a'', b'', cons(y''', cons(y''''', cons(y''''''', z'''''''))))) -> FOLDF(triple(a'', b'', nil), cons(y''', cons(y''''', cons(y''''''', z'''''''))))
F''(triple(a'', b'', cons(y''', cons(y''''', nil)))) -> FOLDF(triple(a'', b'', nil), cons(y''', cons(y''''', nil)))
F''(triple(a'', b'', cons(y''', cons(y''0'', cons(y'''''', z''''''))))) -> FOLDF(triple(a'', b'', nil), cons(y''', cons(y''0'', cons(y'''''', z''''''))))
F'(triple(a''', nil, cons(y'''', cons(y'''''', z''''''))), A) -> F''(triple(cons(A, a'''), nil, cons(y'''', cons(y'''''', z''''''))))
F(triple(a''', nil, c'''), B) -> F'(triple(a''', nil, c'''), A)
F(triple(a''', cons(y'''', cons(y'''''', z'''''')), c'''), A) -> F'(triple(a''', cons(y'''', cons(y'''''', z'''''')), c'''), A)
F'(triple(a'', cons(y''', cons(y''''', cons(y''''0'', cons(y'''''''', z'''''')))), c''), A) -> FOLDF(triple(cons(A, a''), nil, c''), cons(y''', cons(y''''', cons(y''''0'', cons(y'''''''', z'''''')))))
F'(triple(a'', cons(y''', cons(y''0'', cons(y'''''', nil))), c''), A) -> FOLDF(triple(cons(A, a''), nil, c''), cons(y''', cons(y''0'', cons(y'''''', nil))))
F'(triple(a'', cons(y''', cons(y''''', cons(y''''''', z'''''''))), c''), A) -> FOLDF(triple(cons(A, a''), nil, c''), cons(y''', cons(y''''', cons(y''''''', z'''''''))))
F'(triple(a'', cons(y''', cons(y''''', nil)), c''), A) -> FOLDF(triple(cons(A, a''), nil, c''), cons(y''', cons(y''''', nil)))
F'(triple(a'', cons(y''', cons(y''0'', cons(y'''''', z''''''))), c''), A) -> FOLDF(triple(cons(A, a''), nil, c''), cons(y''', cons(y''0'', cons(y'''''', z''''''))))
F'(triple(a'', cons(y''', cons(y''''0, cons(y'''''', z''''))), c''), A) -> FOLDF(triple(cons(A, a''), nil, c''), cons(y''', cons(y''''0, cons(y'''''', z''''))))
F'(triple(a'', cons(y''0, cons(y'''', nil)), c''), A) -> FOLDF(triple(cons(A, a''), nil, c''), cons(y''0, cons(y'''', nil)))
F'(triple(a'', cons(y''', cons(y''''', z''''')), c''), A) -> FOLDF(triple(cons(A, a''), nil, c''), cons(y''', cons(y''''', z''''')))
F'(triple(a'', cons(y''', nil), c''), A) -> FOLDF(triple(cons(A, a''), nil, c''), cons(y''', nil))
FOLDF(x''', cons(y, cons(y''', cons(y''''0, cons(y'''''', z''''))))) -> FOLDF(x''', cons(y''', cons(y''''0, cons(y'''''', z''''))))
FOLDF(x''', cons(y, cons(y''0, cons(y'''', nil)))) -> FOLDF(x''', cons(y''0, cons(y'''', nil)))
FOLDF(x''', cons(y, cons(y''', cons(y''''', z''''')))) -> FOLDF(x''', cons(y''', cons(y''''', z''''')))
FOLDF(x'''', cons(y, cons(y''0, cons(y'''', z'''')))) -> FOLDF(x'''', cons(y''0, cons(y'''', z'''')))
F'(triple(a', cons(y'', cons(y'''', z'''')), c'), A) -> FOLDF(triple(cons(A, a'), nil, c'), cons(y'', cons(y'''', z'''')))
F(triple(a''', cons(y'''', z''''), c'''), A) -> F'(triple(a''', cons(y'''', z''''), c'''), A)
FOLDF(x''', cons(y, cons(y'', cons(y''', z')))) -> F(f(f(foldf(x''', z'), y'''), y''), y)
F''(triple(a'', b'', cons(y''', cons(y''''0, cons(y'''''', z''''))))) -> FOLDF(triple(a'', b'', nil), cons(y''', cons(y''''0, cons(y'''''', z''''))))
FOLDF(x'''', cons(y, cons(y''', nil))) -> FOLDF(x'''', cons(y''', nil))
F''(triple(a'', b'', cons(y''0, cons(y'''', nil)))) -> FOLDF(triple(a'', b'', nil), cons(y''0, cons(y'''', nil)))
F'(triple(a'', cons(y', cons(y'', z'')), c''), A) -> F''(f(f(foldf(triple(cons(A, a''), nil, c''), z''), y''), y'))
F(triple(a'''', cons(y''''', cons(y'''''', z'''')), c''''), A) -> F'(triple(a'''', cons(y''''', cons(y'''''', z'''')), c''''), A)
FOLDF(x''', cons(y, cons(y'', nil))) -> F(f(x''', y''), y)
F''(triple(a'', b'', cons(y''', cons(y''''', z''''')))) -> FOLDF(triple(a'', b'', nil), cons(y''', cons(y''''', z''''')))
F'(triple(a'', cons(y', nil), c''), A) -> F''(f(triple(cons(A, a''), nil, c''), y'))
F(triple(a'''', cons(y''', nil), c''''), A) -> F'(triple(a'''', cons(y''', nil), c''''), A)
FOLDF(x'', cons(y, nil)) -> F(x'', y)
F''(triple(a'', b'', cons(y''', nil))) -> FOLDF(triple(a'', b'', nil), cons(y''', nil))
F'(triple(a''', nil, cons(y'''', z'''')), A) -> F''(triple(cons(A, a'''), nil, cons(y'''', z'''')))
F(triple(a''', nil, c'''), A) -> F'(triple(a''', nil, c'''), A)
FOLDF(x''', cons(y, cons(y''', z'''))) -> F(f'(foldf(x''', z'''), g(y''')), y)
F''(triple(a', b', cons(y'', cons(y'''', z'''')))) -> FOLDF(triple(a', b', nil), cons(y'', cons(y'''', z'''')))
F'(triple(a'', cons(y'', z''), c''), A) -> F''(f'(foldf(triple(cons(A, a''), nil, c''), z''), g(y'')))
F(triple(a'''', cons(y'''', z''''), c''''), A) -> F'(triple(a'''', cons(y'''', z''''), c''''), A)
F'(triple(a', cons(y'''''', z''''''), c'), B) -> F(triple(a', cons(y'''''', z''''''), c'), A)
F(triple(a''', cons(y'''''''', cons(y'''''''''', z'''''''''')), c'''), C) -> F'(triple(a''', cons(y'''''''', cons(y'''''''''', z'''''''''')), c'''), B)
g(A) -> A
g(B) -> A
g(B) -> B
g(C) -> A
g(C) -> B
g(C) -> C
foldf(x, nil) -> x
foldf(x, cons(y, z)) -> f(foldf(x, z), y)
f(t, x) -> f'(t, g(x))
f'(triple(a, b, c), C) -> triple(a, b, cons(C, c))
f'(triple(a, b, c), B) -> f(triple(a, b, c), A)
f'(triple(a, b, c), A) -> f''(foldf(triple(cons(A, a), nil, c), b))
f''(triple(a, b, c)) -> foldf(triple(a, b, nil), c)
innermost
26 new Dependency Pairs are created:
FOLDF(x'', cons(y, nil)) -> F(x'', y)
FOLDF(triple(a''''', nil, c'''''), cons(A, nil)) -> F(triple(a''''', nil, c'''''), A)
FOLDF(triple(a'''''', cons(y'''''', z''''''), c''''''), cons(A, nil)) -> F(triple(a'''''', cons(y'''''', z''''''), c''''''), A)
FOLDF(triple(a'''''', cons(y''''', nil), c''''''), cons(A, nil)) -> F(triple(a'''''', cons(y''''', nil), c''''''), A)
FOLDF(triple(a'''''', cons(y'''''''0, cons(y''''''''', z'''''')), c''''''), cons(A, nil)) -> F(triple(a'''''', cons(y'''''''0, cons(y''''''''', z'''''')), c''''''), A)
FOLDF(triple(a''''', cons(y'''''', z''''''), c'''''), cons(A, nil)) -> F(triple(a''''', cons(y'''''', z''''''), c'''''), A)
FOLDF(triple(a''''', cons(y'''''', cons(y'''''''', z'''''''')), c'''''), cons(A, nil)) -> F(triple(a''''', cons(y'''''', cons(y'''''''', z'''''''')), c'''''), A)
FOLDF(triple(a''''', nil, c'''''), cons(B, nil)) -> F(triple(a''''', nil, c'''''), B)
FOLDF(triple(a'''''', cons(y'''''', z''''''), c''''''), cons(B, nil)) -> F(triple(a'''''', cons(y'''''', z''''''), c''''''), B)
FOLDF(triple(a'''''', cons(y''''', nil), c''''''), cons(B, nil)) -> F(triple(a'''''', cons(y''''', nil), c''''''), B)
FOLDF(triple(a'''''', cons(y'''''''0, cons(y''''''''', z'''''')), c''''''), cons(B, nil)) -> F(triple(a'''''', cons(y'''''''0, cons(y''''''''', z'''''')), c''''''), B)
FOLDF(triple(a''''', cons(y'''''', z''''''), c'''''), cons(B, nil)) -> F(triple(a''''', cons(y'''''', z''''''), c'''''), B)
FOLDF(triple(a''''', cons(y'''''', cons(y'''''''', z'''''''')), c'''''), cons(B, nil)) -> F(triple(a''''', cons(y'''''', cons(y'''''''', z'''''''')), c'''''), B)
FOLDF(triple(a''''', cons(y'''''''''', z''''''''''), c'''''), cons(B, nil)) -> F(triple(a''''', cons(y'''''''''', z''''''''''), c'''''), B)
FOLDF(triple(a''''', cons(y''''''''', nil), c'''''), cons(B, nil)) -> F(triple(a''''', cons(y''''''''', nil), c'''''), B)
FOLDF(triple(a''''', cons(y'''''''0'''', cons(y''''''''''''', z'''''''''')), c'''''), cons(B, nil)) -> F(triple(a''''', cons(y'''''''0'''', cons(y''''''''''''', z'''''''''')), c'''''), B)
FOLDF(triple(a''''', cons(y'''''''''', cons(y'''''''''''', z'''''''''''')), c'''''), cons(B, nil)) -> F(triple(a''''', cons(y'''''''''', cons(y'''''''''''', z'''''''''''')), c'''''), B)
FOLDF(triple(a''''', nil, c'''''), cons(C, nil)) -> F(triple(a''''', nil, c'''''), C)
FOLDF(triple(a'''''', cons(y'''''', z''''''), c''''''), cons(C, nil)) -> F(triple(a'''''', cons(y'''''', z''''''), c''''''), C)
FOLDF(triple(a'''''', cons(y''''', nil), c''''''), cons(C, nil)) -> F(triple(a'''''', cons(y''''', nil), c''''''), C)
FOLDF(triple(a'''''', cons(y'''''''0, cons(y''''''''', z'''''')), c''''''), cons(C, nil)) -> F(triple(a'''''', cons(y'''''''0, cons(y''''''''', z'''''')), c''''''), C)
FOLDF(triple(a''''', cons(y'''''', z''''''), c'''''), cons(C, nil)) -> F(triple(a''''', cons(y'''''', z''''''), c'''''), C)
FOLDF(triple(a''''', cons(y'''''', cons(y'''''''', z'''''''')), c'''''), cons(C, nil)) -> F(triple(a''''', cons(y'''''', cons(y'''''''', z'''''''')), c'''''), C)
FOLDF(triple(a''''', cons(y'''''''''', z''''''''''), c'''''), cons(C, nil)) -> F(triple(a''''', cons(y'''''''''', z''''''''''), c'''''), C)
FOLDF(triple(a''''', cons(y''''''''', nil), c'''''), cons(C, nil)) -> F(triple(a''''', cons(y''''''''', nil), c'''''), C)
FOLDF(triple(a''''', cons(y'''''''0'''', cons(y''''''''''''', z'''''''''')), c'''''), cons(C, nil)) -> F(triple(a''''', cons(y'''''''0'''', cons(y''''''''''''', z'''''''''')), c'''''), C)
FOLDF(triple(a''''', cons(y'''''''''', cons(y'''''''''''', z'''''''''''')), c'''''), cons(C, nil)) -> F(triple(a''''', cons(y'''''''''', cons(y'''''''''''', z'''''''''''')), c'''''), C)
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Nar
...
→DP Problem 20
↳Polynomial Ordering
FOLDF(triple(a''''', cons(y'''''''''', cons(y'''''''''''', z'''''''''''')), c'''''), cons(C, nil)) -> F(triple(a''''', cons(y'''''''''', cons(y'''''''''''', z'''''''''''')), c'''''), C)
FOLDF(triple(a''''', cons(y'''''''0'''', cons(y''''''''''''', z'''''''''')), c'''''), cons(C, nil)) -> F(triple(a''''', cons(y'''''''0'''', cons(y''''''''''''', z'''''''''')), c'''''), C)
FOLDF(triple(a''''', cons(y''''''''', nil), c'''''), cons(C, nil)) -> F(triple(a''''', cons(y''''''''', nil), c'''''), C)
FOLDF(triple(a''''', cons(y'''''''''', z''''''''''), c'''''), cons(C, nil)) -> F(triple(a''''', cons(y'''''''''', z''''''''''), c'''''), C)
FOLDF(triple(a''''', cons(y'''''', cons(y'''''''', z'''''''')), c'''''), cons(C, nil)) -> F(triple(a''''', cons(y'''''', cons(y'''''''', z'''''''')), c'''''), C)
FOLDF(triple(a''''', cons(y'''''', z''''''), c'''''), cons(C, nil)) -> F(triple(a''''', cons(y'''''', z''''''), c'''''), C)
FOLDF(triple(a'''''', cons(y'''''''0, cons(y''''''''', z'''''')), c''''''), cons(C, nil)) -> F(triple(a'''''', cons(y'''''''0, cons(y''''''''', z'''''')), c''''''), C)
FOLDF(triple(a'''''', cons(y''''', nil), c''''''), cons(C, nil)) -> F(triple(a'''''', cons(y''''', nil), c''''''), C)
FOLDF(triple(a'''''', cons(y'''''', z''''''), c''''''), cons(C, nil)) -> F(triple(a'''''', cons(y'''''', z''''''), c''''''), C)
FOLDF(triple(a''''', cons(y'''''''''', cons(y'''''''''''', z'''''''''''')), c'''''), cons(B, nil)) -> F(triple(a''''', cons(y'''''''''', cons(y'''''''''''', z'''''''''''')), c'''''), B)
FOLDF(triple(a''''', cons(y'''''''0'''', cons(y''''''''''''', z'''''''''')), c'''''), cons(B, nil)) -> F(triple(a''''', cons(y'''''''0'''', cons(y''''''''''''', z'''''''''')), c'''''), B)
FOLDF(triple(a''''', cons(y''''''''', nil), c'''''), cons(B, nil)) -> F(triple(a''''', cons(y''''''''', nil), c'''''), B)
FOLDF(triple(a''''', cons(y'''''''''', z''''''''''), c'''''), cons(B, nil)) -> F(triple(a''''', cons(y'''''''''', z''''''''''), c'''''), B)
FOLDF(triple(a''''', cons(y'''''', cons(y'''''''', z'''''''')), c'''''), cons(B, nil)) -> F(triple(a''''', cons(y'''''', cons(y'''''''', z'''''''')), c'''''), B)
FOLDF(triple(a''''', cons(y'''''', z''''''), c'''''), cons(B, nil)) -> F(triple(a''''', cons(y'''''', z''''''), c'''''), B)
FOLDF(triple(a'''''', cons(y'''''''0, cons(y''''''''', z'''''')), c''''''), cons(B, nil)) -> F(triple(a'''''', cons(y'''''''0, cons(y''''''''', z'''''')), c''''''), B)
FOLDF(triple(a'''''', cons(y''''', nil), c''''''), cons(B, nil)) -> F(triple(a'''''', cons(y''''', nil), c''''''), B)
FOLDF(triple(a'''''', cons(y'''''', z''''''), c''''''), cons(B, nil)) -> F(triple(a'''''', cons(y'''''', z''''''), c''''''), B)
FOLDF(triple(a''''', cons(y'''''', cons(y'''''''', z'''''''')), c'''''), cons(A, nil)) -> F(triple(a''''', cons(y'''''', cons(y'''''''', z'''''''')), c'''''), A)
FOLDF(triple(a''''', cons(y'''''', z''''''), c'''''), cons(A, nil)) -> F(triple(a''''', cons(y'''''', z''''''), c'''''), A)
FOLDF(triple(a'''''', cons(y'''''''0, cons(y''''''''', z'''''')), c''''''), cons(A, nil)) -> F(triple(a'''''', cons(y'''''''0, cons(y''''''''', z'''''')), c''''''), A)
F(triple(a''', cons(y'''''''', cons(y'''''''''', z'''''''''')), c'''), C) -> F'(triple(a''', cons(y'''''''', cons(y'''''''''', z'''''''''')), c'''), B)
F(triple(a''', cons(y''''''', nil), c'''), C) -> F'(triple(a''', cons(y''''''', nil), c'''), B)
F(triple(a''', cons(y'''''''', z''''''''), c'''), C) -> F'(triple(a''', cons(y'''''''', z''''''''), c'''), B)
F(triple(a''', cons(y'''', cons(y'''''', z'''''')), c'''), C) -> F'(triple(a''', cons(y'''', cons(y'''''', z'''''')), c'''), A)
F(triple(a''', cons(y'''', z''''), c'''), C) -> F'(triple(a''', cons(y'''', z''''), c'''), A)
F(triple(a'''', cons(y''''', cons(y'''''', z'''')), c''''), C) -> F'(triple(a'''', cons(y''''', cons(y'''''', z'''')), c''''), A)
F(triple(a'''', cons(y''', nil), c''''), C) -> F'(triple(a'''', cons(y''', nil), c''''), A)
F(triple(a'''', cons(y'''', z''''), c''''), C) -> F'(triple(a'''', cons(y'''', z''''), c''''), A)
F(triple(a''', cons(y'''''''', cons(y'''''''''', z'''''''''')), c'''), B) -> F'(triple(a''', cons(y'''''''', cons(y'''''''''', z'''''''''')), c'''), B)
F(triple(a''', cons(y'''''''0'', cons(y''''''''''', z'''''''')), c'''), B) -> F'(triple(a''', cons(y'''''''0'', cons(y''''''''''', z'''''''')), c'''), B)
F(triple(a''', cons(y''''''', nil), c'''), B) -> F'(triple(a''', cons(y''''''', nil), c'''), B)
F'(triple(a', cons(y'''''', cons(y'''''''', z'''''''')), c'), B) -> F(triple(a', cons(y'''''', cons(y'''''''', z'''''''')), c'), A)
F'(triple(a', cons(y'''''''0, cons(y''''''''', z'''''')), c'), B) -> F(triple(a', cons(y'''''''0, cons(y''''''''', z'''''')), c'), A)
F'(triple(a', cons(y''''', nil), c'), B) -> F(triple(a', cons(y''''', nil), c'), A)
F(triple(a''', cons(y'''''''', z''''''''), c'''), B) -> F'(triple(a''', cons(y'''''''', z''''''''), c'''), B)
F(triple(a''', cons(y'''', cons(y'''''', z'''''')), c'''), B) -> F'(triple(a''', cons(y'''', cons(y'''''', z'''''')), c'''), A)
F(triple(a''', cons(y'''', z''''), c'''), B) -> F'(triple(a''', cons(y'''', z''''), c'''), A)
F(triple(a'''', cons(y''''', cons(y'''''', z'''')), c''''), B) -> F'(triple(a'''', cons(y''''', cons(y'''''', z'''')), c''''), A)
F(triple(a'''', cons(y''', nil), c''''), B) -> F'(triple(a'''', cons(y''', nil), c''''), A)
F(triple(a''', nil, c'''), C) -> F'(triple(a''', nil, c'''), B)
F(triple(a''', nil, c'''), C) -> F'(triple(a''', nil, c'''), A)
FOLDF(triple(a''''', nil, c'''''), cons(C, nil)) -> F(triple(a''''', nil, c'''''), C)
F'(triple(a', nil, c'), B) -> F(triple(a', nil, c'), A)
F(triple(a''', nil, c'''), B) -> F'(triple(a''', nil, c'''), B)
FOLDF(triple(a''''', nil, c'''''), cons(B, nil)) -> F(triple(a''''', nil, c'''''), B)
F'(triple(a'', cons(y''', nil), c''), A) -> FOLDF(triple(cons(A, a''), nil, c''), cons(y''', nil))
F(triple(a'''', cons(y'''', z''''), c''''), B) -> F'(triple(a'''', cons(y'''', z''''), c''''), A)
F''(triple(a'', b'', cons(y''', cons(y''''', cons(y''''0'', cons(y'''''''', z'''''')))))) -> FOLDF(triple(a'', b'', nil), cons(y''', cons(y''''', cons(y''''0'', cons(y'''''''', z'''''')))))
F''(triple(a'', b'', cons(y''', cons(y''0'', cons(y'''''', nil))))) -> FOLDF(triple(a'', b'', nil), cons(y''', cons(y''0'', cons(y'''''', nil))))
F''(triple(a'', b'', cons(y''', cons(y''''', cons(y''''''', z'''''''))))) -> FOLDF(triple(a'', b'', nil), cons(y''', cons(y''''', cons(y''''''', z'''''''))))
F''(triple(a'', b'', cons(y''', cons(y''''', nil)))) -> FOLDF(triple(a'', b'', nil), cons(y''', cons(y''''', nil)))
F''(triple(a'', b'', cons(y''', cons(y''0'', cons(y'''''', z''''''))))) -> FOLDF(triple(a'', b'', nil), cons(y''', cons(y''0'', cons(y'''''', z''''''))))
F''(triple(a'', b'', cons(y''', cons(y''''0, cons(y'''''', z''''))))) -> FOLDF(triple(a'', b'', nil), cons(y''', cons(y''''0, cons(y'''''', z''''))))
F'(triple(a''', nil, cons(y'''', cons(y'''''', z''''''))), A) -> F''(triple(cons(A, a'''), nil, cons(y'''', cons(y'''''', z''''''))))
F(triple(a''', nil, c'''), B) -> F'(triple(a''', nil, c'''), A)
F'(triple(a'', cons(y''', cons(y''''', cons(y''''0'', cons(y'''''''', z'''''')))), c''), A) -> FOLDF(triple(cons(A, a''), nil, c''), cons(y''', cons(y''''', cons(y''''0'', cons(y'''''''', z'''''')))))
F'(triple(a'', cons(y''', cons(y''0'', cons(y'''''', nil))), c''), A) -> FOLDF(triple(cons(A, a''), nil, c''), cons(y''', cons(y''0'', cons(y'''''', nil))))
F'(triple(a'', cons(y''', cons(y''''', cons(y''''''', z'''''''))), c''), A) -> FOLDF(triple(cons(A, a''), nil, c''), cons(y''', cons(y''''', cons(y''''''', z'''''''))))
F'(triple(a'', cons(y''', cons(y''''', nil)), c''), A) -> FOLDF(triple(cons(A, a''), nil, c''), cons(y''', cons(y''''', nil)))
F'(triple(a'', cons(y''', cons(y''0'', cons(y'''''', z''''''))), c''), A) -> FOLDF(triple(cons(A, a''), nil, c''), cons(y''', cons(y''0'', cons(y'''''', z''''''))))
F'(triple(a'', cons(y''', cons(y''''0, cons(y'''''', z''''))), c''), A) -> FOLDF(triple(cons(A, a''), nil, c''), cons(y''', cons(y''''0, cons(y'''''', z''''))))
F'(triple(a'', cons(y''0, cons(y'''', nil)), c''), A) -> FOLDF(triple(cons(A, a''), nil, c''), cons(y''0, cons(y'''', nil)))
FOLDF(x''', cons(y, cons(y''', cons(y''''0, cons(y'''''', z''''))))) -> FOLDF(x''', cons(y''', cons(y''''0, cons(y'''''', z''''))))
FOLDF(x''', cons(y, cons(y''0, cons(y'''', nil)))) -> FOLDF(x''', cons(y''0, cons(y'''', nil)))
FOLDF(x''', cons(y, cons(y''', cons(y''''', z''''')))) -> FOLDF(x''', cons(y''', cons(y''''', z''''')))
FOLDF(x'''', cons(y, cons(y''0, cons(y'''', z'''')))) -> FOLDF(x'''', cons(y''0, cons(y'''', z'''')))
F'(triple(a'', cons(y''', cons(y''''', z''''')), c''), A) -> FOLDF(triple(cons(A, a''), nil, c''), cons(y''', cons(y''''', z''''')))
F(triple(a''', cons(y'''', cons(y'''''', z'''''')), c'''), A) -> F'(triple(a''', cons(y'''', cons(y'''''', z'''''')), c'''), A)
FOLDF(x''', cons(y, cons(y'', cons(y''', z')))) -> F(f(f(foldf(x''', z'), y'''), y''), y)
F'(triple(a', cons(y'', cons(y'''', z'''')), c'), A) -> FOLDF(triple(cons(A, a'), nil, c'), cons(y'', cons(y'''', z'''')))
F(triple(a''', cons(y'''', z''''), c'''), A) -> F'(triple(a''', cons(y'''', z''''), c'''), A)
FOLDF(triple(a'''''', cons(y''''', nil), c''''''), cons(A, nil)) -> F(triple(a'''''', cons(y''''', nil), c''''''), A)
FOLDF(x'''', cons(y, cons(y''', nil))) -> FOLDF(x'''', cons(y''', nil))
F''(triple(a'', b'', cons(y''0, cons(y'''', nil)))) -> FOLDF(triple(a'', b'', nil), cons(y''0, cons(y'''', nil)))
F'(triple(a'', cons(y', cons(y'', z'')), c''), A) -> F''(f(f(foldf(triple(cons(A, a''), nil, c''), z''), y''), y'))
F(triple(a'''', cons(y''''', cons(y'''''', z'''')), c''''), A) -> F'(triple(a'''', cons(y''''', cons(y'''''', z'''')), c''''), A)
FOLDF(x''', cons(y, cons(y'', nil))) -> F(f(x''', y''), y)
F''(triple(a'', b'', cons(y''', cons(y''''', z''''')))) -> FOLDF(triple(a'', b'', nil), cons(y''', cons(y''''', z''''')))
F'(triple(a'', cons(y', nil), c''), A) -> F''(f(triple(cons(A, a''), nil, c''), y'))
F(triple(a'''', cons(y''', nil), c''''), A) -> F'(triple(a'''', cons(y''', nil), c''''), A)
FOLDF(triple(a'''''', cons(y'''''', z''''''), c''''''), cons(A, nil)) -> F(triple(a'''''', cons(y'''''', z''''''), c''''''), A)
FOLDF(triple(a''''', nil, c'''''), cons(A, nil)) -> F(triple(a''''', nil, c'''''), A)
F''(triple(a'', b'', cons(y''', nil))) -> FOLDF(triple(a'', b'', nil), cons(y''', nil))
F'(triple(a''', nil, cons(y'''', z'''')), A) -> F''(triple(cons(A, a'''), nil, cons(y'''', z'''')))
F(triple(a''', nil, c'''), A) -> F'(triple(a''', nil, c'''), A)
FOLDF(x''', cons(y, cons(y''', z'''))) -> F(f'(foldf(x''', z'''), g(y''')), y)
F''(triple(a', b', cons(y'', cons(y'''', z'''')))) -> FOLDF(triple(a', b', nil), cons(y'', cons(y'''', z'''')))
F'(triple(a'', cons(y'', z''), c''), A) -> F''(f'(foldf(triple(cons(A, a''), nil, c''), z''), g(y'')))
F(triple(a'''', cons(y'''', z''''), c''''), A) -> F'(triple(a'''', cons(y'''', z''''), c''''), A)
F'(triple(a', cons(y'''''', z''''''), c'), B) -> F(triple(a', cons(y'''''', z''''''), c'), A)
F(triple(a''', cons(y'''''''0'', cons(y''''''''''', z'''''''')), c'''), C) -> F'(triple(a''', cons(y'''''''0'', cons(y''''''''''', z'''''''')), c'''), B)
g(A) -> A
g(B) -> A
g(B) -> B
g(C) -> A
g(C) -> B
g(C) -> C
foldf(x, nil) -> x
foldf(x, cons(y, z)) -> f(foldf(x, z), y)
f(t, x) -> f'(t, g(x))
f'(triple(a, b, c), C) -> triple(a, b, cons(C, c))
f'(triple(a, b, c), B) -> f(triple(a, b, c), A)
f'(triple(a, b, c), A) -> f''(foldf(triple(cons(A, a), nil, c), b))
f''(triple(a, b, c)) -> foldf(triple(a, b, nil), c)
innermost
FOLDF(triple(a''''', cons(y'''''''''', cons(y'''''''''''', z'''''''''''')), c'''''), cons(C, nil)) -> F(triple(a''''', cons(y'''''''''', cons(y'''''''''''', z'''''''''''')), c'''''), C)
FOLDF(triple(a''''', cons(y'''''''0'''', cons(y''''''''''''', z'''''''''')), c'''''), cons(C, nil)) -> F(triple(a''''', cons(y'''''''0'''', cons(y''''''''''''', z'''''''''')), c'''''), C)
FOLDF(triple(a''''', cons(y''''''''', nil), c'''''), cons(C, nil)) -> F(triple(a''''', cons(y''''''''', nil), c'''''), C)
FOLDF(triple(a''''', cons(y'''''''''', z''''''''''), c'''''), cons(C, nil)) -> F(triple(a''''', cons(y'''''''''', z''''''''''), c'''''), C)
FOLDF(triple(a''''', cons(y'''''', cons(y'''''''', z'''''''')), c'''''), cons(C, nil)) -> F(triple(a''''', cons(y'''''', cons(y'''''''', z'''''''')), c'''''), C)
FOLDF(triple(a''''', cons(y'''''', z''''''), c'''''), cons(C, nil)) -> F(triple(a''''', cons(y'''''', z''''''), c'''''), C)
FOLDF(triple(a'''''', cons(y'''''''0, cons(y''''''''', z'''''')), c''''''), cons(C, nil)) -> F(triple(a'''''', cons(y'''''''0, cons(y''''''''', z'''''')), c''''''), C)
FOLDF(triple(a'''''', cons(y''''', nil), c''''''), cons(C, nil)) -> F(triple(a'''''', cons(y''''', nil), c''''''), C)
FOLDF(triple(a'''''', cons(y'''''', z''''''), c''''''), cons(C, nil)) -> F(triple(a'''''', cons(y'''''', z''''''), c''''''), C)
FOLDF(triple(a''''', cons(y'''''''''', cons(y'''''''''''', z'''''''''''')), c'''''), cons(B, nil)) -> F(triple(a''''', cons(y'''''''''', cons(y'''''''''''', z'''''''''''')), c'''''), B)
FOLDF(triple(a''''', cons(y'''''''0'''', cons(y''''''''''''', z'''''''''')), c'''''), cons(B, nil)) -> F(triple(a''''', cons(y'''''''0'''', cons(y''''''''''''', z'''''''''')), c'''''), B)
FOLDF(triple(a''''', cons(y''''''''', nil), c'''''), cons(B, nil)) -> F(triple(a''''', cons(y''''''''', nil), c'''''), B)
FOLDF(triple(a''''', cons(y'''''''''', z''''''''''), c'''''), cons(B, nil)) -> F(triple(a''''', cons(y'''''''''', z''''''''''), c'''''), B)
FOLDF(triple(a''''', cons(y'''''', cons(y'''''''', z'''''''')), c'''''), cons(B, nil)) -> F(triple(a''''', cons(y'''''', cons(y'''''''', z'''''''')), c'''''), B)
FOLDF(triple(a''''', cons(y'''''', z''''''), c'''''), cons(B, nil)) -> F(triple(a''''', cons(y'''''', z''''''), c'''''), B)
FOLDF(triple(a'''''', cons(y'''''''0, cons(y''''''''', z'''''')), c''''''), cons(B, nil)) -> F(triple(a'''''', cons(y'''''''0, cons(y''''''''', z'''''')), c''''''), B)
FOLDF(triple(a'''''', cons(y''''', nil), c''''''), cons(B, nil)) -> F(triple(a'''''', cons(y''''', nil), c''''''), B)
FOLDF(triple(a'''''', cons(y'''''', z''''''), c''''''), cons(B, nil)) -> F(triple(a'''''', cons(y'''''', z''''''), c''''''), B)
FOLDF(triple(a''''', cons(y'''''', cons(y'''''''', z'''''''')), c'''''), cons(A, nil)) -> F(triple(a''''', cons(y'''''', cons(y'''''''', z'''''''')), c'''''), A)
FOLDF(triple(a''''', cons(y'''''', z''''''), c'''''), cons(A, nil)) -> F(triple(a''''', cons(y'''''', z''''''), c'''''), A)
FOLDF(triple(a'''''', cons(y'''''''0, cons(y''''''''', z'''''')), c''''''), cons(A, nil)) -> F(triple(a'''''', cons(y'''''''0, cons(y''''''''', z'''''')), c''''''), A)
FOLDF(triple(a'''''', cons(y''''', nil), c''''''), cons(A, nil)) -> F(triple(a'''''', cons(y''''', nil), c''''''), A)
FOLDF(triple(a'''''', cons(y'''''', z''''''), c''''''), cons(A, nil)) -> F(triple(a'''''', cons(y'''''', z''''''), c''''''), A)
f(t, x) -> f'(t, g(x))
foldf(x, nil) -> x
foldf(x, cons(y, z)) -> f(foldf(x, z), y)
f''(triple(a, b, c)) -> foldf(triple(a, b, nil), c)
f'(triple(a, b, c), C) -> triple(a, b, cons(C, c))
f'(triple(a, b, c), B) -> f(triple(a, b, c), A)
f'(triple(a, b, c), A) -> f''(foldf(triple(cons(A, a), nil, c), b))
g(A) -> A
g(B) -> A
g(B) -> B
g(C) -> A
g(C) -> B
g(C) -> C
POL(triple(x1, x2, x3)) = x2 POL(f'(x1, x2)) = x1 POL(f(x1, x2)) = x1 POL(F(x1, x2)) = 0 POL(FOLDF(x1, x2)) = x1 POL(F''(x1)) = x1 POL(C) = 0 POL(g(x1)) = 0 POL(B) = 0 POL(cons(x1, x2)) = 1 POL(F'(x1, x2)) = 0 POL(nil) = 0 POL(foldf(x1, x2)) = x1 POL(f''(x1)) = x1 POL(A) = 0
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Nar
...
→DP Problem 21
↳Polynomial Ordering
F(triple(a''', cons(y'''''''', cons(y'''''''''', z'''''''''')), c'''), C) -> F'(triple(a''', cons(y'''''''', cons(y'''''''''', z'''''''''')), c'''), B)
F(triple(a''', cons(y''''''', nil), c'''), C) -> F'(triple(a''', cons(y''''''', nil), c'''), B)
F(triple(a''', cons(y'''''''', z''''''''), c'''), C) -> F'(triple(a''', cons(y'''''''', z''''''''), c'''), B)
F(triple(a''', cons(y'''', cons(y'''''', z'''''')), c'''), C) -> F'(triple(a''', cons(y'''', cons(y'''''', z'''''')), c'''), A)
F(triple(a''', cons(y'''', z''''), c'''), C) -> F'(triple(a''', cons(y'''', z''''), c'''), A)
F(triple(a'''', cons(y''''', cons(y'''''', z'''')), c''''), C) -> F'(triple(a'''', cons(y''''', cons(y'''''', z'''')), c''''), A)
F(triple(a'''', cons(y''', nil), c''''), C) -> F'(triple(a'''', cons(y''', nil), c''''), A)
F(triple(a'''', cons(y'''', z''''), c''''), C) -> F'(triple(a'''', cons(y'''', z''''), c''''), A)
F(triple(a''', cons(y'''''''', cons(y'''''''''', z'''''''''')), c'''), B) -> F'(triple(a''', cons(y'''''''', cons(y'''''''''', z'''''''''')), c'''), B)
F(triple(a''', cons(y'''''''0'', cons(y''''''''''', z'''''''')), c'''), B) -> F'(triple(a''', cons(y'''''''0'', cons(y''''''''''', z'''''''')), c'''), B)
F(triple(a''', cons(y''''''', nil), c'''), B) -> F'(triple(a''', cons(y''''''', nil), c'''), B)
F'(triple(a', cons(y'''''', cons(y'''''''', z'''''''')), c'), B) -> F(triple(a', cons(y'''''', cons(y'''''''', z'''''''')), c'), A)
F'(triple(a', cons(y'''''''0, cons(y''''''''', z'''''')), c'), B) -> F(triple(a', cons(y'''''''0, cons(y''''''''', z'''''')), c'), A)
F'(triple(a', cons(y''''', nil), c'), B) -> F(triple(a', cons(y''''', nil), c'), A)
F(triple(a''', cons(y'''''''', z''''''''), c'''), B) -> F'(triple(a''', cons(y'''''''', z''''''''), c'''), B)
F(triple(a''', cons(y'''', cons(y'''''', z'''''')), c'''), B) -> F'(triple(a''', cons(y'''', cons(y'''''', z'''''')), c'''), A)
F(triple(a''', cons(y'''', z''''), c'''), B) -> F'(triple(a''', cons(y'''', z''''), c'''), A)
F(triple(a'''', cons(y''''', cons(y'''''', z'''')), c''''), B) -> F'(triple(a'''', cons(y''''', cons(y'''''', z'''')), c''''), A)
F(triple(a'''', cons(y''', nil), c''''), B) -> F'(triple(a'''', cons(y''', nil), c''''), A)
F(triple(a''', nil, c'''), C) -> F'(triple(a''', nil, c'''), B)
F(triple(a''', nil, c'''), C) -> F'(triple(a''', nil, c'''), A)
FOLDF(triple(a''''', nil, c'''''), cons(C, nil)) -> F(triple(a''''', nil, c'''''), C)
F'(triple(a', nil, c'), B) -> F(triple(a', nil, c'), A)
F(triple(a''', nil, c'''), B) -> F'(triple(a''', nil, c'''), B)
FOLDF(triple(a''''', nil, c'''''), cons(B, nil)) -> F(triple(a''''', nil, c'''''), B)
F'(triple(a'', cons(y''', nil), c''), A) -> FOLDF(triple(cons(A, a''), nil, c''), cons(y''', nil))
F(triple(a'''', cons(y'''', z''''), c''''), B) -> F'(triple(a'''', cons(y'''', z''''), c''''), A)
F''(triple(a'', b'', cons(y''', cons(y''''', cons(y''''0'', cons(y'''''''', z'''''')))))) -> FOLDF(triple(a'', b'', nil), cons(y''', cons(y''''', cons(y''''0'', cons(y'''''''', z'''''')))))
F''(triple(a'', b'', cons(y''', cons(y''0'', cons(y'''''', nil))))) -> FOLDF(triple(a'', b'', nil), cons(y''', cons(y''0'', cons(y'''''', nil))))
F''(triple(a'', b'', cons(y''', cons(y''''', cons(y''''''', z'''''''))))) -> FOLDF(triple(a'', b'', nil), cons(y''', cons(y''''', cons(y''''''', z'''''''))))
F''(triple(a'', b'', cons(y''', cons(y''''', nil)))) -> FOLDF(triple(a'', b'', nil), cons(y''', cons(y''''', nil)))
F''(triple(a'', b'', cons(y''', cons(y''0'', cons(y'''''', z''''''))))) -> FOLDF(triple(a'', b'', nil), cons(y''', cons(y''0'', cons(y'''''', z''''''))))
F''(triple(a'', b'', cons(y''', cons(y''''0, cons(y'''''', z''''))))) -> FOLDF(triple(a'', b'', nil), cons(y''', cons(y''''0, cons(y'''''', z''''))))
F'(triple(a''', nil, cons(y'''', cons(y'''''', z''''''))), A) -> F''(triple(cons(A, a'''), nil, cons(y'''', cons(y'''''', z''''''))))
F(triple(a''', nil, c'''), B) -> F'(triple(a''', nil, c'''), A)
F'(triple(a'', cons(y''', cons(y''''', cons(y''''0'', cons(y'''''''', z'''''')))), c''), A) -> FOLDF(triple(cons(A, a''), nil, c''), cons(y''', cons(y''''', cons(y''''0'', cons(y'''''''', z'''''')))))
F'(triple(a'', cons(y''', cons(y''0'', cons(y'''''', nil))), c''), A) -> FOLDF(triple(cons(A, a''), nil, c''), cons(y''', cons(y''0'', cons(y'''''', nil))))
F'(triple(a'', cons(y''', cons(y''''', cons(y''''''', z'''''''))), c''), A) -> FOLDF(triple(cons(A, a''), nil, c''), cons(y''', cons(y''''', cons(y''''''', z'''''''))))
F'(triple(a'', cons(y''', cons(y''''', nil)), c''), A) -> FOLDF(triple(cons(A, a''), nil, c''), cons(y''', cons(y''''', nil)))
F'(triple(a'', cons(y''', cons(y''0'', cons(y'''''', z''''''))), c''), A) -> FOLDF(triple(cons(A, a''), nil, c''), cons(y''', cons(y''0'', cons(y'''''', z''''''))))
F'(triple(a'', cons(y''', cons(y''''0, cons(y'''''', z''''))), c''), A) -> FOLDF(triple(cons(A, a''), nil, c''), cons(y''', cons(y''''0, cons(y'''''', z''''))))
F'(triple(a'', cons(y''0, cons(y'''', nil)), c''), A) -> FOLDF(triple(cons(A, a''), nil, c''), cons(y''0, cons(y'''', nil)))
FOLDF(x''', cons(y, cons(y''', cons(y''''0, cons(y'''''', z''''))))) -> FOLDF(x''', cons(y''', cons(y''''0, cons(y'''''', z''''))))
FOLDF(x''', cons(y, cons(y''0, cons(y'''', nil)))) -> FOLDF(x''', cons(y''0, cons(y'''', nil)))
FOLDF(x''', cons(y, cons(y''', cons(y''''', z''''')))) -> FOLDF(x''', cons(y''', cons(y''''', z''''')))
FOLDF(x'''', cons(y, cons(y''0, cons(y'''', z'''')))) -> FOLDF(x'''', cons(y''0, cons(y'''', z'''')))
F'(triple(a'', cons(y''', cons(y''''', z''''')), c''), A) -> FOLDF(triple(cons(A, a''), nil, c''), cons(y''', cons(y''''', z''''')))
F(triple(a''', cons(y'''', cons(y'''''', z'''''')), c'''), A) -> F'(triple(a''', cons(y'''', cons(y'''''', z'''''')), c'''), A)
FOLDF(x''', cons(y, cons(y'', cons(y''', z')))) -> F(f(f(foldf(x''', z'), y'''), y''), y)
F'(triple(a', cons(y'', cons(y'''', z'''')), c'), A) -> FOLDF(triple(cons(A, a'), nil, c'), cons(y'', cons(y'''', z'''')))
F(triple(a''', cons(y'''', z''''), c'''), A) -> F'(triple(a''', cons(y'''', z''''), c'''), A)
FOLDF(x'''', cons(y, cons(y''', nil))) -> FOLDF(x'''', cons(y''', nil))
F''(triple(a'', b'', cons(y''0, cons(y'''', nil)))) -> FOLDF(triple(a'', b'', nil), cons(y''0, cons(y'''', nil)))
F'(triple(a'', cons(y', cons(y'', z'')), c''), A) -> F''(f(f(foldf(triple(cons(A, a''), nil, c''), z''), y''), y'))
F(triple(a'''', cons(y''''', cons(y'''''', z'''')), c''''), A) -> F'(triple(a'''', cons(y''''', cons(y'''''', z'''')), c''''), A)
FOLDF(x''', cons(y, cons(y'', nil))) -> F(f(x''', y''), y)
F''(triple(a'', b'', cons(y''', cons(y''''', z''''')))) -> FOLDF(triple(a'', b'', nil), cons(y''', cons(y''''', z''''')))
F'(triple(a'', cons(y', nil), c''), A) -> F''(f(triple(cons(A, a''), nil, c''), y'))
F(triple(a'''', cons(y''', nil), c''''), A) -> F'(triple(a'''', cons(y''', nil), c''''), A)
FOLDF(triple(a''''', nil, c'''''), cons(A, nil)) -> F(triple(a''''', nil, c'''''), A)
F''(triple(a'', b'', cons(y''', nil))) -> FOLDF(triple(a'', b'', nil), cons(y''', nil))
F'(triple(a''', nil, cons(y'''', z'''')), A) -> F''(triple(cons(A, a'''), nil, cons(y'''', z'''')))
F(triple(a''', nil, c'''), A) -> F'(triple(a''', nil, c'''), A)
FOLDF(x''', cons(y, cons(y''', z'''))) -> F(f'(foldf(x''', z'''), g(y''')), y)
F''(triple(a', b', cons(y'', cons(y'''', z'''')))) -> FOLDF(triple(a', b', nil), cons(y'', cons(y'''', z'''')))
F'(triple(a'', cons(y'', z''), c''), A) -> F''(f'(foldf(triple(cons(A, a''), nil, c''), z''), g(y'')))
F(triple(a'''', cons(y'''', z''''), c''''), A) -> F'(triple(a'''', cons(y'''', z''''), c''''), A)
F'(triple(a', cons(y'''''', z''''''), c'), B) -> F(triple(a', cons(y'''''', z''''''), c'), A)
F(triple(a''', cons(y'''''''0'', cons(y''''''''''', z'''''''')), c'''), C) -> F'(triple(a''', cons(y'''''''0'', cons(y''''''''''', z'''''''')), c'''), B)
g(A) -> A
g(B) -> A
g(B) -> B
g(C) -> A
g(C) -> B
g(C) -> C
foldf(x, nil) -> x
foldf(x, cons(y, z)) -> f(foldf(x, z), y)
f(t, x) -> f'(t, g(x))
f'(triple(a, b, c), C) -> triple(a, b, cons(C, c))
f'(triple(a, b, c), B) -> f(triple(a, b, c), A)
f'(triple(a, b, c), A) -> f''(foldf(triple(cons(A, a), nil, c), b))
f''(triple(a, b, c)) -> foldf(triple(a, b, nil), c)
innermost
F(triple(a''', cons(y'''''''', cons(y'''''''''', z'''''''''')), c'''), C) -> F'(triple(a''', cons(y'''''''', cons(y'''''''''', z'''''''''')), c'''), B)
F(triple(a''', cons(y''''''', nil), c'''), C) -> F'(triple(a''', cons(y''''''', nil), c'''), B)
F(triple(a''', cons(y'''''''', z''''''''), c'''), C) -> F'(triple(a''', cons(y'''''''', z''''''''), c'''), B)
F(triple(a''', cons(y'''', cons(y'''''', z'''''')), c'''), C) -> F'(triple(a''', cons(y'''', cons(y'''''', z'''''')), c'''), A)
F(triple(a''', cons(y'''', z''''), c'''), C) -> F'(triple(a''', cons(y'''', z''''), c'''), A)
F(triple(a'''', cons(y''''', cons(y'''''', z'''')), c''''), C) -> F'(triple(a'''', cons(y''''', cons(y'''''', z'''')), c''''), A)
F(triple(a'''', cons(y''', nil), c''''), C) -> F'(triple(a'''', cons(y''', nil), c''''), A)
F(triple(a'''', cons(y'''', z''''), c''''), C) -> F'(triple(a'''', cons(y'''', z''''), c''''), A)
F(triple(a''', nil, c'''), C) -> F'(triple(a''', nil, c'''), B)
F(triple(a''', nil, c'''), C) -> F'(triple(a''', nil, c'''), A)
F(triple(a''', cons(y'''''''0'', cons(y''''''''''', z'''''''')), c'''), C) -> F'(triple(a''', cons(y'''''''0'', cons(y''''''''''', z'''''''')), c'''), B)
f(t, x) -> f'(t, g(x))
foldf(x, nil) -> x
foldf(x, cons(y, z)) -> f(foldf(x, z), y)
f''(triple(a, b, c)) -> foldf(triple(a, b, nil), c)
f'(triple(a, b, c), C) -> triple(a, b, cons(C, c))
f'(triple(a, b, c), B) -> f(triple(a, b, c), A)
f'(triple(a, b, c), A) -> f''(foldf(triple(cons(A, a), nil, c), b))
g(A) -> A
g(B) -> A
g(B) -> B
g(C) -> A
g(C) -> B
g(C) -> C
POL(triple(x1, x2, x3)) = x2 + x3 POL(f'(x1, x2)) = x1 + x2 POL(f(x1, x2)) = x1 + x2 POL(F(x1, x2)) = x1 + x2 POL(FOLDF(x1, x2)) = x1 + x2 POL(F''(x1)) = x1 POL(C) = 1 POL(g(x1)) = x1 POL(B) = 0 POL(cons(x1, x2)) = x1 + x2 POL(nil) = 0 POL(F'(x1, x2)) = x1 POL(foldf(x1, x2)) = x1 + x2 POL(f''(x1)) = x1 POL(A) = 0
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Nar
...
→DP Problem 22
↳Dependency Graph
F(triple(a''', cons(y'''''''', cons(y'''''''''', z'''''''''')), c'''), B) -> F'(triple(a''', cons(y'''''''', cons(y'''''''''', z'''''''''')), c'''), B)
F(triple(a''', cons(y'''''''0'', cons(y''''''''''', z'''''''')), c'''), B) -> F'(triple(a''', cons(y'''''''0'', cons(y''''''''''', z'''''''')), c'''), B)
F(triple(a''', cons(y''''''', nil), c'''), B) -> F'(triple(a''', cons(y''''''', nil), c'''), B)
F'(triple(a', cons(y'''''', cons(y'''''''', z'''''''')), c'), B) -> F(triple(a', cons(y'''''', cons(y'''''''', z'''''''')), c'), A)
F'(triple(a', cons(y'''''''0, cons(y''''''''', z'''''')), c'), B) -> F(triple(a', cons(y'''''''0, cons(y''''''''', z'''''')), c'), A)
F'(triple(a', cons(y''''', nil), c'), B) -> F(triple(a', cons(y''''', nil), c'), A)
F(triple(a''', cons(y'''''''', z''''''''), c'''), B) -> F'(triple(a''', cons(y'''''''', z''''''''), c'''), B)
F(triple(a''', cons(y'''', cons(y'''''', z'''''')), c'''), B) -> F'(triple(a''', cons(y'''', cons(y'''''', z'''''')), c'''), A)
F(triple(a''', cons(y'''', z''''), c'''), B) -> F'(triple(a''', cons(y'''', z''''), c'''), A)
F(triple(a'''', cons(y''''', cons(y'''''', z'''')), c''''), B) -> F'(triple(a'''', cons(y''''', cons(y'''''', z'''')), c''''), A)
F(triple(a'''', cons(y''', nil), c''''), B) -> F'(triple(a'''', cons(y''', nil), c''''), A)
FOLDF(triple(a''''', nil, c'''''), cons(C, nil)) -> F(triple(a''''', nil, c'''''), C)
F'(triple(a', nil, c'), B) -> F(triple(a', nil, c'), A)
F(triple(a''', nil, c'''), B) -> F'(triple(a''', nil, c'''), B)
FOLDF(triple(a''''', nil, c'''''), cons(B, nil)) -> F(triple(a''''', nil, c'''''), B)
F'(triple(a'', cons(y''', nil), c''), A) -> FOLDF(triple(cons(A, a''), nil, c''), cons(y''', nil))
F(triple(a'''', cons(y'''', z''''), c''''), B) -> F'(triple(a'''', cons(y'''', z''''), c''''), A)
F''(triple(a'', b'', cons(y''', cons(y''''', cons(y''''0'', cons(y'''''''', z'''''')))))) -> FOLDF(triple(a'', b'', nil), cons(y''', cons(y''''', cons(y''''0'', cons(y'''''''', z'''''')))))
F''(triple(a'', b'', cons(y''', cons(y''0'', cons(y'''''', nil))))) -> FOLDF(triple(a'', b'', nil), cons(y''', cons(y''0'', cons(y'''''', nil))))
F''(triple(a'', b'', cons(y''', cons(y''''', cons(y''''''', z'''''''))))) -> FOLDF(triple(a'', b'', nil), cons(y''', cons(y''''', cons(y''''''', z'''''''))))
F''(triple(a'', b'', cons(y''', cons(y''''', nil)))) -> FOLDF(triple(a'', b'', nil), cons(y''', cons(y''''', nil)))
F''(triple(a'', b'', cons(y''', cons(y''0'', cons(y'''''', z''''''))))) -> FOLDF(triple(a'', b'', nil), cons(y''', cons(y''0'', cons(y'''''', z''''''))))
F''(triple(a'', b'', cons(y''', cons(y''''0, cons(y'''''', z''''))))) -> FOLDF(triple(a'', b'', nil), cons(y''', cons(y''''0, cons(y'''''', z''''))))
F'(triple(a''', nil, cons(y'''', cons(y'''''', z''''''))), A) -> F''(triple(cons(A, a'''), nil, cons(y'''', cons(y'''''', z''''''))))
F(triple(a''', nil, c'''), B) -> F'(triple(a''', nil, c'''), A)
F'(triple(a'', cons(y''', cons(y''''', cons(y''''0'', cons(y'''''''', z'''''')))), c''), A) -> FOLDF(triple(cons(A, a''), nil, c''), cons(y''', cons(y''''', cons(y''''0'', cons(y'''''''', z'''''')))))
F'(triple(a'', cons(y''', cons(y''0'', cons(y'''''', nil))), c''), A) -> FOLDF(triple(cons(A, a''), nil, c''), cons(y''', cons(y''0'', cons(y'''''', nil))))
F'(triple(a'', cons(y''', cons(y''''', cons(y''''''', z'''''''))), c''), A) -> FOLDF(triple(cons(A, a''), nil, c''), cons(y''', cons(y''''', cons(y''''''', z'''''''))))
F'(triple(a'', cons(y''', cons(y''''', nil)), c''), A) -> FOLDF(triple(cons(A, a''), nil, c''), cons(y''', cons(y''''', nil)))
F'(triple(a'', cons(y''', cons(y''0'', cons(y'''''', z''''''))), c''), A) -> FOLDF(triple(cons(A, a''), nil, c''), cons(y''', cons(y''0'', cons(y'''''', z''''''))))
F'(triple(a'', cons(y''', cons(y''''0, cons(y'''''', z''''))), c''), A) -> FOLDF(triple(cons(A, a''), nil, c''), cons(y''', cons(y''''0, cons(y'''''', z''''))))
F'(triple(a'', cons(y''0, cons(y'''', nil)), c''), A) -> FOLDF(triple(cons(A, a''), nil, c''), cons(y''0, cons(y'''', nil)))
FOLDF(x''', cons(y, cons(y''', cons(y''''0, cons(y'''''', z''''))))) -> FOLDF(x''', cons(y''', cons(y''''0, cons(y'''''', z''''))))
FOLDF(x''', cons(y, cons(y''0, cons(y'''', nil)))) -> FOLDF(x''', cons(y''0, cons(y'''', nil)))
FOLDF(x''', cons(y, cons(y''', cons(y''''', z''''')))) -> FOLDF(x''', cons(y''', cons(y''''', z''''')))
FOLDF(x'''', cons(y, cons(y''0, cons(y'''', z'''')))) -> FOLDF(x'''', cons(y''0, cons(y'''', z'''')))
F'(triple(a'', cons(y''', cons(y''''', z''''')), c''), A) -> FOLDF(triple(cons(A, a''), nil, c''), cons(y''', cons(y''''', z''''')))
F(triple(a''', cons(y'''', cons(y'''''', z'''''')), c'''), A) -> F'(triple(a''', cons(y'''', cons(y'''''', z'''''')), c'''), A)
FOLDF(x''', cons(y, cons(y'', cons(y''', z')))) -> F(f(f(foldf(x''', z'), y'''), y''), y)
F'(triple(a', cons(y'', cons(y'''', z'''')), c'), A) -> FOLDF(triple(cons(A, a'), nil, c'), cons(y'', cons(y'''', z'''')))
F(triple(a''', cons(y'''', z''''), c'''), A) -> F'(triple(a''', cons(y'''', z''''), c'''), A)
FOLDF(x'''', cons(y, cons(y''', nil))) -> FOLDF(x'''', cons(y''', nil))
F''(triple(a'', b'', cons(y''0, cons(y'''', nil)))) -> FOLDF(triple(a'', b'', nil), cons(y''0, cons(y'''', nil)))
F'(triple(a'', cons(y', cons(y'', z'')), c''), A) -> F''(f(f(foldf(triple(cons(A, a''), nil, c''), z''), y''), y'))
F(triple(a'''', cons(y''''', cons(y'''''', z'''')), c''''), A) -> F'(triple(a'''', cons(y''''', cons(y'''''', z'''')), c''''), A)
FOLDF(x''', cons(y, cons(y'', nil))) -> F(f(x''', y''), y)
F''(triple(a'', b'', cons(y''', cons(y''''', z''''')))) -> FOLDF(triple(a'', b'', nil), cons(y''', cons(y''''', z''''')))
F'(triple(a'', cons(y', nil), c''), A) -> F''(f(triple(cons(A, a''), nil, c''), y'))
F(triple(a'''', cons(y''', nil), c''''), A) -> F'(triple(a'''', cons(y''', nil), c''''), A)
FOLDF(triple(a''''', nil, c'''''), cons(A, nil)) -> F(triple(a''''', nil, c'''''), A)
F''(triple(a'', b'', cons(y''', nil))) -> FOLDF(triple(a'', b'', nil), cons(y''', nil))
F'(triple(a''', nil, cons(y'''', z'''')), A) -> F''(triple(cons(A, a'''), nil, cons(y'''', z'''')))
F(triple(a''', nil, c'''), A) -> F'(triple(a''', nil, c'''), A)
FOLDF(x''', cons(y, cons(y''', z'''))) -> F(f'(foldf(x''', z'''), g(y''')), y)
F''(triple(a', b', cons(y'', cons(y'''', z'''')))) -> FOLDF(triple(a', b', nil), cons(y'', cons(y'''', z'''')))
F'(triple(a'', cons(y'', z''), c''), A) -> F''(f'(foldf(triple(cons(A, a''), nil, c''), z''), g(y'')))
F(triple(a'''', cons(y'''', z''''), c''''), A) -> F'(triple(a'''', cons(y'''', z''''), c''''), A)
F'(triple(a', cons(y'''''', z''''''), c'), B) -> F(triple(a', cons(y'''''', z''''''), c'), A)
g(A) -> A
g(B) -> A
g(B) -> B
g(C) -> A
g(C) -> B
g(C) -> C
foldf(x, nil) -> x
foldf(x, cons(y, z)) -> f(foldf(x, z), y)
f(t, x) -> f'(t, g(x))
f'(triple(a, b, c), C) -> triple(a, b, cons(C, c))
f'(triple(a, b, c), B) -> f(triple(a, b, c), A)
f'(triple(a, b, c), A) -> f''(foldf(triple(cons(A, a), nil, c), b))
f''(triple(a, b, c)) -> foldf(triple(a, b, nil), c)
innermost
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Nar
...
→DP Problem 23
↳Polynomial Ordering
F(triple(a''', cons(y'''''''0'', cons(y''''''''''', z'''''''')), c'''), B) -> F'(triple(a''', cons(y'''''''0'', cons(y''''''''''', z'''''''')), c'''), B)
F(triple(a''', cons(y''''''', nil), c'''), B) -> F'(triple(a''', cons(y''''''', nil), c'''), B)
F'(triple(a', cons(y'''''', cons(y'''''''', z'''''''')), c'), B) -> F(triple(a', cons(y'''''', cons(y'''''''', z'''''''')), c'), A)
F'(triple(a', cons(y'''''''0, cons(y''''''''', z'''''')), c'), B) -> F(triple(a', cons(y'''''''0, cons(y''''''''', z'''''')), c'), A)
F'(triple(a', cons(y''''', nil), c'), B) -> F(triple(a', cons(y''''', nil), c'), A)
F(triple(a''', cons(y'''''''', z''''''''), c'''), B) -> F'(triple(a''', cons(y'''''''', z''''''''), c'''), B)
F'(triple(a', nil, c'), B) -> F(triple(a', nil, c'), A)
F(triple(a''', nil, c'''), B) -> F'(triple(a''', nil, c'''), B)
F(triple(a''', cons(y'''', cons(y'''''', z'''''')), c'''), B) -> F'(triple(a''', cons(y'''', cons(y'''''', z'''''')), c'''), A)
F(triple(a''', cons(y'''', z''''), c'''), B) -> F'(triple(a''', cons(y'''', z''''), c'''), A)
F(triple(a'''', cons(y''''', cons(y'''''', z'''')), c''''), B) -> F'(triple(a'''', cons(y''''', cons(y'''''', z'''')), c''''), A)
F(triple(a'''', cons(y''', nil), c''''), B) -> F'(triple(a'''', cons(y''', nil), c''''), A)
F(triple(a'''', cons(y'''', z''''), c''''), B) -> F'(triple(a'''', cons(y'''', z''''), c''''), A)
F(triple(a''', cons(y'''', cons(y'''''', z'''''')), c'''), A) -> F'(triple(a''', cons(y'''', cons(y'''''', z'''''')), c'''), A)
F'(triple(a'', cons(y''', nil), c''), A) -> FOLDF(triple(cons(A, a''), nil, c''), cons(y''', nil))
F(triple(a''', cons(y'''', z''''), c'''), A) -> F'(triple(a''', cons(y'''', z''''), c'''), A)
F'(triple(a'', cons(y''', cons(y''''', cons(y''''0'', cons(y'''''''', z'''''')))), c''), A) -> FOLDF(triple(cons(A, a''), nil, c''), cons(y''', cons(y''''', cons(y''''0'', cons(y'''''''', z'''''')))))
F'(triple(a'', cons(y''', cons(y''0'', cons(y'''''', nil))), c''), A) -> FOLDF(triple(cons(A, a''), nil, c''), cons(y''', cons(y''0'', cons(y'''''', nil))))
F'(triple(a'', cons(y''', cons(y''''', cons(y''''''', z'''''''))), c''), A) -> FOLDF(triple(cons(A, a''), nil, c''), cons(y''', cons(y''''', cons(y''''''', z'''''''))))
F'(triple(a'', cons(y''', cons(y''''', nil)), c''), A) -> FOLDF(triple(cons(A, a''), nil, c''), cons(y''', cons(y''''', nil)))
F'(triple(a'', cons(y''', cons(y''0'', cons(y'''''', z''''''))), c''), A) -> FOLDF(triple(cons(A, a''), nil, c''), cons(y''', cons(y''0'', cons(y'''''', z''''''))))
F'(triple(a'', cons(y''', cons(y''''0, cons(y'''''', z''''))), c''), A) -> FOLDF(triple(cons(A, a''), nil, c''), cons(y''', cons(y''''0, cons(y'''''', z''''))))
F'(triple(a'', cons(y''0, cons(y'''', nil)), c''), A) -> FOLDF(triple(cons(A, a''), nil, c''), cons(y''0, cons(y'''', nil)))
F'(triple(a'', cons(y''', cons(y''''', z''''')), c''), A) -> FOLDF(triple(cons(A, a''), nil, c''), cons(y''', cons(y''''', z''''')))
F'(triple(a', cons(y'', cons(y'''', z'''')), c'), A) -> FOLDF(triple(cons(A, a'), nil, c'), cons(y'', cons(y'''', z'''')))
F''(triple(a'', b'', cons(y''', cons(y''''', cons(y''''0'', cons(y'''''''', z'''''')))))) -> FOLDF(triple(a'', b'', nil), cons(y''', cons(y''''', cons(y''''0'', cons(y'''''''', z'''''')))))
F''(triple(a'', b'', cons(y''', cons(y''0'', cons(y'''''', nil))))) -> FOLDF(triple(a'', b'', nil), cons(y''', cons(y''0'', cons(y'''''', nil))))
F''(triple(a'', b'', cons(y''', cons(y''''', cons(y''''''', z'''''''))))) -> FOLDF(triple(a'', b'', nil), cons(y''', cons(y''''', cons(y''''''', z'''''''))))
F''(triple(a'', b'', cons(y''', cons(y''''', nil)))) -> FOLDF(triple(a'', b'', nil), cons(y''', cons(y''''', nil)))
FOLDF(x''', cons(y, cons(y''', cons(y''''0, cons(y'''''', z''''))))) -> FOLDF(x''', cons(y''', cons(y''''0, cons(y'''''', z''''))))
FOLDF(x''', cons(y, cons(y''0, cons(y'''', nil)))) -> FOLDF(x''', cons(y''0, cons(y'''', nil)))
FOLDF(x''', cons(y, cons(y''', cons(y''''', z''''')))) -> FOLDF(x''', cons(y''', cons(y''''', z''''')))
FOLDF(x'''', cons(y, cons(y''0, cons(y'''', z'''')))) -> FOLDF(x'''', cons(y''0, cons(y'''', z'''')))
F''(triple(a'', b'', cons(y''', cons(y''0'', cons(y'''''', z''''''))))) -> FOLDF(triple(a'', b'', nil), cons(y''', cons(y''0'', cons(y'''''', z''''''))))
F'(triple(a'', cons(y', cons(y'', z'')), c''), A) -> F''(f(f(foldf(triple(cons(A, a''), nil, c''), z''), y''), y'))
F(triple(a'''', cons(y''''', cons(y'''''', z'''')), c''''), A) -> F'(triple(a'''', cons(y''''', cons(y'''''', z'''')), c''''), A)
FOLDF(x''', cons(y, cons(y'', cons(y''', z')))) -> F(f(f(foldf(x''', z'), y'''), y''), y)
F''(triple(a'', b'', cons(y''', cons(y''''0, cons(y'''''', z''''))))) -> FOLDF(triple(a'', b'', nil), cons(y''', cons(y''''0, cons(y'''''', z''''))))
FOLDF(x'''', cons(y, cons(y''', nil))) -> FOLDF(x'''', cons(y''', nil))
F''(triple(a'', b'', cons(y''0, cons(y'''', nil)))) -> FOLDF(triple(a'', b'', nil), cons(y''0, cons(y'''', nil)))
F'(triple(a'', cons(y', nil), c''), A) -> F''(f(triple(cons(A, a''), nil, c''), y'))
F(triple(a'''', cons(y''', nil), c''''), A) -> F'(triple(a'''', cons(y''', nil), c''''), A)
FOLDF(x''', cons(y, cons(y'', nil))) -> F(f(x''', y''), y)
F''(triple(a'', b'', cons(y''', cons(y''''', z''''')))) -> FOLDF(triple(a'', b'', nil), cons(y''', cons(y''''', z''''')))
F'(triple(a''', nil, cons(y'''', cons(y'''''', z''''''))), A) -> F''(triple(cons(A, a'''), nil, cons(y'''', cons(y'''''', z''''''))))
F(triple(a''', nil, c'''), B) -> F'(triple(a''', nil, c'''), A)
FOLDF(triple(a''''', nil, c'''''), cons(B, nil)) -> F(triple(a''''', nil, c'''''), B)
FOLDF(triple(a''''', nil, c'''''), cons(A, nil)) -> F(triple(a''''', nil, c'''''), A)
F''(triple(a'', b'', cons(y''', nil))) -> FOLDF(triple(a'', b'', nil), cons(y''', nil))
F'(triple(a''', nil, cons(y'''', z'''')), A) -> F''(triple(cons(A, a'''), nil, cons(y'''', z'''')))
F(triple(a''', nil, c'''), A) -> F'(triple(a''', nil, c'''), A)
FOLDF(x''', cons(y, cons(y''', z'''))) -> F(f'(foldf(x''', z'''), g(y''')), y)
F''(triple(a', b', cons(y'', cons(y'''', z'''')))) -> FOLDF(triple(a', b', nil), cons(y'', cons(y'''', z'''')))
F'(triple(a'', cons(y'', z''), c''), A) -> F''(f'(foldf(triple(cons(A, a''), nil, c''), z''), g(y'')))
F(triple(a'''', cons(y'''', z''''), c''''), A) -> F'(triple(a'''', cons(y'''', z''''), c''''), A)
F'(triple(a', cons(y'''''', z''''''), c'), B) -> F(triple(a', cons(y'''''', z''''''), c'), A)
F(triple(a''', cons(y'''''''', cons(y'''''''''', z'''''''''')), c'''), B) -> F'(triple(a''', cons(y'''''''', cons(y'''''''''', z'''''''''')), c'''), B)
g(A) -> A
g(B) -> A
g(B) -> B
g(C) -> A
g(C) -> B
g(C) -> C
foldf(x, nil) -> x
foldf(x, cons(y, z)) -> f(foldf(x, z), y)
f(t, x) -> f'(t, g(x))
f'(triple(a, b, c), C) -> triple(a, b, cons(C, c))
f'(triple(a, b, c), B) -> f(triple(a, b, c), A)
f'(triple(a, b, c), A) -> f''(foldf(triple(cons(A, a), nil, c), b))
f''(triple(a, b, c)) -> foldf(triple(a, b, nil), c)
innermost
F(triple(a''', cons(y'''''''0'', cons(y''''''''''', z'''''''')), c'''), B) -> F'(triple(a''', cons(y'''''''0'', cons(y''''''''''', z'''''''')), c'''), B)
F(triple(a''', cons(y''''''', nil), c'''), B) -> F'(triple(a''', cons(y''''''', nil), c'''), B)
F(triple(a''', cons(y'''''''', z''''''''), c'''), B) -> F'(triple(a''', cons(y'''''''', z''''''''), c'''), B)
F(triple(a''', nil, c'''), B) -> F'(triple(a''', nil, c'''), B)
F(triple(a''', cons(y'''', cons(y'''''', z'''''')), c'''), B) -> F'(triple(a''', cons(y'''', cons(y'''''', z'''''')), c'''), A)
F(triple(a''', cons(y'''', z''''), c'''), B) -> F'(triple(a''', cons(y'''', z''''), c'''), A)
F(triple(a'''', cons(y''''', cons(y'''''', z'''')), c''''), B) -> F'(triple(a'''', cons(y''''', cons(y'''''', z'''')), c''''), A)
F(triple(a'''', cons(y''', nil), c''''), B) -> F'(triple(a'''', cons(y''', nil), c''''), A)
F(triple(a'''', cons(y'''', z''''), c''''), B) -> F'(triple(a'''', cons(y'''', z''''), c''''), A)
F(triple(a''', nil, c'''), B) -> F'(triple(a''', nil, c'''), A)
F(triple(a''', cons(y'''''''', cons(y'''''''''', z'''''''''')), c'''), B) -> F'(triple(a''', cons(y'''''''', cons(y'''''''''', z'''''''''')), c'''), B)
f(t, x) -> f'(t, g(x))
foldf(x, nil) -> x
foldf(x, cons(y, z)) -> f(foldf(x, z), y)
f''(triple(a, b, c)) -> foldf(triple(a, b, nil), c)
f'(triple(a, b, c), C) -> triple(a, b, cons(C, c))
f'(triple(a, b, c), B) -> f(triple(a, b, c), A)
f'(triple(a, b, c), A) -> f''(foldf(triple(cons(A, a), nil, c), b))
g(A) -> A
g(B) -> A
g(B) -> B
g(C) -> A
g(C) -> B
g(C) -> C
POL(triple(x1, x2, x3)) = x2 + x3 POL(f'(x1, x2)) = x1 POL(f(x1, x2)) = x1 POL(F(x1, x2)) = x1 + x2 POL(FOLDF(x1, x2)) = x1 + x2 POL(F''(x1)) = x1 POL(C) = 0 POL(g(x1)) = 1 POL(B) = 1 POL(cons(x1, x2)) = x1 + x2 POL(nil) = 0 POL(F'(x1, x2)) = x1 POL(foldf(x1, x2)) = x1 POL(f''(x1)) = x1 POL(A) = 0
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Nar
...
→DP Problem 24
↳Dependency Graph
F'(triple(a', cons(y'''''', cons(y'''''''', z'''''''')), c'), B) -> F(triple(a', cons(y'''''', cons(y'''''''', z'''''''')), c'), A)
F'(triple(a', cons(y'''''''0, cons(y''''''''', z'''''')), c'), B) -> F(triple(a', cons(y'''''''0, cons(y''''''''', z'''''')), c'), A)
F'(triple(a', cons(y''''', nil), c'), B) -> F(triple(a', cons(y''''', nil), c'), A)
F'(triple(a', nil, c'), B) -> F(triple(a', nil, c'), A)
F(triple(a''', cons(y'''', cons(y'''''', z'''''')), c'''), A) -> F'(triple(a''', cons(y'''', cons(y'''''', z'''''')), c'''), A)
F'(triple(a'', cons(y''', nil), c''), A) -> FOLDF(triple(cons(A, a''), nil, c''), cons(y''', nil))
F(triple(a''', cons(y'''', z''''), c'''), A) -> F'(triple(a''', cons(y'''', z''''), c'''), A)
F'(triple(a'', cons(y''', cons(y''''', cons(y''''0'', cons(y'''''''', z'''''')))), c''), A) -> FOLDF(triple(cons(A, a''), nil, c''), cons(y''', cons(y''''', cons(y''''0'', cons(y'''''''', z'''''')))))
F'(triple(a'', cons(y''', cons(y''0'', cons(y'''''', nil))), c''), A) -> FOLDF(triple(cons(A, a''), nil, c''), cons(y''', cons(y''0'', cons(y'''''', nil))))
F'(triple(a'', cons(y''', cons(y''''', cons(y''''''', z'''''''))), c''), A) -> FOLDF(triple(cons(A, a''), nil, c''), cons(y''', cons(y''''', cons(y''''''', z'''''''))))
F'(triple(a'', cons(y''', cons(y''''', nil)), c''), A) -> FOLDF(triple(cons(A, a''), nil, c''), cons(y''', cons(y''''', nil)))
F'(triple(a'', cons(y''', cons(y''0'', cons(y'''''', z''''''))), c''), A) -> FOLDF(triple(cons(A, a''), nil, c''), cons(y''', cons(y''0'', cons(y'''''', z''''''))))
F'(triple(a'', cons(y''', cons(y''''0, cons(y'''''', z''''))), c''), A) -> FOLDF(triple(cons(A, a''), nil, c''), cons(y''', cons(y''''0, cons(y'''''', z''''))))
F'(triple(a'', cons(y''0, cons(y'''', nil)), c''), A) -> FOLDF(triple(cons(A, a''), nil, c''), cons(y''0, cons(y'''', nil)))
F'(triple(a'', cons(y''', cons(y''''', z''''')), c''), A) -> FOLDF(triple(cons(A, a''), nil, c''), cons(y''', cons(y''''', z''''')))
F'(triple(a', cons(y'', cons(y'''', z'''')), c'), A) -> FOLDF(triple(cons(A, a'), nil, c'), cons(y'', cons(y'''', z'''')))
F''(triple(a'', b'', cons(y''', cons(y''''', cons(y''''0'', cons(y'''''''', z'''''')))))) -> FOLDF(triple(a'', b'', nil), cons(y''', cons(y''''', cons(y''''0'', cons(y'''''''', z'''''')))))
F''(triple(a'', b'', cons(y''', cons(y''0'', cons(y'''''', nil))))) -> FOLDF(triple(a'', b'', nil), cons(y''', cons(y''0'', cons(y'''''', nil))))
F''(triple(a'', b'', cons(y''', cons(y''''', cons(y''''''', z'''''''))))) -> FOLDF(triple(a'', b'', nil), cons(y''', cons(y''''', cons(y''''''', z'''''''))))
F''(triple(a'', b'', cons(y''', cons(y''''', nil)))) -> FOLDF(triple(a'', b'', nil), cons(y''', cons(y''''', nil)))
FOLDF(x''', cons(y, cons(y''', cons(y''''0, cons(y'''''', z''''))))) -> FOLDF(x''', cons(y''', cons(y''''0, cons(y'''''', z''''))))
FOLDF(x''', cons(y, cons(y''0, cons(y'''', nil)))) -> FOLDF(x''', cons(y''0, cons(y'''', nil)))
FOLDF(x''', cons(y, cons(y''', cons(y''''', z''''')))) -> FOLDF(x''', cons(y''', cons(y''''', z''''')))
FOLDF(x'''', cons(y, cons(y''0, cons(y'''', z'''')))) -> FOLDF(x'''', cons(y''0, cons(y'''', z'''')))
F''(triple(a'', b'', cons(y''', cons(y''0'', cons(y'''''', z''''''))))) -> FOLDF(triple(a'', b'', nil), cons(y''', cons(y''0'', cons(y'''''', z''''''))))
F'(triple(a'', cons(y', cons(y'', z'')), c''), A) -> F''(f(f(foldf(triple(cons(A, a''), nil, c''), z''), y''), y'))
F(triple(a'''', cons(y''''', cons(y'''''', z'''')), c''''), A) -> F'(triple(a'''', cons(y''''', cons(y'''''', z'''')), c''''), A)
FOLDF(x''', cons(y, cons(y'', cons(y''', z')))) -> F(f(f(foldf(x''', z'), y'''), y''), y)
F''(triple(a'', b'', cons(y''', cons(y''''0, cons(y'''''', z''''))))) -> FOLDF(triple(a'', b'', nil), cons(y''', cons(y''''0, cons(y'''''', z''''))))
FOLDF(x'''', cons(y, cons(y''', nil))) -> FOLDF(x'''', cons(y''', nil))
F''(triple(a'', b'', cons(y''0, cons(y'''', nil)))) -> FOLDF(triple(a'', b'', nil), cons(y''0, cons(y'''', nil)))
F'(triple(a'', cons(y', nil), c''), A) -> F''(f(triple(cons(A, a''), nil, c''), y'))
F(triple(a'''', cons(y''', nil), c''''), A) -> F'(triple(a'''', cons(y''', nil), c''''), A)
FOLDF(x''', cons(y, cons(y'', nil))) -> F(f(x''', y''), y)
F''(triple(a'', b'', cons(y''', cons(y''''', z''''')))) -> FOLDF(triple(a'', b'', nil), cons(y''', cons(y''''', z''''')))
F'(triple(a''', nil, cons(y'''', cons(y'''''', z''''''))), A) -> F''(triple(cons(A, a'''), nil, cons(y'''', cons(y'''''', z''''''))))
FOLDF(triple(a''''', nil, c'''''), cons(B, nil)) -> F(triple(a''''', nil, c'''''), B)
FOLDF(triple(a''''', nil, c'''''), cons(A, nil)) -> F(triple(a''''', nil, c'''''), A)
F''(triple(a'', b'', cons(y''', nil))) -> FOLDF(triple(a'', b'', nil), cons(y''', nil))
F'(triple(a''', nil, cons(y'''', z'''')), A) -> F''(triple(cons(A, a'''), nil, cons(y'''', z'''')))
F(triple(a''', nil, c'''), A) -> F'(triple(a''', nil, c'''), A)
FOLDF(x''', cons(y, cons(y''', z'''))) -> F(f'(foldf(x''', z'''), g(y''')), y)
F''(triple(a', b', cons(y'', cons(y'''', z'''')))) -> FOLDF(triple(a', b', nil), cons(y'', cons(y'''', z'''')))
F'(triple(a'', cons(y'', z''), c''), A) -> F''(f'(foldf(triple(cons(A, a''), nil, c''), z''), g(y'')))
F(triple(a'''', cons(y'''', z''''), c''''), A) -> F'(triple(a'''', cons(y'''', z''''), c''''), A)
F'(triple(a', cons(y'''''', z''''''), c'), B) -> F(triple(a', cons(y'''''', z''''''), c'), A)
g(A) -> A
g(B) -> A
g(B) -> B
g(C) -> A
g(C) -> B
g(C) -> C
foldf(x, nil) -> x
foldf(x, cons(y, z)) -> f(foldf(x, z), y)
f(t, x) -> f'(t, g(x))
f'(triple(a, b, c), C) -> triple(a, b, cons(C, c))
f'(triple(a, b, c), B) -> f(triple(a, b, c), A)
f'(triple(a, b, c), A) -> f''(foldf(triple(cons(A, a), nil, c), b))
f''(triple(a, b, c)) -> foldf(triple(a, b, nil), c)
innermost
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Nar
...
→DP Problem 25
↳Polynomial Ordering
F'(triple(a''', nil, cons(y'''', cons(y'''''', z''''''))), A) -> F''(triple(cons(A, a'''), nil, cons(y'''', cons(y'''''', z''''''))))
F(triple(a''', cons(y'''', cons(y'''''', z'''''')), c'''), A) -> F'(triple(a''', cons(y'''', cons(y'''''', z'''''')), c'''), A)
F'(triple(a'', cons(y''', nil), c''), A) -> FOLDF(triple(cons(A, a''), nil, c''), cons(y''', nil))
F(triple(a''', cons(y'''', z''''), c'''), A) -> F'(triple(a''', cons(y'''', z''''), c'''), A)
F'(triple(a'', cons(y''', cons(y''''', cons(y''''0'', cons(y'''''''', z'''''')))), c''), A) -> FOLDF(triple(cons(A, a''), nil, c''), cons(y''', cons(y''''', cons(y''''0'', cons(y'''''''', z'''''')))))
F'(triple(a'', cons(y''', cons(y''0'', cons(y'''''', nil))), c''), A) -> FOLDF(triple(cons(A, a''), nil, c''), cons(y''', cons(y''0'', cons(y'''''', nil))))
F'(triple(a'', cons(y''', cons(y''''', cons(y''''''', z'''''''))), c''), A) -> FOLDF(triple(cons(A, a''), nil, c''), cons(y''', cons(y''''', cons(y''''''', z'''''''))))
F'(triple(a'', cons(y''', cons(y''''', nil)), c''), A) -> FOLDF(triple(cons(A, a''), nil, c''), cons(y''', cons(y''''', nil)))
F'(triple(a'', cons(y''', cons(y''0'', cons(y'''''', z''''''))), c''), A) -> FOLDF(triple(cons(A, a''), nil, c''), cons(y''', cons(y''0'', cons(y'''''', z''''''))))
F'(triple(a'', cons(y''', cons(y''''0, cons(y'''''', z''''))), c''), A) -> FOLDF(triple(cons(A, a''), nil, c''), cons(y''', cons(y''''0, cons(y'''''', z''''))))
F'(triple(a'', cons(y''0, cons(y'''', nil)), c''), A) -> FOLDF(triple(cons(A, a''), nil, c''), cons(y''0, cons(y'''', nil)))
F'(triple(a'', cons(y''', cons(y''''', z''''')), c''), A) -> FOLDF(triple(cons(A, a''), nil, c''), cons(y''', cons(y''''', z''''')))
F'(triple(a', cons(y'', cons(y'''', z'''')), c'), A) -> FOLDF(triple(cons(A, a'), nil, c'), cons(y'', cons(y'''', z'''')))
F''(triple(a'', b'', cons(y''', cons(y''''', cons(y''''0'', cons(y'''''''', z'''''')))))) -> FOLDF(triple(a'', b'', nil), cons(y''', cons(y''''', cons(y''''0'', cons(y'''''''', z'''''')))))
F''(triple(a'', b'', cons(y''', cons(y''0'', cons(y'''''', nil))))) -> FOLDF(triple(a'', b'', nil), cons(y''', cons(y''0'', cons(y'''''', nil))))
F''(triple(a'', b'', cons(y''', cons(y''''', cons(y''''''', z'''''''))))) -> FOLDF(triple(a'', b'', nil), cons(y''', cons(y''''', cons(y''''''', z'''''''))))
F''(triple(a'', b'', cons(y''', cons(y''''', nil)))) -> FOLDF(triple(a'', b'', nil), cons(y''', cons(y''''', nil)))
FOLDF(x''', cons(y, cons(y''', cons(y''''0, cons(y'''''', z''''))))) -> FOLDF(x''', cons(y''', cons(y''''0, cons(y'''''', z''''))))
FOLDF(x''', cons(y, cons(y''0, cons(y'''', nil)))) -> FOLDF(x''', cons(y''0, cons(y'''', nil)))
FOLDF(x''', cons(y, cons(y''', cons(y''''', z''''')))) -> FOLDF(x''', cons(y''', cons(y''''', z''''')))
FOLDF(x'''', cons(y, cons(y''0, cons(y'''', z'''')))) -> FOLDF(x'''', cons(y''0, cons(y'''', z'''')))
F''(triple(a'', b'', cons(y''', cons(y''0'', cons(y'''''', z''''''))))) -> FOLDF(triple(a'', b'', nil), cons(y''', cons(y''0'', cons(y'''''', z''''''))))
F'(triple(a'', cons(y', cons(y'', z'')), c''), A) -> F''(f(f(foldf(triple(cons(A, a''), nil, c''), z''), y''), y'))
F(triple(a'''', cons(y''''', cons(y'''''', z'''')), c''''), A) -> F'(triple(a'''', cons(y''''', cons(y'''''', z'''')), c''''), A)
FOLDF(x''', cons(y, cons(y'', cons(y''', z')))) -> F(f(f(foldf(x''', z'), y'''), y''), y)
F''(triple(a'', b'', cons(y''', cons(y''''0, cons(y'''''', z''''))))) -> FOLDF(triple(a'', b'', nil), cons(y''', cons(y''''0, cons(y'''''', z''''))))
FOLDF(x'''', cons(y, cons(y''', nil))) -> FOLDF(x'''', cons(y''', nil))
F''(triple(a'', b'', cons(y''0, cons(y'''', nil)))) -> FOLDF(triple(a'', b'', nil), cons(y''0, cons(y'''', nil)))
F'(triple(a'', cons(y', nil), c''), A) -> F''(f(triple(cons(A, a''), nil, c''), y'))
F(triple(a'''', cons(y''', nil), c''''), A) -> F'(triple(a'''', cons(y''', nil), c''''), A)
FOLDF(x''', cons(y, cons(y'', nil))) -> F(f(x''', y''), y)
F''(triple(a'', b'', cons(y''', cons(y''''', z''''')))) -> FOLDF(triple(a'', b'', nil), cons(y''', cons(y''''', z''''')))
FOLDF(triple(a''''', nil, c'''''), cons(A, nil)) -> F(triple(a''''', nil, c'''''), A)
F''(triple(a'', b'', cons(y''', nil))) -> FOLDF(triple(a'', b'', nil), cons(y''', nil))
F'(triple(a''', nil, cons(y'''', z'''')), A) -> F''(triple(cons(A, a'''), nil, cons(y'''', z'''')))
F(triple(a''', nil, c'''), A) -> F'(triple(a''', nil, c'''), A)
FOLDF(x''', cons(y, cons(y''', z'''))) -> F(f'(foldf(x''', z'''), g(y''')), y)
F''(triple(a', b', cons(y'', cons(y'''', z'''')))) -> FOLDF(triple(a', b', nil), cons(y'', cons(y'''', z'''')))
F'(triple(a'', cons(y'', z''), c''), A) -> F''(f'(foldf(triple(cons(A, a''), nil, c''), z''), g(y'')))
F(triple(a'''', cons(y'''', z''''), c''''), A) -> F'(triple(a'''', cons(y'''', z''''), c''''), A)
g(A) -> A
g(B) -> A
g(B) -> B
g(C) -> A
g(C) -> B
g(C) -> C
foldf(x, nil) -> x
foldf(x, cons(y, z)) -> f(foldf(x, z), y)
f(t, x) -> f'(t, g(x))
f'(triple(a, b, c), C) -> triple(a, b, cons(C, c))
f'(triple(a, b, c), B) -> f(triple(a, b, c), A)
f'(triple(a, b, c), A) -> f''(foldf(triple(cons(A, a), nil, c), b))
f''(triple(a, b, c)) -> foldf(triple(a, b, nil), c)
innermost
F'(triple(a''', nil, cons(y'''', cons(y'''''', z''''''))), A) -> F''(triple(cons(A, a'''), nil, cons(y'''', cons(y'''''', z''''''))))
F'(triple(a'', cons(y''', nil), c''), A) -> FOLDF(triple(cons(A, a''), nil, c''), cons(y''', nil))
F'(triple(a'', cons(y''', cons(y''''', cons(y''''0'', cons(y'''''''', z'''''')))), c''), A) -> FOLDF(triple(cons(A, a''), nil, c''), cons(y''', cons(y''''', cons(y''''0'', cons(y'''''''', z'''''')))))
F'(triple(a'', cons(y''', cons(y''0'', cons(y'''''', nil))), c''), A) -> FOLDF(triple(cons(A, a''), nil, c''), cons(y''', cons(y''0'', cons(y'''''', nil))))
F'(triple(a'', cons(y''', cons(y''''', cons(y''''''', z'''''''))), c''), A) -> FOLDF(triple(cons(A, a''), nil, c''), cons(y''', cons(y''''', cons(y''''''', z'''''''))))
F'(triple(a'', cons(y''', cons(y''''', nil)), c''), A) -> FOLDF(triple(cons(A, a''), nil, c''), cons(y''', cons(y''''', nil)))
F'(triple(a'', cons(y''', cons(y''0'', cons(y'''''', z''''''))), c''), A) -> FOLDF(triple(cons(A, a''), nil, c''), cons(y''', cons(y''0'', cons(y'''''', z''''''))))
F'(triple(a'', cons(y''', cons(y''''0, cons(y'''''', z''''))), c''), A) -> FOLDF(triple(cons(A, a''), nil, c''), cons(y''', cons(y''''0, cons(y'''''', z''''))))
F'(triple(a'', cons(y''0, cons(y'''', nil)), c''), A) -> FOLDF(triple(cons(A, a''), nil, c''), cons(y''0, cons(y'''', nil)))
F'(triple(a'', cons(y''', cons(y''''', z''''')), c''), A) -> FOLDF(triple(cons(A, a''), nil, c''), cons(y''', cons(y''''', z''''')))
F'(triple(a', cons(y'', cons(y'''', z'''')), c'), A) -> FOLDF(triple(cons(A, a'), nil, c'), cons(y'', cons(y'''', z'''')))
F'(triple(a'', cons(y', cons(y'', z'')), c''), A) -> F''(f(f(foldf(triple(cons(A, a''), nil, c''), z''), y''), y'))
F'(triple(a'', cons(y', nil), c''), A) -> F''(f(triple(cons(A, a''), nil, c''), y'))
F'(triple(a''', nil, cons(y'''', z'''')), A) -> F''(triple(cons(A, a'''), nil, cons(y'''', z'''')))
F'(triple(a'', cons(y'', z''), c''), A) -> F''(f'(foldf(triple(cons(A, a''), nil, c''), z''), g(y'')))
f(t, x) -> f'(t, g(x))
foldf(x, nil) -> x
foldf(x, cons(y, z)) -> f(foldf(x, z), y)
f''(triple(a, b, c)) -> foldf(triple(a, b, nil), c)
f'(triple(a, b, c), C) -> triple(a, b, cons(C, c))
f'(triple(a, b, c), B) -> f(triple(a, b, c), A)
f'(triple(a, b, c), A) -> f''(foldf(triple(cons(A, a), nil, c), b))
g(A) -> A
g(B) -> A
g(B) -> B
g(C) -> A
g(C) -> B
g(C) -> C
POL(triple(x1, x2, x3)) = x2 + x3 POL(f'(x1, x2)) = x1 POL(F(x1, x2)) = x1 + x2 POL(f(x1, x2)) = x1 POL(FOLDF(x1, x2)) = x1 + x2 POL(F''(x1)) = x1 POL(C) = 0 POL(g(x1)) = 1 POL(B) = 0 POL(cons(x1, x2)) = x1 + x2 POL(nil) = 0 POL(F'(x1, x2)) = 1 + x1 POL(foldf(x1, x2)) = x1 POL(f''(x1)) = x1 POL(A) = 1
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Nar
...
→DP Problem 26
↳Dependency Graph
F(triple(a''', cons(y'''', cons(y'''''', z'''''')), c'''), A) -> F'(triple(a''', cons(y'''', cons(y'''''', z'''''')), c'''), A)
F(triple(a''', cons(y'''', z''''), c'''), A) -> F'(triple(a''', cons(y'''', z''''), c'''), A)
F''(triple(a'', b'', cons(y''', cons(y''''', cons(y''''0'', cons(y'''''''', z'''''')))))) -> FOLDF(triple(a'', b'', nil), cons(y''', cons(y''''', cons(y''''0'', cons(y'''''''', z'''''')))))
F''(triple(a'', b'', cons(y''', cons(y''0'', cons(y'''''', nil))))) -> FOLDF(triple(a'', b'', nil), cons(y''', cons(y''0'', cons(y'''''', nil))))
F''(triple(a'', b'', cons(y''', cons(y''''', cons(y''''''', z'''''''))))) -> FOLDF(triple(a'', b'', nil), cons(y''', cons(y''''', cons(y''''''', z'''''''))))
F''(triple(a'', b'', cons(y''', cons(y''''', nil)))) -> FOLDF(triple(a'', b'', nil), cons(y''', cons(y''''', nil)))
FOLDF(x''', cons(y, cons(y''', cons(y''''0, cons(y'''''', z''''))))) -> FOLDF(x''', cons(y''', cons(y''''0, cons(y'''''', z''''))))
FOLDF(x''', cons(y, cons(y''0, cons(y'''', nil)))) -> FOLDF(x''', cons(y''0, cons(y'''', nil)))
FOLDF(x''', cons(y, cons(y''', cons(y''''', z''''')))) -> FOLDF(x''', cons(y''', cons(y''''', z''''')))
FOLDF(x'''', cons(y, cons(y''0, cons(y'''', z'''')))) -> FOLDF(x'''', cons(y''0, cons(y'''', z'''')))
F''(triple(a'', b'', cons(y''', cons(y''0'', cons(y'''''', z''''''))))) -> FOLDF(triple(a'', b'', nil), cons(y''', cons(y''0'', cons(y'''''', z''''''))))
F(triple(a'''', cons(y''''', cons(y'''''', z'''')), c''''), A) -> F'(triple(a'''', cons(y''''', cons(y'''''', z'''')), c''''), A)
FOLDF(x''', cons(y, cons(y'', cons(y''', z')))) -> F(f(f(foldf(x''', z'), y'''), y''), y)
F''(triple(a'', b'', cons(y''', cons(y''''0, cons(y'''''', z''''))))) -> FOLDF(triple(a'', b'', nil), cons(y''', cons(y''''0, cons(y'''''', z''''))))
FOLDF(x'''', cons(y, cons(y''', nil))) -> FOLDF(x'''', cons(y''', nil))
F''(triple(a'', b'', cons(y''0, cons(y'''', nil)))) -> FOLDF(triple(a'', b'', nil), cons(y''0, cons(y'''', nil)))
F(triple(a'''', cons(y''', nil), c''''), A) -> F'(triple(a'''', cons(y''', nil), c''''), A)
FOLDF(x''', cons(y, cons(y'', nil))) -> F(f(x''', y''), y)
F''(triple(a'', b'', cons(y''', cons(y''''', z''''')))) -> FOLDF(triple(a'', b'', nil), cons(y''', cons(y''''', z''''')))
FOLDF(triple(a''''', nil, c'''''), cons(A, nil)) -> F(triple(a''''', nil, c'''''), A)
F''(triple(a'', b'', cons(y''', nil))) -> FOLDF(triple(a'', b'', nil), cons(y''', nil))
F(triple(a''', nil, c'''), A) -> F'(triple(a''', nil, c'''), A)
FOLDF(x''', cons(y, cons(y''', z'''))) -> F(f'(foldf(x''', z'''), g(y''')), y)
F''(triple(a', b', cons(y'', cons(y'''', z'''')))) -> FOLDF(triple(a', b', nil), cons(y'', cons(y'''', z'''')))
F(triple(a'''', cons(y'''', z''''), c''''), A) -> F'(triple(a'''', cons(y'''', z''''), c''''), A)
g(A) -> A
g(B) -> A
g(B) -> B
g(C) -> A
g(C) -> B
g(C) -> C
foldf(x, nil) -> x
foldf(x, cons(y, z)) -> f(foldf(x, z), y)
f(t, x) -> f'(t, g(x))
f'(triple(a, b, c), C) -> triple(a, b, cons(C, c))
f'(triple(a, b, c), B) -> f(triple(a, b, c), A)
f'(triple(a, b, c), A) -> f''(foldf(triple(cons(A, a), nil, c), b))
f''(triple(a, b, c)) -> foldf(triple(a, b, nil), c)
innermost
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Nar
...
→DP Problem 27
↳Polynomial Ordering
FOLDF(x''', cons(y, cons(y''', cons(y''''0, cons(y'''''', z''''))))) -> FOLDF(x''', cons(y''', cons(y''''0, cons(y'''''', z''''))))
FOLDF(x''', cons(y, cons(y''', cons(y''''', z''''')))) -> FOLDF(x''', cons(y''', cons(y''''', z''''')))
FOLDF(x'''', cons(y, cons(y''0, cons(y'''', z'''')))) -> FOLDF(x'''', cons(y''0, cons(y'''', z'''')))
g(A) -> A
g(B) -> A
g(B) -> B
g(C) -> A
g(C) -> B
g(C) -> C
foldf(x, nil) -> x
foldf(x, cons(y, z)) -> f(foldf(x, z), y)
f(t, x) -> f'(t, g(x))
f'(triple(a, b, c), C) -> triple(a, b, cons(C, c))
f'(triple(a, b, c), B) -> f(triple(a, b, c), A)
f'(triple(a, b, c), A) -> f''(foldf(triple(cons(A, a), nil, c), b))
f''(triple(a, b, c)) -> foldf(triple(a, b, nil), c)
innermost
FOLDF(x''', cons(y, cons(y''', cons(y''''0, cons(y'''''', z''''))))) -> FOLDF(x''', cons(y''', cons(y''''0, cons(y'''''', z''''))))
FOLDF(x''', cons(y, cons(y''', cons(y''''', z''''')))) -> FOLDF(x''', cons(y''', cons(y''''', z''''')))
FOLDF(x'''', cons(y, cons(y''0, cons(y'''', z'''')))) -> FOLDF(x'''', cons(y''0, cons(y'''', z'''')))
POL(cons(x1, x2)) = 1 + x2 POL(FOLDF(x1, x2)) = 1 + x2
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Nar
...
→DP Problem 28
↳Dependency Graph
g(A) -> A
g(B) -> A
g(B) -> B
g(C) -> A
g(C) -> B
g(C) -> C
foldf(x, nil) -> x
foldf(x, cons(y, z)) -> f(foldf(x, z), y)
f(t, x) -> f'(t, g(x))
f'(triple(a, b, c), C) -> triple(a, b, cons(C, c))
f'(triple(a, b, c), B) -> f(triple(a, b, c), A)
f'(triple(a, b, c), A) -> f''(foldf(triple(cons(A, a), nil, c), b))
f''(triple(a, b, c)) -> foldf(triple(a, b, nil), c)
innermost