YES Termination w.r.t. Q proof of Applicative_05_Ex9Maps.ari

(0) Obligation:

Q restricted rewrite system:
The TRS R consists of the following rules:

app(app(map_1, f), app(app(cons, h), t)) → app(app(cons, app(f, h)), app(app(map_1, f), t))
app(app(app(map_2, f), c), app(app(cons, h), t)) → app(app(cons, app(app(f, h), c)), app(app(app(map_2, f), c), t))
app(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → app(app(cons, app(app(app(f, g), h), c)), app(app(app(app(map_3, f), g), c), t))

Q is empty.

(1) Overlay + Local Confluence (EQUIVALENT transformation)

The TRS is overlay and locally confluent. By [NOC] we can switch to innermost.

(2) Obligation:

Q restricted rewrite system:
The TRS R consists of the following rules:

app(app(map_1, f), app(app(cons, h), t)) → app(app(cons, app(f, h)), app(app(map_1, f), t))
app(app(app(map_2, f), c), app(app(cons, h), t)) → app(app(cons, app(app(f, h), c)), app(app(app(map_2, f), c), t))
app(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → app(app(cons, app(app(app(f, g), h), c)), app(app(app(app(map_3, f), g), c), t))

The set Q consists of the following terms:

app(app(map_1, x0), app(app(cons, x1), x2))
app(app(app(map_2, x0), x1), app(app(cons, x2), x3))
app(app(app(app(map_3, x0), g), x1), app(app(cons, x2), x3))

(3) DependencyPairsProof (EQUIVALENT transformation)

Using Dependency Pairs [AG00,LPAR04] we result in the following initial DP problem.

(4) Obligation:

Q DP problem:
The TRS P consists of the following rules:

APP(app(map_1, f), app(app(cons, h), t)) → APP(app(cons, app(f, h)), app(app(map_1, f), t))
APP(app(map_1, f), app(app(cons, h), t)) → APP(cons, app(f, h))
APP(app(map_1, f), app(app(cons, h), t)) → APP(f, h)
APP(app(map_1, f), app(app(cons, h), t)) → APP(app(map_1, f), t)
APP(app(app(map_2, f), c), app(app(cons, h), t)) → APP(app(cons, app(app(f, h), c)), app(app(app(map_2, f), c), t))
APP(app(app(map_2, f), c), app(app(cons, h), t)) → APP(cons, app(app(f, h), c))
APP(app(app(map_2, f), c), app(app(cons, h), t)) → APP(app(f, h), c)
APP(app(app(map_2, f), c), app(app(cons, h), t)) → APP(f, h)
APP(app(app(map_2, f), c), app(app(cons, h), t)) → APP(app(app(map_2, f), c), t)
APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(cons, app(app(app(f, g), h), c)), app(app(app(app(map_3, f), g), c), t))
APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(cons, app(app(app(f, g), h), c))
APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(app(f, g), h), c)
APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(f, g), h)
APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(f, g)
APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(app(app(map_3, f), g), c), t)

The TRS R consists of the following rules:

app(app(map_1, f), app(app(cons, h), t)) → app(app(cons, app(f, h)), app(app(map_1, f), t))
app(app(app(map_2, f), c), app(app(cons, h), t)) → app(app(cons, app(app(f, h), c)), app(app(app(map_2, f), c), t))
app(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → app(app(cons, app(app(app(f, g), h), c)), app(app(app(app(map_3, f), g), c), t))

The set Q consists of the following terms:

app(app(map_1, x0), app(app(cons, x1), x2))
app(app(app(map_2, x0), x1), app(app(cons, x2), x3))
app(app(app(app(map_3, x0), g), x1), app(app(cons, x2), x3))

We have to consider all minimal (P,Q,R)-chains.

(5) DependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 7 less nodes.

(6) Obligation:

Q DP problem:
The TRS P consists of the following rules:

APP(app(map_1, f), app(app(cons, h), t)) → APP(app(map_1, f), t)
APP(app(map_1, f), app(app(cons, h), t)) → APP(f, h)
APP(app(app(map_2, f), c), app(app(cons, h), t)) → APP(app(f, h), c)
APP(app(app(map_2, f), c), app(app(cons, h), t)) → APP(f, h)
APP(app(app(map_2, f), c), app(app(cons, h), t)) → APP(app(app(map_2, f), c), t)
APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(app(f, g), h), c)
APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(f, g), h)
APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(app(app(map_3, f), g), c), t)

The TRS R consists of the following rules:

app(app(map_1, f), app(app(cons, h), t)) → app(app(cons, app(f, h)), app(app(map_1, f), t))
app(app(app(map_2, f), c), app(app(cons, h), t)) → app(app(cons, app(app(f, h), c)), app(app(app(map_2, f), c), t))
app(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → app(app(cons, app(app(app(f, g), h), c)), app(app(app(app(map_3, f), g), c), t))

The set Q consists of the following terms:

app(app(map_1, x0), app(app(cons, x1), x2))
app(app(app(map_2, x0), x1), app(app(cons, x2), x3))
app(app(app(app(map_3, x0), g), x1), app(app(cons, x2), x3))

We have to consider all minimal (P,Q,R)-chains.

(7) TransformationProof (EQUIVALENT transformation)

By forward instantiating [JAR06] the rule APP(app(map_1, f), app(app(cons, h), t)) → APP(app(map_1, f), t) we obtained the following new rules [LPAR04]:

APP(app(map_1, x0), app(app(cons, x1), app(app(cons, y_1), y_2))) → APP(app(map_1, x0), app(app(cons, y_1), y_2)) → APP(app(map_1, x0), app(app(cons, x1), app(app(cons, y_1), y_2))) → APP(app(map_1, x0), app(app(cons, y_1), y_2))

(8) Obligation:

Q DP problem:
The TRS P consists of the following rules:

APP(app(map_1, f), app(app(cons, h), t)) → APP(f, h)
APP(app(app(map_2, f), c), app(app(cons, h), t)) → APP(app(f, h), c)
APP(app(app(map_2, f), c), app(app(cons, h), t)) → APP(f, h)
APP(app(app(map_2, f), c), app(app(cons, h), t)) → APP(app(app(map_2, f), c), t)
APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(app(f, g), h), c)
APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(f, g), h)
APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(app(app(map_3, f), g), c), t)
APP(app(map_1, x0), app(app(cons, x1), app(app(cons, y_1), y_2))) → APP(app(map_1, x0), app(app(cons, y_1), y_2))

The TRS R consists of the following rules:

app(app(map_1, f), app(app(cons, h), t)) → app(app(cons, app(f, h)), app(app(map_1, f), t))
app(app(app(map_2, f), c), app(app(cons, h), t)) → app(app(cons, app(app(f, h), c)), app(app(app(map_2, f), c), t))
app(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → app(app(cons, app(app(app(f, g), h), c)), app(app(app(app(map_3, f), g), c), t))

The set Q consists of the following terms:

app(app(map_1, x0), app(app(cons, x1), x2))
app(app(app(map_2, x0), x1), app(app(cons, x2), x3))
app(app(app(app(map_3, x0), g), x1), app(app(cons, x2), x3))

We have to consider all minimal (P,Q,R)-chains.

(9) TransformationProof (EQUIVALENT transformation)

By forward instantiating [JAR06] the rule APP(app(map_1, f), app(app(cons, h), t)) → APP(f, h) we obtained the following new rules [LPAR04]:

APP(app(map_1, app(app(map_2, y_0), y_1)), app(app(cons, app(app(cons, y_2), y_3)), x2)) → APP(app(app(map_2, y_0), y_1), app(app(cons, y_2), y_3)) → APP(app(map_1, app(app(map_2, y_0), y_1)), app(app(cons, app(app(cons, y_2), y_3)), x2)) → APP(app(app(map_2, y_0), y_1), app(app(cons, y_2), y_3))
APP(app(map_1, app(app(app(map_3, y_0), g), y_1)), app(app(cons, app(app(cons, y_2), y_3)), x2)) → APP(app(app(app(map_3, y_0), g), y_1), app(app(cons, y_2), y_3)) → APP(app(map_1, app(app(app(map_3, y_0), g), y_1)), app(app(cons, app(app(cons, y_2), y_3)), x2)) → APP(app(app(app(map_3, y_0), g), y_1), app(app(cons, y_2), y_3))
APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), y_2)), x2)) → APP(app(map_1, y_0), app(app(cons, y_1), y_2)) → APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), y_2)), x2)) → APP(app(map_1, y_0), app(app(cons, y_1), y_2))
APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), x2)) → APP(app(map_1, y_0), app(app(cons, y_1), app(app(cons, y_2), y_3))) → APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), x2)) → APP(app(map_1, y_0), app(app(cons, y_1), app(app(cons, y_2), y_3)))

(10) Obligation:

Q DP problem:
The TRS P consists of the following rules:

APP(app(app(map_2, f), c), app(app(cons, h), t)) → APP(app(f, h), c)
APP(app(app(map_2, f), c), app(app(cons, h), t)) → APP(f, h)
APP(app(app(map_2, f), c), app(app(cons, h), t)) → APP(app(app(map_2, f), c), t)
APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(app(f, g), h), c)
APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(f, g), h)
APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(app(app(map_3, f), g), c), t)
APP(app(map_1, x0), app(app(cons, x1), app(app(cons, y_1), y_2))) → APP(app(map_1, x0), app(app(cons, y_1), y_2))
APP(app(map_1, app(app(map_2, y_0), y_1)), app(app(cons, app(app(cons, y_2), y_3)), x2)) → APP(app(app(map_2, y_0), y_1), app(app(cons, y_2), y_3))
APP(app(map_1, app(app(app(map_3, y_0), g), y_1)), app(app(cons, app(app(cons, y_2), y_3)), x2)) → APP(app(app(app(map_3, y_0), g), y_1), app(app(cons, y_2), y_3))
APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), y_2)), x2)) → APP(app(map_1, y_0), app(app(cons, y_1), y_2))
APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), x2)) → APP(app(map_1, y_0), app(app(cons, y_1), app(app(cons, y_2), y_3)))

The TRS R consists of the following rules:

app(app(map_1, f), app(app(cons, h), t)) → app(app(cons, app(f, h)), app(app(map_1, f), t))
app(app(app(map_2, f), c), app(app(cons, h), t)) → app(app(cons, app(app(f, h), c)), app(app(app(map_2, f), c), t))
app(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → app(app(cons, app(app(app(f, g), h), c)), app(app(app(app(map_3, f), g), c), t))

The set Q consists of the following terms:

app(app(map_1, x0), app(app(cons, x1), x2))
app(app(app(map_2, x0), x1), app(app(cons, x2), x3))
app(app(app(app(map_3, x0), g), x1), app(app(cons, x2), x3))

We have to consider all minimal (P,Q,R)-chains.

(11) TransformationProof (EQUIVALENT transformation)

By forward instantiating [JAR06] the rule APP(app(app(map_2, f), c), app(app(cons, h), t)) → APP(app(f, h), c) we obtained the following new rules [LPAR04]:

APP(app(app(map_2, app(map_2, y_0)), x1), app(app(cons, x2), x3)) → APP(app(app(map_2, y_0), x2), x1) → APP(app(app(map_2, app(map_2, y_0)), x1), app(app(cons, x2), x3)) → APP(app(app(map_2, y_0), x2), x1)
APP(app(app(map_2, app(app(map_3, y_0), g)), x1), app(app(cons, x2), x3)) → APP(app(app(app(map_3, y_0), g), x2), x1) → APP(app(app(map_2, app(app(map_3, y_0), g)), x1), app(app(cons, x2), x3)) → APP(app(app(app(map_3, y_0), g), x2), x1)
APP(app(app(map_2, map_1), x1), app(app(cons, x2), x3)) → APP(app(map_1, x2), x1) → APP(app(app(map_2, map_1), x1), app(app(cons, x2), x3)) → APP(app(map_1, x2), x1)
APP(app(app(map_2, map_1), x1), app(app(cons, app(app(map_2, y_0), y_1)), x3)) → APP(app(map_1, app(app(map_2, y_0), y_1)), x1) → APP(app(app(map_2, map_1), x1), app(app(cons, app(app(map_2, y_0), y_1)), x3)) → APP(app(map_1, app(app(map_2, y_0), y_1)), x1)
APP(app(app(map_2, map_1), x1), app(app(cons, app(app(app(map_3, y_0), g), y_1)), x3)) → APP(app(map_1, app(app(app(map_3, y_0), g), y_1)), x1) → APP(app(app(map_2, map_1), x1), app(app(cons, app(app(app(map_3, y_0), g), y_1)), x3)) → APP(app(map_1, app(app(app(map_3, y_0), g), y_1)), x1)
APP(app(app(map_2, map_1), x1), app(app(cons, app(map_1, y_0)), x3)) → APP(app(map_1, app(map_1, y_0)), x1) → APP(app(app(map_2, map_1), x1), app(app(cons, app(map_1, y_0)), x3)) → APP(app(map_1, app(map_1, y_0)), x1)

(12) Obligation:

Q DP problem:
The TRS P consists of the following rules:

APP(app(app(map_2, f), c), app(app(cons, h), t)) → APP(f, h)
APP(app(app(map_2, f), c), app(app(cons, h), t)) → APP(app(app(map_2, f), c), t)
APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(app(f, g), h), c)
APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(f, g), h)
APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(app(app(map_3, f), g), c), t)
APP(app(map_1, x0), app(app(cons, x1), app(app(cons, y_1), y_2))) → APP(app(map_1, x0), app(app(cons, y_1), y_2))
APP(app(map_1, app(app(map_2, y_0), y_1)), app(app(cons, app(app(cons, y_2), y_3)), x2)) → APP(app(app(map_2, y_0), y_1), app(app(cons, y_2), y_3))
APP(app(map_1, app(app(app(map_3, y_0), g), y_1)), app(app(cons, app(app(cons, y_2), y_3)), x2)) → APP(app(app(app(map_3, y_0), g), y_1), app(app(cons, y_2), y_3))
APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), y_2)), x2)) → APP(app(map_1, y_0), app(app(cons, y_1), y_2))
APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), x2)) → APP(app(map_1, y_0), app(app(cons, y_1), app(app(cons, y_2), y_3)))
APP(app(app(map_2, app(map_2, y_0)), x1), app(app(cons, x2), x3)) → APP(app(app(map_2, y_0), x2), x1)
APP(app(app(map_2, app(app(map_3, y_0), g)), x1), app(app(cons, x2), x3)) → APP(app(app(app(map_3, y_0), g), x2), x1)
APP(app(app(map_2, map_1), x1), app(app(cons, x2), x3)) → APP(app(map_1, x2), x1)
APP(app(app(map_2, map_1), x1), app(app(cons, app(app(map_2, y_0), y_1)), x3)) → APP(app(map_1, app(app(map_2, y_0), y_1)), x1)
APP(app(app(map_2, map_1), x1), app(app(cons, app(app(app(map_3, y_0), g), y_1)), x3)) → APP(app(map_1, app(app(app(map_3, y_0), g), y_1)), x1)
APP(app(app(map_2, map_1), x1), app(app(cons, app(map_1, y_0)), x3)) → APP(app(map_1, app(map_1, y_0)), x1)

The TRS R consists of the following rules:

app(app(map_1, f), app(app(cons, h), t)) → app(app(cons, app(f, h)), app(app(map_1, f), t))
app(app(app(map_2, f), c), app(app(cons, h), t)) → app(app(cons, app(app(f, h), c)), app(app(app(map_2, f), c), t))
app(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → app(app(cons, app(app(app(f, g), h), c)), app(app(app(app(map_3, f), g), c), t))

The set Q consists of the following terms:

app(app(map_1, x0), app(app(cons, x1), x2))
app(app(app(map_2, x0), x1), app(app(cons, x2), x3))
app(app(app(app(map_3, x0), g), x1), app(app(cons, x2), x3))

We have to consider all minimal (P,Q,R)-chains.

(13) TransformationProof (EQUIVALENT transformation)

By forward instantiating [JAR06] the rule APP(app(app(map_2, f), c), app(app(cons, h), t)) → APP(f, h) we obtained the following new rules [LPAR04]:

APP(app(app(map_2, app(app(map_2, y_0), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, y_0), y_1), app(app(cons, y_2), y_3)) → APP(app(app(map_2, app(app(map_2, y_0), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, y_0), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(app(map_3, y_0), g), y_1), app(app(cons, y_2), y_3)) → APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(app(map_3, y_0), g), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(map_1, y_0)), x1), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), x3)) → APP(app(map_1, y_0), app(app(cons, y_1), app(app(cons, y_2), y_3))) → APP(app(app(map_2, app(map_1, y_0)), x1), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), x3)) → APP(app(map_1, y_0), app(app(cons, y_1), app(app(cons, y_2), y_3)))
APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), x3)) → APP(app(map_1, app(app(map_2, y_0), y_1)), app(app(cons, app(app(cons, y_2), y_3)), y_4)) → APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), x3)) → APP(app(map_1, app(app(map_2, y_0), y_1)), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), x3)) → APP(app(map_1, app(app(app(map_3, y_0), g), y_1)), app(app(cons, app(app(cons, y_2), y_3)), y_4)) → APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), x3)) → APP(app(map_1, app(app(app(map_3, y_0), g), y_1)), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_1), y_2)), y_3)), x3)) → APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), y_2)), y_3)) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_1), y_2)), y_3)), x3)) → APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), y_2)), y_3))
APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4)), x3)) → APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4)) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4)), x3)) → APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4))
APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, app(map_2, y_0)), y_1), app(app(cons, y_2), y_3)) → APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, app(map_2, y_0)), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, app(app(map_3, y_0), g)), y_1), app(app(cons, y_2), y_3)) → APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, app(app(map_3, y_0), g)), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, y_1), y_2)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, y_1), y_2)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, y_1), y_2)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, y_1), y_2))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(map_2, y_1), y_2)), y_3)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, app(app(map_2, y_1), y_2)), y_3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(map_2, y_1), y_2)), y_3)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, app(app(map_2, y_1), y_2)), y_3))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(map_1, y_1)), y_2)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, app(map_1, y_1)), y_2)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(map_1, y_1)), y_2)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, app(map_1, y_1)), y_2))

(14) Obligation:

Q DP problem:
The TRS P consists of the following rules:

APP(app(app(map_2, f), c), app(app(cons, h), t)) → APP(app(app(map_2, f), c), t)
APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(app(f, g), h), c)
APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(f, g), h)
APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(app(app(map_3, f), g), c), t)
APP(app(map_1, x0), app(app(cons, x1), app(app(cons, y_1), y_2))) → APP(app(map_1, x0), app(app(cons, y_1), y_2))
APP(app(map_1, app(app(map_2, y_0), y_1)), app(app(cons, app(app(cons, y_2), y_3)), x2)) → APP(app(app(map_2, y_0), y_1), app(app(cons, y_2), y_3))
APP(app(map_1, app(app(app(map_3, y_0), g), y_1)), app(app(cons, app(app(cons, y_2), y_3)), x2)) → APP(app(app(app(map_3, y_0), g), y_1), app(app(cons, y_2), y_3))
APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), y_2)), x2)) → APP(app(map_1, y_0), app(app(cons, y_1), y_2))
APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), x2)) → APP(app(map_1, y_0), app(app(cons, y_1), app(app(cons, y_2), y_3)))
APP(app(app(map_2, app(map_2, y_0)), x1), app(app(cons, x2), x3)) → APP(app(app(map_2, y_0), x2), x1)
APP(app(app(map_2, app(app(map_3, y_0), g)), x1), app(app(cons, x2), x3)) → APP(app(app(app(map_3, y_0), g), x2), x1)
APP(app(app(map_2, map_1), x1), app(app(cons, x2), x3)) → APP(app(map_1, x2), x1)
APP(app(app(map_2, map_1), x1), app(app(cons, app(app(map_2, y_0), y_1)), x3)) → APP(app(map_1, app(app(map_2, y_0), y_1)), x1)
APP(app(app(map_2, map_1), x1), app(app(cons, app(app(app(map_3, y_0), g), y_1)), x3)) → APP(app(map_1, app(app(app(map_3, y_0), g), y_1)), x1)
APP(app(app(map_2, map_1), x1), app(app(cons, app(map_1, y_0)), x3)) → APP(app(map_1, app(map_1, y_0)), x1)
APP(app(app(map_2, app(app(map_2, y_0), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, y_0), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(app(map_3, y_0), g), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(map_1, y_0)), x1), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), x3)) → APP(app(map_1, y_0), app(app(cons, y_1), app(app(cons, y_2), y_3)))
APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), x3)) → APP(app(map_1, app(app(map_2, y_0), y_1)), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), x3)) → APP(app(map_1, app(app(app(map_3, y_0), g), y_1)), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_1), y_2)), y_3)), x3)) → APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), y_2)), y_3))
APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4)), x3)) → APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4))
APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, app(map_2, y_0)), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, app(app(map_3, y_0), g)), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, y_1), y_2)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, y_1), y_2))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(map_2, y_1), y_2)), y_3)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, app(app(map_2, y_1), y_2)), y_3))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(map_1, y_1)), y_2)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, app(map_1, y_1)), y_2))

The TRS R consists of the following rules:

app(app(map_1, f), app(app(cons, h), t)) → app(app(cons, app(f, h)), app(app(map_1, f), t))
app(app(app(map_2, f), c), app(app(cons, h), t)) → app(app(cons, app(app(f, h), c)), app(app(app(map_2, f), c), t))
app(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → app(app(cons, app(app(app(f, g), h), c)), app(app(app(app(map_3, f), g), c), t))

The set Q consists of the following terms:

app(app(map_1, x0), app(app(cons, x1), x2))
app(app(app(map_2, x0), x1), app(app(cons, x2), x3))
app(app(app(app(map_3, x0), g), x1), app(app(cons, x2), x3))

We have to consider all minimal (P,Q,R)-chains.

(15) TransformationProof (EQUIVALENT transformation)

By forward instantiating [JAR06] the rule APP(app(app(map_2, f), c), app(app(cons, h), t)) → APP(app(app(map_2, f), c), t) we obtained the following new rules [LPAR04]:

APP(app(app(map_2, x0), x1), app(app(cons, x2), app(app(cons, y_2), y_3))) → APP(app(app(map_2, x0), x1), app(app(cons, y_2), y_3)) → APP(app(app(map_2, x0), x1), app(app(cons, x2), app(app(cons, y_2), y_3))) → APP(app(app(map_2, x0), x1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(map_2, y_0)), x1), app(app(cons, x2), app(app(cons, y_2), y_3))) → APP(app(app(map_2, app(map_2, y_0)), x1), app(app(cons, y_2), y_3)) → APP(app(app(map_2, app(map_2, y_0)), x1), app(app(cons, x2), app(app(cons, y_2), y_3))) → APP(app(app(map_2, app(map_2, y_0)), x1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(app(map_3, y_0), g)), x1), app(app(cons, x2), app(app(cons, y_2), y_3))) → APP(app(app(map_2, app(app(map_3, y_0), g)), x1), app(app(cons, y_2), y_3)) → APP(app(app(map_2, app(app(map_3, y_0), g)), x1), app(app(cons, x2), app(app(cons, y_2), y_3))) → APP(app(app(map_2, app(app(map_3, y_0), g)), x1), app(app(cons, y_2), y_3))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), app(app(cons, y_1), y_2))) → APP(app(app(map_2, map_1), x1), app(app(cons, y_1), y_2)) → APP(app(app(map_2, map_1), x1), app(app(cons, x2), app(app(cons, y_1), y_2))) → APP(app(app(map_2, map_1), x1), app(app(cons, y_1), y_2))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), app(app(cons, app(app(map_2, y_1), y_2)), y_3))) → APP(app(app(map_2, map_1), x1), app(app(cons, app(app(map_2, y_1), y_2)), y_3)) → APP(app(app(map_2, map_1), x1), app(app(cons, x2), app(app(cons, app(app(map_2, y_1), y_2)), y_3))) → APP(app(app(map_2, map_1), x1), app(app(cons, app(app(map_2, y_1), y_2)), y_3))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3))) → APP(app(app(map_2, map_1), x1), app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3)) → APP(app(app(map_2, map_1), x1), app(app(cons, x2), app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3))) → APP(app(app(map_2, map_1), x1), app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), app(app(cons, app(map_1, y_1)), y_2))) → APP(app(app(map_2, map_1), x1), app(app(cons, app(map_1, y_1)), y_2)) → APP(app(app(map_2, map_1), x1), app(app(cons, x2), app(app(cons, app(map_1, y_1)), y_2))) → APP(app(app(map_2, map_1), x1), app(app(cons, app(map_1, y_1)), y_2))
APP(app(app(map_2, app(app(map_2, y_0), y_1)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, y_0), y_1)), x1), app(app(cons, app(app(cons, y_3), y_4)), y_5)) → APP(app(app(map_2, app(app(map_2, y_0), y_1)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, y_0), y_1)), x1), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), y_4)), y_5))) → APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), x1), app(app(cons, app(app(cons, y_3), y_4)), y_5)) → APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), y_4)), y_5))) → APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), x1), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(map_2, app(map_1, y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))) → APP(app(app(map_2, app(map_1, y_0)), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)) → APP(app(app(map_2, app(map_1, y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))) → APP(app(app(map_2, app(map_1, y_0)), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))
APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))) → APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)) → APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))) → APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))) → APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)) → APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))) → APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5))) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5)) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5))) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5))
APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6))) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6)) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6))) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6))
APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), x1), app(app(cons, app(app(cons, y_3), y_4)), y_5)) → APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), x1), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), x1), app(app(cons, app(app(cons, y_3), y_4)), y_5)) → APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), x1), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), y_3)), y_4))) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, y_2), y_3)), y_4)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), y_3)), y_4))) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4))) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4))) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4))

(16) Obligation:

Q DP problem:
The TRS P consists of the following rules:

APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(app(f, g), h), c)
APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(f, g), h)
APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(app(app(map_3, f), g), c), t)
APP(app(map_1, x0), app(app(cons, x1), app(app(cons, y_1), y_2))) → APP(app(map_1, x0), app(app(cons, y_1), y_2))
APP(app(map_1, app(app(map_2, y_0), y_1)), app(app(cons, app(app(cons, y_2), y_3)), x2)) → APP(app(app(map_2, y_0), y_1), app(app(cons, y_2), y_3))
APP(app(map_1, app(app(app(map_3, y_0), g), y_1)), app(app(cons, app(app(cons, y_2), y_3)), x2)) → APP(app(app(app(map_3, y_0), g), y_1), app(app(cons, y_2), y_3))
APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), y_2)), x2)) → APP(app(map_1, y_0), app(app(cons, y_1), y_2))
APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), x2)) → APP(app(map_1, y_0), app(app(cons, y_1), app(app(cons, y_2), y_3)))
APP(app(app(map_2, app(map_2, y_0)), x1), app(app(cons, x2), x3)) → APP(app(app(map_2, y_0), x2), x1)
APP(app(app(map_2, app(app(map_3, y_0), g)), x1), app(app(cons, x2), x3)) → APP(app(app(app(map_3, y_0), g), x2), x1)
APP(app(app(map_2, map_1), x1), app(app(cons, x2), x3)) → APP(app(map_1, x2), x1)
APP(app(app(map_2, map_1), x1), app(app(cons, app(app(map_2, y_0), y_1)), x3)) → APP(app(map_1, app(app(map_2, y_0), y_1)), x1)
APP(app(app(map_2, map_1), x1), app(app(cons, app(app(app(map_3, y_0), g), y_1)), x3)) → APP(app(map_1, app(app(app(map_3, y_0), g), y_1)), x1)
APP(app(app(map_2, map_1), x1), app(app(cons, app(map_1, y_0)), x3)) → APP(app(map_1, app(map_1, y_0)), x1)
APP(app(app(map_2, app(app(map_2, y_0), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, y_0), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(app(map_3, y_0), g), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(map_1, y_0)), x1), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), x3)) → APP(app(map_1, y_0), app(app(cons, y_1), app(app(cons, y_2), y_3)))
APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), x3)) → APP(app(map_1, app(app(map_2, y_0), y_1)), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), x3)) → APP(app(map_1, app(app(app(map_3, y_0), g), y_1)), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_1), y_2)), y_3)), x3)) → APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), y_2)), y_3))
APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4)), x3)) → APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4))
APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, app(map_2, y_0)), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, app(app(map_3, y_0), g)), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, y_1), y_2)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, y_1), y_2))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(map_2, y_1), y_2)), y_3)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, app(app(map_2, y_1), y_2)), y_3))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(map_1, y_1)), y_2)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, app(map_1, y_1)), y_2))
APP(app(app(map_2, x0), x1), app(app(cons, x2), app(app(cons, y_2), y_3))) → APP(app(app(map_2, x0), x1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(map_2, y_0)), x1), app(app(cons, x2), app(app(cons, y_2), y_3))) → APP(app(app(map_2, app(map_2, y_0)), x1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(app(map_3, y_0), g)), x1), app(app(cons, x2), app(app(cons, y_2), y_3))) → APP(app(app(map_2, app(app(map_3, y_0), g)), x1), app(app(cons, y_2), y_3))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), app(app(cons, y_1), y_2))) → APP(app(app(map_2, map_1), x1), app(app(cons, y_1), y_2))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), app(app(cons, app(app(map_2, y_1), y_2)), y_3))) → APP(app(app(map_2, map_1), x1), app(app(cons, app(app(map_2, y_1), y_2)), y_3))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3))) → APP(app(app(map_2, map_1), x1), app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), app(app(cons, app(map_1, y_1)), y_2))) → APP(app(app(map_2, map_1), x1), app(app(cons, app(map_1, y_1)), y_2))
APP(app(app(map_2, app(app(map_2, y_0), y_1)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, y_0), y_1)), x1), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), y_4)), y_5))) → APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), x1), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(map_2, app(map_1, y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))) → APP(app(app(map_2, app(map_1, y_0)), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))
APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))) → APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))) → APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5))) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5))
APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6))) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6))
APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), x1), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), x1), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), y_3)), y_4))) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4))) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4))

The TRS R consists of the following rules:

app(app(map_1, f), app(app(cons, h), t)) → app(app(cons, app(f, h)), app(app(map_1, f), t))
app(app(app(map_2, f), c), app(app(cons, h), t)) → app(app(cons, app(app(f, h), c)), app(app(app(map_2, f), c), t))
app(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → app(app(cons, app(app(app(f, g), h), c)), app(app(app(app(map_3, f), g), c), t))

The set Q consists of the following terms:

app(app(map_1, x0), app(app(cons, x1), x2))
app(app(app(map_2, x0), x1), app(app(cons, x2), x3))
app(app(app(app(map_3, x0), g), x1), app(app(cons, x2), x3))

We have to consider all minimal (P,Q,R)-chains.

(17) TransformationProof (EQUIVALENT transformation)

By forward instantiating [JAR06] the rule APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(app(f, g), h), c) we obtained the following new rules [LPAR04]:

APP(app(app(app(map_3, app(map_3, y_0)), g), x1), app(app(cons, x2), x3)) → APP(app(app(app(map_3, y_0), g), x2), x1) → APP(app(app(app(map_3, app(map_3, y_0)), g), x1), app(app(cons, x2), x3)) → APP(app(app(app(map_3, y_0), g), x2), x1)
APP(app(app(app(map_3, map_2), g), x1), app(app(cons, x2), x3)) → APP(app(app(map_2, g), x2), x1) → APP(app(app(app(map_3, map_2), g), x1), app(app(cons, x2), x3)) → APP(app(app(map_2, g), x2), x1)

(18) Obligation:

Q DP problem:
The TRS P consists of the following rules:

APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(f, g), h)
APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(app(app(map_3, f), g), c), t)
APP(app(map_1, x0), app(app(cons, x1), app(app(cons, y_1), y_2))) → APP(app(map_1, x0), app(app(cons, y_1), y_2))
APP(app(map_1, app(app(map_2, y_0), y_1)), app(app(cons, app(app(cons, y_2), y_3)), x2)) → APP(app(app(map_2, y_0), y_1), app(app(cons, y_2), y_3))
APP(app(map_1, app(app(app(map_3, y_0), g), y_1)), app(app(cons, app(app(cons, y_2), y_3)), x2)) → APP(app(app(app(map_3, y_0), g), y_1), app(app(cons, y_2), y_3))
APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), y_2)), x2)) → APP(app(map_1, y_0), app(app(cons, y_1), y_2))
APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), x2)) → APP(app(map_1, y_0), app(app(cons, y_1), app(app(cons, y_2), y_3)))
APP(app(app(map_2, app(map_2, y_0)), x1), app(app(cons, x2), x3)) → APP(app(app(map_2, y_0), x2), x1)
APP(app(app(map_2, app(app(map_3, y_0), g)), x1), app(app(cons, x2), x3)) → APP(app(app(app(map_3, y_0), g), x2), x1)
APP(app(app(map_2, map_1), x1), app(app(cons, x2), x3)) → APP(app(map_1, x2), x1)
APP(app(app(map_2, map_1), x1), app(app(cons, app(app(map_2, y_0), y_1)), x3)) → APP(app(map_1, app(app(map_2, y_0), y_1)), x1)
APP(app(app(map_2, map_1), x1), app(app(cons, app(app(app(map_3, y_0), g), y_1)), x3)) → APP(app(map_1, app(app(app(map_3, y_0), g), y_1)), x1)
APP(app(app(map_2, map_1), x1), app(app(cons, app(map_1, y_0)), x3)) → APP(app(map_1, app(map_1, y_0)), x1)
APP(app(app(map_2, app(app(map_2, y_0), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, y_0), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(app(map_3, y_0), g), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(map_1, y_0)), x1), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), x3)) → APP(app(map_1, y_0), app(app(cons, y_1), app(app(cons, y_2), y_3)))
APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), x3)) → APP(app(map_1, app(app(map_2, y_0), y_1)), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), x3)) → APP(app(map_1, app(app(app(map_3, y_0), g), y_1)), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_1), y_2)), y_3)), x3)) → APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), y_2)), y_3))
APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4)), x3)) → APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4))
APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, app(map_2, y_0)), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, app(app(map_3, y_0), g)), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, y_1), y_2)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, y_1), y_2))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(map_2, y_1), y_2)), y_3)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, app(app(map_2, y_1), y_2)), y_3))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(map_1, y_1)), y_2)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, app(map_1, y_1)), y_2))
APP(app(app(map_2, x0), x1), app(app(cons, x2), app(app(cons, y_2), y_3))) → APP(app(app(map_2, x0), x1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(map_2, y_0)), x1), app(app(cons, x2), app(app(cons, y_2), y_3))) → APP(app(app(map_2, app(map_2, y_0)), x1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(app(map_3, y_0), g)), x1), app(app(cons, x2), app(app(cons, y_2), y_3))) → APP(app(app(map_2, app(app(map_3, y_0), g)), x1), app(app(cons, y_2), y_3))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), app(app(cons, y_1), y_2))) → APP(app(app(map_2, map_1), x1), app(app(cons, y_1), y_2))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), app(app(cons, app(app(map_2, y_1), y_2)), y_3))) → APP(app(app(map_2, map_1), x1), app(app(cons, app(app(map_2, y_1), y_2)), y_3))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3))) → APP(app(app(map_2, map_1), x1), app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), app(app(cons, app(map_1, y_1)), y_2))) → APP(app(app(map_2, map_1), x1), app(app(cons, app(map_1, y_1)), y_2))
APP(app(app(map_2, app(app(map_2, y_0), y_1)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, y_0), y_1)), x1), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), y_4)), y_5))) → APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), x1), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(map_2, app(map_1, y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))) → APP(app(app(map_2, app(map_1, y_0)), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))
APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))) → APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))) → APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5))) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5))
APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6))) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6))
APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), x1), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), x1), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), y_3)), y_4))) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4))) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4))
APP(app(app(app(map_3, app(map_3, y_0)), g), x1), app(app(cons, x2), x3)) → APP(app(app(app(map_3, y_0), g), x2), x1)
APP(app(app(app(map_3, map_2), g), x1), app(app(cons, x2), x3)) → APP(app(app(map_2, g), x2), x1)

The TRS R consists of the following rules:

app(app(map_1, f), app(app(cons, h), t)) → app(app(cons, app(f, h)), app(app(map_1, f), t))
app(app(app(map_2, f), c), app(app(cons, h), t)) → app(app(cons, app(app(f, h), c)), app(app(app(map_2, f), c), t))
app(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → app(app(cons, app(app(app(f, g), h), c)), app(app(app(app(map_3, f), g), c), t))

The set Q consists of the following terms:

app(app(map_1, x0), app(app(cons, x1), x2))
app(app(app(map_2, x0), x1), app(app(cons, x2), x3))
app(app(app(app(map_3, x0), g), x1), app(app(cons, x2), x3))

We have to consider all minimal (P,Q,R)-chains.

(19) UsableRulesProof (EQUIVALENT transformation)

As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R.

(20) Obligation:

Q DP problem:
The TRS P consists of the following rules:

APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(f, g), h)
APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(app(app(map_3, f), g), c), t)
APP(app(map_1, x0), app(app(cons, x1), app(app(cons, y_1), y_2))) → APP(app(map_1, x0), app(app(cons, y_1), y_2))
APP(app(map_1, app(app(map_2, y_0), y_1)), app(app(cons, app(app(cons, y_2), y_3)), x2)) → APP(app(app(map_2, y_0), y_1), app(app(cons, y_2), y_3))
APP(app(map_1, app(app(app(map_3, y_0), g), y_1)), app(app(cons, app(app(cons, y_2), y_3)), x2)) → APP(app(app(app(map_3, y_0), g), y_1), app(app(cons, y_2), y_3))
APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), y_2)), x2)) → APP(app(map_1, y_0), app(app(cons, y_1), y_2))
APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), x2)) → APP(app(map_1, y_0), app(app(cons, y_1), app(app(cons, y_2), y_3)))
APP(app(app(map_2, app(map_2, y_0)), x1), app(app(cons, x2), x3)) → APP(app(app(map_2, y_0), x2), x1)
APP(app(app(map_2, app(app(map_3, y_0), g)), x1), app(app(cons, x2), x3)) → APP(app(app(app(map_3, y_0), g), x2), x1)
APP(app(app(map_2, map_1), x1), app(app(cons, x2), x3)) → APP(app(map_1, x2), x1)
APP(app(app(map_2, map_1), x1), app(app(cons, app(app(map_2, y_0), y_1)), x3)) → APP(app(map_1, app(app(map_2, y_0), y_1)), x1)
APP(app(app(map_2, map_1), x1), app(app(cons, app(app(app(map_3, y_0), g), y_1)), x3)) → APP(app(map_1, app(app(app(map_3, y_0), g), y_1)), x1)
APP(app(app(map_2, map_1), x1), app(app(cons, app(map_1, y_0)), x3)) → APP(app(map_1, app(map_1, y_0)), x1)
APP(app(app(map_2, app(app(map_2, y_0), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, y_0), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(app(map_3, y_0), g), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(map_1, y_0)), x1), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), x3)) → APP(app(map_1, y_0), app(app(cons, y_1), app(app(cons, y_2), y_3)))
APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), x3)) → APP(app(map_1, app(app(map_2, y_0), y_1)), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), x3)) → APP(app(map_1, app(app(app(map_3, y_0), g), y_1)), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_1), y_2)), y_3)), x3)) → APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), y_2)), y_3))
APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4)), x3)) → APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4))
APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, app(map_2, y_0)), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, app(app(map_3, y_0), g)), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, y_1), y_2)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, y_1), y_2))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(map_2, y_1), y_2)), y_3)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, app(app(map_2, y_1), y_2)), y_3))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(map_1, y_1)), y_2)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, app(map_1, y_1)), y_2))
APP(app(app(map_2, x0), x1), app(app(cons, x2), app(app(cons, y_2), y_3))) → APP(app(app(map_2, x0), x1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(map_2, y_0)), x1), app(app(cons, x2), app(app(cons, y_2), y_3))) → APP(app(app(map_2, app(map_2, y_0)), x1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(app(map_3, y_0), g)), x1), app(app(cons, x2), app(app(cons, y_2), y_3))) → APP(app(app(map_2, app(app(map_3, y_0), g)), x1), app(app(cons, y_2), y_3))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), app(app(cons, y_1), y_2))) → APP(app(app(map_2, map_1), x1), app(app(cons, y_1), y_2))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), app(app(cons, app(app(map_2, y_1), y_2)), y_3))) → APP(app(app(map_2, map_1), x1), app(app(cons, app(app(map_2, y_1), y_2)), y_3))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3))) → APP(app(app(map_2, map_1), x1), app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), app(app(cons, app(map_1, y_1)), y_2))) → APP(app(app(map_2, map_1), x1), app(app(cons, app(map_1, y_1)), y_2))
APP(app(app(map_2, app(app(map_2, y_0), y_1)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, y_0), y_1)), x1), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), y_4)), y_5))) → APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), x1), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(map_2, app(map_1, y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))) → APP(app(app(map_2, app(map_1, y_0)), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))
APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))) → APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))) → APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5))) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5))
APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6))) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6))
APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), x1), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), x1), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), y_3)), y_4))) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4))) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4))
APP(app(app(app(map_3, app(map_3, y_0)), g), x1), app(app(cons, x2), x3)) → APP(app(app(app(map_3, y_0), g), x2), x1)
APP(app(app(app(map_3, map_2), g), x1), app(app(cons, x2), x3)) → APP(app(app(map_2, g), x2), x1)

R is empty.
The set Q consists of the following terms:

app(app(map_1, x0), app(app(cons, x1), x2))
app(app(app(map_2, x0), x1), app(app(cons, x2), x3))
app(app(app(app(map_3, x0), g), x1), app(app(cons, x2), x3))

We have to consider all minimal (P,Q,R)-chains.

(21) TransformationProof (EQUIVALENT transformation)

By forward instantiating [JAR06] the rule APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(f, g), h) we obtained the following new rules [LPAR04]:

APP(app(app(app(map_3, app(app(map_3, y_0), g)), g), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(app(map_3, y_0), g), g), app(app(cons, y_2), y_3)) → APP(app(app(app(map_3, app(app(map_3, y_0), g)), g), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(app(map_3, y_0), g), g), app(app(cons, y_2), y_3))
APP(app(app(app(map_3, map_1), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), x3)) → APP(app(map_1, g), app(app(cons, y_1), app(app(cons, y_2), y_3))) → APP(app(app(app(map_3, map_1), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), x3)) → APP(app(map_1, g), app(app(cons, y_1), app(app(cons, y_2), y_3)))
APP(app(app(app(map_3, app(map_2, app(map_2, y_0))), g), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, app(map_2, y_0)), g), app(app(cons, y_2), y_3)) → APP(app(app(app(map_3, app(map_2, app(map_2, y_0))), g), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, app(map_2, y_0)), g), app(app(cons, y_2), y_3))
APP(app(app(app(map_3, app(map_2, app(app(map_3, y_0), g))), g), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, app(app(map_3, y_0), g)), g), app(app(cons, y_2), y_3)) → APP(app(app(app(map_3, app(map_2, app(app(map_3, y_0), g))), g), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, app(app(map_3, y_0), g)), g), app(app(cons, y_2), y_3))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), y_2)), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, y_1), y_2)) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), y_2)), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, y_1), y_2))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, app(app(map_2, y_1), y_2)), y_3)), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, y_1), y_2)), y_3)) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, app(app(map_2, y_1), y_2)), y_3)), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, y_1), y_2)), y_3))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3)), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3)) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3)), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, app(map_1, y_1)), y_2)), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, app(map_1, y_1)), y_2)) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, app(map_1, y_1)), y_2)), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, app(map_1, y_1)), y_2))
APP(app(app(app(map_3, app(map_2, app(app(map_2, y_0), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), x3)) → APP(app(app(map_2, app(app(map_2, y_0), y_1)), g), app(app(cons, app(app(cons, y_3), y_4)), y_5)) → APP(app(app(app(map_3, app(map_2, app(app(map_2, y_0), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), x3)) → APP(app(app(map_2, app(app(map_2, y_0), y_1)), g), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y_0), g), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), x3)) → APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), g), app(app(cons, app(app(cons, y_3), y_4)), y_5)) → APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y_0), g), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), x3)) → APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), g), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, app(map_1, y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), x3)) → APP(app(app(map_2, app(map_1, y_0)), g), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)) → APP(app(app(app(map_3, app(map_2, app(map_1, y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), x3)) → APP(app(app(map_2, app(map_1, y_0)), g), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y_0), y_1)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)), x3)) → APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), g), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)) → APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y_0), y_1)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)), x3)) → APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), g), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)), x3)) → APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), g), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)) → APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)), x3)) → APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), g), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5)), x3)) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), g), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5)) → APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5)), x3)) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), g), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6)), x3)) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), g), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6)) → APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6)), x3)) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), g), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(map_2, y_0)), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), x3)) → APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), g), app(app(cons, app(app(cons, y_3), y_4)), y_5)) → APP(app(app(app(map_3, app(map_2, app(app(map_2, app(map_2, y_0)), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), x3)) → APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), g), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), x3)) → APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), g), app(app(cons, app(app(cons, y_3), y_4)), y_5)) → APP(app(app(app(map_3, app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), x3)) → APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), g), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, app(app(cons, y_2), y_3)), y_4)) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5)), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5)) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5)), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5)), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5)) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5)), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4)), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4)) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4)), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4))
APP(app(app(app(map_3, app(map_2, y_0)), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), x3)) → APP(app(app(map_2, y_0), g), app(app(cons, y_2), app(app(cons, y_3), y_4))) → APP(app(app(app(map_3, app(map_2, y_0)), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), x3)) → APP(app(app(map_2, y_0), g), app(app(cons, y_2), app(app(cons, y_3), y_4)))
APP(app(app(app(map_3, app(map_2, app(map_2, y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), x3)) → APP(app(app(map_2, app(map_2, y_0)), g), app(app(cons, y_2), app(app(cons, y_3), y_4))) → APP(app(app(app(map_3, app(map_2, app(map_2, y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), x3)) → APP(app(app(map_2, app(map_2, y_0)), g), app(app(cons, y_2), app(app(cons, y_3), y_4)))
APP(app(app(app(map_3, app(map_2, app(app(map_3, y_0), g))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), x3)) → APP(app(app(map_2, app(app(map_3, y_0), g)), g), app(app(cons, y_2), app(app(cons, y_3), y_4))) → APP(app(app(app(map_3, app(map_2, app(app(map_3, y_0), g))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), x3)) → APP(app(app(map_2, app(app(map_3, y_0), g)), g), app(app(cons, y_2), app(app(cons, y_3), y_4)))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, y_1), app(app(cons, y_2), y_3))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, y_1), app(app(cons, y_2), y_3)))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, app(app(map_2, y_2), y_3)), y_4))), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, y_1), app(app(cons, app(app(map_2, y_2), y_3)), y_4))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, app(app(map_2, y_2), y_3)), y_4))), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, y_1), app(app(cons, app(app(map_2, y_2), y_3)), y_4)))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4))), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, y_1), app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4))), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, y_1), app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, app(map_1, y_2)), y_3))), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, y_1), app(app(cons, app(map_1, y_2)), y_3))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, app(map_1, y_2)), y_3))), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, y_1), app(app(cons, app(map_1, y_2)), y_3)))
APP(app(app(app(map_3, app(map_2, app(app(map_2, y_0), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), x3)) → APP(app(app(map_2, app(app(map_2, y_0), y_1)), g), app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, y_0), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), x3)) → APP(app(app(map_2, app(app(map_2, y_0), y_1)), g), app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6)))
APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y_0), g), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), x3)) → APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), g), app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y_0), g), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), x3)) → APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), g), app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6)))
APP(app(app(app(map_3, app(map_2, app(map_1, y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6))), x3)) → APP(app(app(map_2, app(map_1, y_0)), g), app(app(cons, y_2), app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6))) → APP(app(app(app(map_3, app(map_2, app(map_1, y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6))), x3)) → APP(app(app(map_2, app(map_1, y_0)), g), app(app(cons, y_2), app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6)))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y_0), y_1)))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7))), x3)) → APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), g), app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y_0), y_1)))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7))), x3)) → APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), g), app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7)))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1)))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7))), x3)) → APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), g), app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1)))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7))), x3)) → APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), g), app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7)))
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))), x3)) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), g), app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))), x3)) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), g), app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)))
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6)), y_7))), x3)) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), g), app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6)), y_7))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6)), y_7))), x3)) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), g), app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6)), y_7)))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(map_2, y_0)), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), x3)) → APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), g), app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, app(map_2, y_0)), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), x3)) → APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), g), app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6)))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), x3)) → APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), g), app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), x3)) → APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), g), app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6)))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, y_3), y_4)), y_5))), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, y_2), app(app(cons, app(app(cons, y_3), y_4)), y_5))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, y_3), y_4)), y_5))), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, y_2), app(app(cons, app(app(cons, y_3), y_4)), y_5)))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(map_2, y_3), y_4)), y_5)), y_6))), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, y_2), app(app(cons, app(app(cons, app(app(map_2, y_3), y_4)), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(map_2, y_3), y_4)), y_5)), y_6))), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, y_2), app(app(cons, app(app(cons, app(app(map_2, y_3), y_4)), y_5)), y_6)))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(app(map_3, y_3), g), y_4)), y_5)), y_6))), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, y_2), app(app(cons, app(app(cons, app(app(app(map_3, y_3), g), y_4)), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(app(map_3, y_3), g), y_4)), y_5)), y_6))), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, y_2), app(app(cons, app(app(cons, app(app(app(map_3, y_3), g), y_4)), y_5)), y_6)))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(map_1, y_3)), y_4)), y_5))), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, y_2), app(app(cons, app(app(cons, app(map_1, y_3)), y_4)), y_5))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(map_1, y_3)), y_4)), y_5))), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, y_2), app(app(cons, app(app(cons, app(map_1, y_3)), y_4)), y_5)))
APP(app(app(app(map_3, app(app(map_3, app(map_3, y_0)), g)), g), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(app(map_3, app(map_3, y_0)), g), g), app(app(cons, y_2), y_3)) → APP(app(app(app(map_3, app(app(map_3, app(map_3, y_0)), g)), g), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(app(map_3, app(map_3, y_0)), g), g), app(app(cons, y_2), y_3))
APP(app(app(app(map_3, app(app(map_3, map_2), g)), g), x1), app(app(cons, app(app(cons, y_1), y_2)), x3)) → APP(app(app(app(map_3, map_2), g), g), app(app(cons, y_1), y_2)) → APP(app(app(app(map_3, app(app(map_3, map_2), g)), g), x1), app(app(cons, app(app(cons, y_1), y_2)), x3)) → APP(app(app(app(map_3, map_2), g), g), app(app(cons, y_1), y_2))

(22) Obligation:

Q DP problem:
The TRS P consists of the following rules:

APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(app(app(map_3, f), g), c), t)
APP(app(map_1, x0), app(app(cons, x1), app(app(cons, y_1), y_2))) → APP(app(map_1, x0), app(app(cons, y_1), y_2))
APP(app(map_1, app(app(map_2, y_0), y_1)), app(app(cons, app(app(cons, y_2), y_3)), x2)) → APP(app(app(map_2, y_0), y_1), app(app(cons, y_2), y_3))
APP(app(map_1, app(app(app(map_3, y_0), g), y_1)), app(app(cons, app(app(cons, y_2), y_3)), x2)) → APP(app(app(app(map_3, y_0), g), y_1), app(app(cons, y_2), y_3))
APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), y_2)), x2)) → APP(app(map_1, y_0), app(app(cons, y_1), y_2))
APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), x2)) → APP(app(map_1, y_0), app(app(cons, y_1), app(app(cons, y_2), y_3)))
APP(app(app(map_2, app(map_2, y_0)), x1), app(app(cons, x2), x3)) → APP(app(app(map_2, y_0), x2), x1)
APP(app(app(map_2, app(app(map_3, y_0), g)), x1), app(app(cons, x2), x3)) → APP(app(app(app(map_3, y_0), g), x2), x1)
APP(app(app(map_2, map_1), x1), app(app(cons, x2), x3)) → APP(app(map_1, x2), x1)
APP(app(app(map_2, map_1), x1), app(app(cons, app(app(map_2, y_0), y_1)), x3)) → APP(app(map_1, app(app(map_2, y_0), y_1)), x1)
APP(app(app(map_2, map_1), x1), app(app(cons, app(app(app(map_3, y_0), g), y_1)), x3)) → APP(app(map_1, app(app(app(map_3, y_0), g), y_1)), x1)
APP(app(app(map_2, map_1), x1), app(app(cons, app(map_1, y_0)), x3)) → APP(app(map_1, app(map_1, y_0)), x1)
APP(app(app(map_2, app(app(map_2, y_0), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, y_0), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(app(map_3, y_0), g), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(map_1, y_0)), x1), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), x3)) → APP(app(map_1, y_0), app(app(cons, y_1), app(app(cons, y_2), y_3)))
APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), x3)) → APP(app(map_1, app(app(map_2, y_0), y_1)), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), x3)) → APP(app(map_1, app(app(app(map_3, y_0), g), y_1)), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_1), y_2)), y_3)), x3)) → APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), y_2)), y_3))
APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4)), x3)) → APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4))
APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, app(map_2, y_0)), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, app(app(map_3, y_0), g)), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, y_1), y_2)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, y_1), y_2))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(map_2, y_1), y_2)), y_3)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, app(app(map_2, y_1), y_2)), y_3))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(map_1, y_1)), y_2)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, app(map_1, y_1)), y_2))
APP(app(app(map_2, x0), x1), app(app(cons, x2), app(app(cons, y_2), y_3))) → APP(app(app(map_2, x0), x1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(map_2, y_0)), x1), app(app(cons, x2), app(app(cons, y_2), y_3))) → APP(app(app(map_2, app(map_2, y_0)), x1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(app(map_3, y_0), g)), x1), app(app(cons, x2), app(app(cons, y_2), y_3))) → APP(app(app(map_2, app(app(map_3, y_0), g)), x1), app(app(cons, y_2), y_3))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), app(app(cons, y_1), y_2))) → APP(app(app(map_2, map_1), x1), app(app(cons, y_1), y_2))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), app(app(cons, app(app(map_2, y_1), y_2)), y_3))) → APP(app(app(map_2, map_1), x1), app(app(cons, app(app(map_2, y_1), y_2)), y_3))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3))) → APP(app(app(map_2, map_1), x1), app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), app(app(cons, app(map_1, y_1)), y_2))) → APP(app(app(map_2, map_1), x1), app(app(cons, app(map_1, y_1)), y_2))
APP(app(app(map_2, app(app(map_2, y_0), y_1)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, y_0), y_1)), x1), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), y_4)), y_5))) → APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), x1), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(map_2, app(map_1, y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))) → APP(app(app(map_2, app(map_1, y_0)), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))
APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))) → APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))) → APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5))) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5))
APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6))) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6))
APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), x1), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), x1), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), y_3)), y_4))) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4))) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4))
APP(app(app(app(map_3, app(map_3, y_0)), g), x1), app(app(cons, x2), x3)) → APP(app(app(app(map_3, y_0), g), x2), x1)
APP(app(app(app(map_3, map_2), g), x1), app(app(cons, x2), x3)) → APP(app(app(map_2, g), x2), x1)
APP(app(app(app(map_3, app(app(map_3, y_0), g)), g), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(app(map_3, y_0), g), g), app(app(cons, y_2), y_3))
APP(app(app(app(map_3, map_1), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), x3)) → APP(app(map_1, g), app(app(cons, y_1), app(app(cons, y_2), y_3)))
APP(app(app(app(map_3, app(map_2, app(map_2, y_0))), g), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, app(map_2, y_0)), g), app(app(cons, y_2), y_3))
APP(app(app(app(map_3, app(map_2, app(app(map_3, y_0), g))), g), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, app(app(map_3, y_0), g)), g), app(app(cons, y_2), y_3))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), y_2)), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, y_1), y_2))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, app(app(map_2, y_1), y_2)), y_3)), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, y_1), y_2)), y_3))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3)), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, app(map_1, y_1)), y_2)), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, app(map_1, y_1)), y_2))
APP(app(app(app(map_3, app(map_2, app(app(map_2, y_0), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), x3)) → APP(app(app(map_2, app(app(map_2, y_0), y_1)), g), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y_0), g), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), x3)) → APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), g), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, app(map_1, y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), x3)) → APP(app(app(map_2, app(map_1, y_0)), g), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y_0), y_1)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)), x3)) → APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), g), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)), x3)) → APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), g), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5)), x3)) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), g), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6)), x3)) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), g), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(map_2, y_0)), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), x3)) → APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), g), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), x3)) → APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), g), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5)), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5)), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4)), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4))
APP(app(app(app(map_3, app(map_2, y_0)), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), x3)) → APP(app(app(map_2, y_0), g), app(app(cons, y_2), app(app(cons, y_3), y_4)))
APP(app(app(app(map_3, app(map_2, app(map_2, y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), x3)) → APP(app(app(map_2, app(map_2, y_0)), g), app(app(cons, y_2), app(app(cons, y_3), y_4)))
APP(app(app(app(map_3, app(map_2, app(app(map_3, y_0), g))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), x3)) → APP(app(app(map_2, app(app(map_3, y_0), g)), g), app(app(cons, y_2), app(app(cons, y_3), y_4)))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, y_1), app(app(cons, y_2), y_3)))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, app(app(map_2, y_2), y_3)), y_4))), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, y_1), app(app(cons, app(app(map_2, y_2), y_3)), y_4)))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4))), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, y_1), app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, app(map_1, y_2)), y_3))), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, y_1), app(app(cons, app(map_1, y_2)), y_3)))
APP(app(app(app(map_3, app(map_2, app(app(map_2, y_0), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), x3)) → APP(app(app(map_2, app(app(map_2, y_0), y_1)), g), app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6)))
APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y_0), g), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), x3)) → APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), g), app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6)))
APP(app(app(app(map_3, app(map_2, app(map_1, y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6))), x3)) → APP(app(app(map_2, app(map_1, y_0)), g), app(app(cons, y_2), app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6)))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y_0), y_1)))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7))), x3)) → APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), g), app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7)))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1)))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7))), x3)) → APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), g), app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7)))
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))), x3)) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), g), app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)))
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6)), y_7))), x3)) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), g), app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6)), y_7)))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(map_2, y_0)), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), x3)) → APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), g), app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6)))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), x3)) → APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), g), app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6)))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, y_3), y_4)), y_5))), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, y_2), app(app(cons, app(app(cons, y_3), y_4)), y_5)))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(map_2, y_3), y_4)), y_5)), y_6))), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, y_2), app(app(cons, app(app(cons, app(app(map_2, y_3), y_4)), y_5)), y_6)))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(app(map_3, y_3), g), y_4)), y_5)), y_6))), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, y_2), app(app(cons, app(app(cons, app(app(app(map_3, y_3), g), y_4)), y_5)), y_6)))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(map_1, y_3)), y_4)), y_5))), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, y_2), app(app(cons, app(app(cons, app(map_1, y_3)), y_4)), y_5)))
APP(app(app(app(map_3, app(app(map_3, app(map_3, y_0)), g)), g), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(app(map_3, app(map_3, y_0)), g), g), app(app(cons, y_2), y_3))
APP(app(app(app(map_3, app(app(map_3, map_2), g)), g), x1), app(app(cons, app(app(cons, y_1), y_2)), x3)) → APP(app(app(app(map_3, map_2), g), g), app(app(cons, y_1), y_2))

R is empty.
The set Q consists of the following terms:

app(app(map_1, x0), app(app(cons, x1), x2))
app(app(app(map_2, x0), x1), app(app(cons, x2), x3))
app(app(app(app(map_3, x0), g), x1), app(app(cons, x2), x3))

We have to consider all minimal (P,Q,R)-chains.

(23) TransformationProof (EQUIVALENT transformation)

By forward instantiating [JAR06] the rule APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(app(app(map_3, f), g), c), t) we obtained the following new rules [LPAR04]:

APP(app(app(app(map_3, x0), g), x1), app(app(cons, x2), app(app(cons, y_2), y_3))) → APP(app(app(app(map_3, x0), g), x1), app(app(cons, y_2), y_3)) → APP(app(app(app(map_3, x0), g), x1), app(app(cons, x2), app(app(cons, y_2), y_3))) → APP(app(app(app(map_3, x0), g), x1), app(app(cons, y_2), y_3))
APP(app(app(app(map_3, app(map_3, y_0)), g), x1), app(app(cons, x2), app(app(cons, y_2), y_3))) → APP(app(app(app(map_3, app(map_3, y_0)), g), x1), app(app(cons, y_2), y_3)) → APP(app(app(app(map_3, app(map_3, y_0)), g), x1), app(app(cons, x2), app(app(cons, y_2), y_3))) → APP(app(app(app(map_3, app(map_3, y_0)), g), x1), app(app(cons, y_2), y_3))
APP(app(app(app(map_3, map_2), g), x1), app(app(cons, x2), app(app(cons, y_1), y_2))) → APP(app(app(app(map_3, map_2), g), x1), app(app(cons, y_1), y_2)) → APP(app(app(app(map_3, map_2), g), x1), app(app(cons, x2), app(app(cons, y_1), y_2))) → APP(app(app(app(map_3, map_2), g), x1), app(app(cons, y_1), y_2))
APP(app(app(app(map_3, app(app(map_3, y_0), g)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), y_3)), y_4))) → APP(app(app(app(map_3, app(app(map_3, y_0), g)), g), x1), app(app(cons, app(app(cons, y_2), y_3)), y_4)) → APP(app(app(app(map_3, app(app(map_3, y_0), g)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), y_3)), y_4))) → APP(app(app(app(map_3, app(app(map_3, y_0), g)), g), x1), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(app(map_3, map_1), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4))) → APP(app(app(app(map_3, map_1), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4)) → APP(app(app(app(map_3, map_1), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4))) → APP(app(app(app(map_3, map_1), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4))
APP(app(app(app(map_3, app(map_2, app(map_2, y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), y_3)), y_4))) → APP(app(app(app(map_3, app(map_2, app(map_2, y_0))), g), x1), app(app(cons, app(app(cons, y_2), y_3)), y_4)) → APP(app(app(app(map_3, app(map_2, app(map_2, y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), y_3)), y_4))) → APP(app(app(app(map_3, app(map_2, app(map_2, y_0))), g), x1), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(app(map_3, app(map_2, app(app(map_3, y_0), g))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), y_3)), y_4))) → APP(app(app(app(map_3, app(map_2, app(app(map_3, y_0), g))), g), x1), app(app(cons, app(app(cons, y_2), y_3)), y_4)) → APP(app(app(app(map_3, app(map_2, app(app(map_3, y_0), g))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), y_3)), y_4))) → APP(app(app(app(map_3, app(map_2, app(app(map_3, y_0), g))), g), x1), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_1), y_2)), y_3))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), y_2)), y_3)) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_1), y_2)), y_3))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), y_2)), y_3))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(map_2, y_1), y_2)), y_3)), y_4))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, app(app(map_2, y_1), y_2)), y_3)), y_4)) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(map_2, y_1), y_2)), y_3)), y_4))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, app(app(map_2, y_1), y_2)), y_3)), y_4))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3)), y_4))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3)), y_4)) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3)), y_4))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3)), y_4))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(map_1, y_1)), y_2)), y_3))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, app(map_1, y_1)), y_2)), y_3)) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(map_1, y_1)), y_2)), y_3))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, app(map_1, y_1)), y_2)), y_3))
APP(app(app(app(map_3, app(map_2, app(app(map_2, y_0), y_1))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, y_0), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)) → APP(app(app(app(map_3, app(map_2, app(app(map_2, y_0), y_1))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, y_0), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y_0), g), y_1))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y_0), g), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)) → APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y_0), g), y_1))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y_0), g), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(map_1, y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(map_1, y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6)) → APP(app(app(app(map_3, app(map_2, app(map_1, y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(map_1, y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y_0), y_1)))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)), y_7))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y_0), y_1)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)), y_7)) → APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y_0), y_1)))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)), y_7))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y_0), y_1)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)), y_7))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1)))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)), y_7))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)), y_7)) → APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1)))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)), y_7))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)), y_7))
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5)), y_6)) → APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6)), y_7))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6)), y_7)) → APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6)), y_7))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6)), y_7))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(map_2, y_0)), y_1))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, app(map_2, y_0)), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)) → APP(app(app(app(map_3, app(map_2, app(app(map_2, app(map_2, y_0)), y_1))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, app(map_2, y_0)), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)) → APP(app(app(app(map_3, app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5)) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5)), y_6)) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5)), y_6)) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4)), y_5))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4)), y_5)) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4)), y_5))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, y_0)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))) → APP(app(app(app(map_3, app(map_2, y_0)), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)) → APP(app(app(app(map_3, app(map_2, y_0)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))) → APP(app(app(app(map_3, app(map_2, y_0)), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))
APP(app(app(app(map_3, app(map_2, app(map_2, y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))) → APP(app(app(app(map_3, app(map_2, app(map_2, y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)) → APP(app(app(app(map_3, app(map_2, app(map_2, y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))) → APP(app(app(app(map_3, app(map_2, app(map_2, y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))
APP(app(app(app(map_3, app(map_2, app(app(map_3, y_0), g))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))) → APP(app(app(app(map_3, app(map_2, app(app(map_3, y_0), g))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)) → APP(app(app(app(map_3, app(map_2, app(app(map_3, y_0), g))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))) → APP(app(app(app(map_3, app(map_2, app(app(map_3, y_0), g))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4)) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_1), app(app(cons, app(app(map_2, y_2), y_3)), y_4))), y_5))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, app(app(map_2, y_2), y_3)), y_4))), y_5)) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_1), app(app(cons, app(app(map_2, y_2), y_3)), y_4))), y_5))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, app(app(map_2, y_2), y_3)), y_4))), y_5))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_1), app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4))), y_5))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4))), y_5)) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_1), app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4))), y_5))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4))), y_5))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_1), app(app(cons, app(map_1, y_2)), y_3))), y_4))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, app(map_1, y_2)), y_3))), y_4)) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_1), app(app(cons, app(map_1, y_2)), y_3))), y_4))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, app(map_1, y_2)), y_3))), y_4))
APP(app(app(app(map_3, app(map_2, app(app(map_2, y_0), y_1))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), y_7))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, y_0), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), y_7)) → APP(app(app(app(map_3, app(map_2, app(app(map_2, y_0), y_1))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), y_7))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, y_0), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), y_7))
APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y_0), g), y_1))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), y_7))) → APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y_0), g), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), y_7)) → APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y_0), g), y_1))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), y_7))) → APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y_0), g), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), y_7))
APP(app(app(app(map_3, app(map_2, app(map_1, y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6))), y_7))) → APP(app(app(app(map_3, app(map_2, app(map_1, y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6))), y_7)) → APP(app(app(app(map_3, app(map_2, app(map_1, y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6))), y_7))) → APP(app(app(app(map_3, app(map_2, app(map_1, y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6))), y_7))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y_0), y_1)))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7))), y_8))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y_0), y_1)))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7))), y_8)) → APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y_0), y_1)))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7))), y_8))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y_0), y_1)))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7))), y_8))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1)))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7))), y_8))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1)))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7))), y_8)) → APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1)))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7))), y_8))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1)))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7))), y_8))
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))), y_7))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))), y_7)) → APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))), y_7))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))), y_7))
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6)), y_7))), y_8))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6)), y_7))), y_8)) → APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6)), y_7))), y_8))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6)), y_7))), y_8))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(map_2, y_0)), y_1))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), y_7))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, app(map_2, y_0)), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), y_7)) → APP(app(app(app(map_3, app(map_2, app(app(map_2, app(map_2, y_0)), y_1))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), y_7))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, app(map_2, y_0)), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), y_7))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), y_7))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), y_7)) → APP(app(app(app(map_3, app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), y_7))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), y_7))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, y_3), y_4)), y_5))), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, y_3), y_4)), y_5))), y_6)) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, y_3), y_4)), y_5))), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, y_3), y_4)), y_5))), y_6))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(map_2, y_3), y_4)), y_5)), y_6))), y_7))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(map_2, y_3), y_4)), y_5)), y_6))), y_7)) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(map_2, y_3), y_4)), y_5)), y_6))), y_7))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(map_2, y_3), y_4)), y_5)), y_6))), y_7))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(app(map_3, y_3), g), y_4)), y_5)), y_6))), y_7))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(app(map_3, y_3), g), y_4)), y_5)), y_6))), y_7)) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(app(map_3, y_3), g), y_4)), y_5)), y_6))), y_7))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(app(map_3, y_3), g), y_4)), y_5)), y_6))), y_7))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(map_1, y_3)), y_4)), y_5))), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(map_1, y_3)), y_4)), y_5))), y_6)) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(map_1, y_3)), y_4)), y_5))), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(map_1, y_3)), y_4)), y_5))), y_6))
APP(app(app(app(map_3, app(app(map_3, app(map_3, y_0)), g)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), y_3)), y_4))) → APP(app(app(app(map_3, app(app(map_3, app(map_3, y_0)), g)), g), x1), app(app(cons, app(app(cons, y_2), y_3)), y_4)) → APP(app(app(app(map_3, app(app(map_3, app(map_3, y_0)), g)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), y_3)), y_4))) → APP(app(app(app(map_3, app(app(map_3, app(map_3, y_0)), g)), g), x1), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(app(map_3, app(app(map_3, map_2), g)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_1), y_2)), y_3))) → APP(app(app(app(map_3, app(app(map_3, map_2), g)), g), x1), app(app(cons, app(app(cons, y_1), y_2)), y_3)) → APP(app(app(app(map_3, app(app(map_3, map_2), g)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_1), y_2)), y_3))) → APP(app(app(app(map_3, app(app(map_3, map_2), g)), g), x1), app(app(cons, app(app(cons, y_1), y_2)), y_3))

(24) Obligation:

Q DP problem:
The TRS P consists of the following rules:

APP(app(map_1, x0), app(app(cons, x1), app(app(cons, y_1), y_2))) → APP(app(map_1, x0), app(app(cons, y_1), y_2))
APP(app(map_1, app(app(map_2, y_0), y_1)), app(app(cons, app(app(cons, y_2), y_3)), x2)) → APP(app(app(map_2, y_0), y_1), app(app(cons, y_2), y_3))
APP(app(map_1, app(app(app(map_3, y_0), g), y_1)), app(app(cons, app(app(cons, y_2), y_3)), x2)) → APP(app(app(app(map_3, y_0), g), y_1), app(app(cons, y_2), y_3))
APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), y_2)), x2)) → APP(app(map_1, y_0), app(app(cons, y_1), y_2))
APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), x2)) → APP(app(map_1, y_0), app(app(cons, y_1), app(app(cons, y_2), y_3)))
APP(app(app(map_2, app(map_2, y_0)), x1), app(app(cons, x2), x3)) → APP(app(app(map_2, y_0), x2), x1)
APP(app(app(map_2, app(app(map_3, y_0), g)), x1), app(app(cons, x2), x3)) → APP(app(app(app(map_3, y_0), g), x2), x1)
APP(app(app(map_2, map_1), x1), app(app(cons, x2), x3)) → APP(app(map_1, x2), x1)
APP(app(app(map_2, map_1), x1), app(app(cons, app(app(map_2, y_0), y_1)), x3)) → APP(app(map_1, app(app(map_2, y_0), y_1)), x1)
APP(app(app(map_2, map_1), x1), app(app(cons, app(app(app(map_3, y_0), g), y_1)), x3)) → APP(app(map_1, app(app(app(map_3, y_0), g), y_1)), x1)
APP(app(app(map_2, map_1), x1), app(app(cons, app(map_1, y_0)), x3)) → APP(app(map_1, app(map_1, y_0)), x1)
APP(app(app(map_2, app(app(map_2, y_0), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, y_0), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(app(map_3, y_0), g), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(map_1, y_0)), x1), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), x3)) → APP(app(map_1, y_0), app(app(cons, y_1), app(app(cons, y_2), y_3)))
APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), x3)) → APP(app(map_1, app(app(map_2, y_0), y_1)), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), x3)) → APP(app(map_1, app(app(app(map_3, y_0), g), y_1)), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_1), y_2)), y_3)), x3)) → APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), y_2)), y_3))
APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4)), x3)) → APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4))
APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, app(map_2, y_0)), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, app(app(map_3, y_0), g)), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, y_1), y_2)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, y_1), y_2))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(map_2, y_1), y_2)), y_3)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, app(app(map_2, y_1), y_2)), y_3))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(map_1, y_1)), y_2)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, app(map_1, y_1)), y_2))
APP(app(app(map_2, x0), x1), app(app(cons, x2), app(app(cons, y_2), y_3))) → APP(app(app(map_2, x0), x1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(map_2, y_0)), x1), app(app(cons, x2), app(app(cons, y_2), y_3))) → APP(app(app(map_2, app(map_2, y_0)), x1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(app(map_3, y_0), g)), x1), app(app(cons, x2), app(app(cons, y_2), y_3))) → APP(app(app(map_2, app(app(map_3, y_0), g)), x1), app(app(cons, y_2), y_3))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), app(app(cons, y_1), y_2))) → APP(app(app(map_2, map_1), x1), app(app(cons, y_1), y_2))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), app(app(cons, app(app(map_2, y_1), y_2)), y_3))) → APP(app(app(map_2, map_1), x1), app(app(cons, app(app(map_2, y_1), y_2)), y_3))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3))) → APP(app(app(map_2, map_1), x1), app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), app(app(cons, app(map_1, y_1)), y_2))) → APP(app(app(map_2, map_1), x1), app(app(cons, app(map_1, y_1)), y_2))
APP(app(app(map_2, app(app(map_2, y_0), y_1)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, y_0), y_1)), x1), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), y_4)), y_5))) → APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), x1), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(map_2, app(map_1, y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))) → APP(app(app(map_2, app(map_1, y_0)), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))
APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))) → APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))) → APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5))) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5))
APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6))) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6))
APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), x1), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), x1), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), y_3)), y_4))) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4))) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4))
APP(app(app(app(map_3, app(map_3, y_0)), g), x1), app(app(cons, x2), x3)) → APP(app(app(app(map_3, y_0), g), x2), x1)
APP(app(app(app(map_3, map_2), g), x1), app(app(cons, x2), x3)) → APP(app(app(map_2, g), x2), x1)
APP(app(app(app(map_3, app(app(map_3, y_0), g)), g), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(app(map_3, y_0), g), g), app(app(cons, y_2), y_3))
APP(app(app(app(map_3, map_1), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), x3)) → APP(app(map_1, g), app(app(cons, y_1), app(app(cons, y_2), y_3)))
APP(app(app(app(map_3, app(map_2, app(map_2, y_0))), g), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, app(map_2, y_0)), g), app(app(cons, y_2), y_3))
APP(app(app(app(map_3, app(map_2, app(app(map_3, y_0), g))), g), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, app(app(map_3, y_0), g)), g), app(app(cons, y_2), y_3))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), y_2)), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, y_1), y_2))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, app(app(map_2, y_1), y_2)), y_3)), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, y_1), y_2)), y_3))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3)), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, app(map_1, y_1)), y_2)), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, app(map_1, y_1)), y_2))
APP(app(app(app(map_3, app(map_2, app(app(map_2, y_0), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), x3)) → APP(app(app(map_2, app(app(map_2, y_0), y_1)), g), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y_0), g), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), x3)) → APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), g), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, app(map_1, y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), x3)) → APP(app(app(map_2, app(map_1, y_0)), g), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y_0), y_1)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)), x3)) → APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), g), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)), x3)) → APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), g), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5)), x3)) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), g), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6)), x3)) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), g), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(map_2, y_0)), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), x3)) → APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), g), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), x3)) → APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), g), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5)), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5)), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4)), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4))
APP(app(app(app(map_3, app(map_2, y_0)), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), x3)) → APP(app(app(map_2, y_0), g), app(app(cons, y_2), app(app(cons, y_3), y_4)))
APP(app(app(app(map_3, app(map_2, app(map_2, y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), x3)) → APP(app(app(map_2, app(map_2, y_0)), g), app(app(cons, y_2), app(app(cons, y_3), y_4)))
APP(app(app(app(map_3, app(map_2, app(app(map_3, y_0), g))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), x3)) → APP(app(app(map_2, app(app(map_3, y_0), g)), g), app(app(cons, y_2), app(app(cons, y_3), y_4)))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, y_1), app(app(cons, y_2), y_3)))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, app(app(map_2, y_2), y_3)), y_4))), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, y_1), app(app(cons, app(app(map_2, y_2), y_3)), y_4)))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4))), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, y_1), app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, app(map_1, y_2)), y_3))), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, y_1), app(app(cons, app(map_1, y_2)), y_3)))
APP(app(app(app(map_3, app(map_2, app(app(map_2, y_0), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), x3)) → APP(app(app(map_2, app(app(map_2, y_0), y_1)), g), app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6)))
APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y_0), g), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), x3)) → APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), g), app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6)))
APP(app(app(app(map_3, app(map_2, app(map_1, y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6))), x3)) → APP(app(app(map_2, app(map_1, y_0)), g), app(app(cons, y_2), app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6)))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y_0), y_1)))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7))), x3)) → APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), g), app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7)))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1)))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7))), x3)) → APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), g), app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7)))
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))), x3)) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), g), app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)))
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6)), y_7))), x3)) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), g), app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6)), y_7)))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(map_2, y_0)), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), x3)) → APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), g), app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6)))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), x3)) → APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), g), app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6)))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, y_3), y_4)), y_5))), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, y_2), app(app(cons, app(app(cons, y_3), y_4)), y_5)))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(map_2, y_3), y_4)), y_5)), y_6))), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, y_2), app(app(cons, app(app(cons, app(app(map_2, y_3), y_4)), y_5)), y_6)))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(app(map_3, y_3), g), y_4)), y_5)), y_6))), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, y_2), app(app(cons, app(app(cons, app(app(app(map_3, y_3), g), y_4)), y_5)), y_6)))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(map_1, y_3)), y_4)), y_5))), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, y_2), app(app(cons, app(app(cons, app(map_1, y_3)), y_4)), y_5)))
APP(app(app(app(map_3, app(app(map_3, app(map_3, y_0)), g)), g), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(app(map_3, app(map_3, y_0)), g), g), app(app(cons, y_2), y_3))
APP(app(app(app(map_3, app(app(map_3, map_2), g)), g), x1), app(app(cons, app(app(cons, y_1), y_2)), x3)) → APP(app(app(app(map_3, map_2), g), g), app(app(cons, y_1), y_2))
APP(app(app(app(map_3, x0), g), x1), app(app(cons, x2), app(app(cons, y_2), y_3))) → APP(app(app(app(map_3, x0), g), x1), app(app(cons, y_2), y_3))
APP(app(app(app(map_3, app(map_3, y_0)), g), x1), app(app(cons, x2), app(app(cons, y_2), y_3))) → APP(app(app(app(map_3, app(map_3, y_0)), g), x1), app(app(cons, y_2), y_3))
APP(app(app(app(map_3, map_2), g), x1), app(app(cons, x2), app(app(cons, y_1), y_2))) → APP(app(app(app(map_3, map_2), g), x1), app(app(cons, y_1), y_2))
APP(app(app(app(map_3, app(app(map_3, y_0), g)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), y_3)), y_4))) → APP(app(app(app(map_3, app(app(map_3, y_0), g)), g), x1), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(app(map_3, map_1), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4))) → APP(app(app(app(map_3, map_1), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4))
APP(app(app(app(map_3, app(map_2, app(map_2, y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), y_3)), y_4))) → APP(app(app(app(map_3, app(map_2, app(map_2, y_0))), g), x1), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(app(map_3, app(map_2, app(app(map_3, y_0), g))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), y_3)), y_4))) → APP(app(app(app(map_3, app(map_2, app(app(map_3, y_0), g))), g), x1), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_1), y_2)), y_3))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), y_2)), y_3))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(map_2, y_1), y_2)), y_3)), y_4))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, app(app(map_2, y_1), y_2)), y_3)), y_4))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3)), y_4))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3)), y_4))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(map_1, y_1)), y_2)), y_3))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, app(map_1, y_1)), y_2)), y_3))
APP(app(app(app(map_3, app(map_2, app(app(map_2, y_0), y_1))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, y_0), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y_0), g), y_1))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y_0), g), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(map_1, y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(map_1, y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y_0), y_1)))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)), y_7))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y_0), y_1)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)), y_7))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1)))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)), y_7))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)), y_7))
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6)), y_7))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6)), y_7))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(map_2, y_0)), y_1))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, app(map_2, y_0)), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4)), y_5))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, y_0)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))) → APP(app(app(app(map_3, app(map_2, y_0)), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))
APP(app(app(app(map_3, app(map_2, app(map_2, y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))) → APP(app(app(app(map_3, app(map_2, app(map_2, y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))
APP(app(app(app(map_3, app(map_2, app(app(map_3, y_0), g))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))) → APP(app(app(app(map_3, app(map_2, app(app(map_3, y_0), g))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_1), app(app(cons, app(app(map_2, y_2), y_3)), y_4))), y_5))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, app(app(map_2, y_2), y_3)), y_4))), y_5))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_1), app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4))), y_5))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4))), y_5))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_1), app(app(cons, app(map_1, y_2)), y_3))), y_4))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, app(map_1, y_2)), y_3))), y_4))
APP(app(app(app(map_3, app(map_2, app(app(map_2, y_0), y_1))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), y_7))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, y_0), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), y_7))
APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y_0), g), y_1))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), y_7))) → APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y_0), g), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), y_7))
APP(app(app(app(map_3, app(map_2, app(map_1, y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6))), y_7))) → APP(app(app(app(map_3, app(map_2, app(map_1, y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6))), y_7))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y_0), y_1)))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7))), y_8))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y_0), y_1)))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7))), y_8))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1)))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7))), y_8))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1)))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7))), y_8))
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))), y_7))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))), y_7))
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6)), y_7))), y_8))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6)), y_7))), y_8))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(map_2, y_0)), y_1))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), y_7))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, app(map_2, y_0)), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), y_7))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), y_7))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), y_7))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, y_3), y_4)), y_5))), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, y_3), y_4)), y_5))), y_6))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(map_2, y_3), y_4)), y_5)), y_6))), y_7))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(map_2, y_3), y_4)), y_5)), y_6))), y_7))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(app(map_3, y_3), g), y_4)), y_5)), y_6))), y_7))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(app(map_3, y_3), g), y_4)), y_5)), y_6))), y_7))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(map_1, y_3)), y_4)), y_5))), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(map_1, y_3)), y_4)), y_5))), y_6))
APP(app(app(app(map_3, app(app(map_3, app(map_3, y_0)), g)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), y_3)), y_4))) → APP(app(app(app(map_3, app(app(map_3, app(map_3, y_0)), g)), g), x1), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(app(map_3, app(app(map_3, map_2), g)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_1), y_2)), y_3))) → APP(app(app(app(map_3, app(app(map_3, map_2), g)), g), x1), app(app(cons, app(app(cons, y_1), y_2)), y_3))

R is empty.
The set Q consists of the following terms:

app(app(map_1, x0), app(app(cons, x1), x2))
app(app(app(map_2, x0), x1), app(app(cons, x2), x3))
app(app(app(app(map_3, x0), g), x1), app(app(cons, x2), x3))

We have to consider all minimal (P,Q,R)-chains.

(25) MRRProof (EQUIVALENT transformation)

By using the rule removal processor [LPAR04] with the following ordering, at least one Dependency Pair or term rewrite system rule of this QDP problem can be strictly oriented.
Strictly oriented dependency pairs:

APP(app(map_1, x0), app(app(cons, x1), app(app(cons, y_1), y_2))) → APP(app(map_1, x0), app(app(cons, y_1), y_2))
APP(app(map_1, app(app(map_2, y_0), y_1)), app(app(cons, app(app(cons, y_2), y_3)), x2)) → APP(app(app(map_2, y_0), y_1), app(app(cons, y_2), y_3))
APP(app(map_1, app(app(app(map_3, y_0), g), y_1)), app(app(cons, app(app(cons, y_2), y_3)), x2)) → APP(app(app(app(map_3, y_0), g), y_1), app(app(cons, y_2), y_3))
APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), y_2)), x2)) → APP(app(map_1, y_0), app(app(cons, y_1), y_2))
APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), x2)) → APP(app(map_1, y_0), app(app(cons, y_1), app(app(cons, y_2), y_3)))
APP(app(app(map_2, app(map_2, y_0)), x1), app(app(cons, x2), x3)) → APP(app(app(map_2, y_0), x2), x1)
APP(app(app(map_2, app(app(map_3, y_0), g)), x1), app(app(cons, x2), x3)) → APP(app(app(app(map_3, y_0), g), x2), x1)
APP(app(app(map_2, map_1), x1), app(app(cons, x2), x3)) → APP(app(map_1, x2), x1)
APP(app(app(map_2, map_1), x1), app(app(cons, app(app(map_2, y_0), y_1)), x3)) → APP(app(map_1, app(app(map_2, y_0), y_1)), x1)
APP(app(app(map_2, map_1), x1), app(app(cons, app(app(app(map_3, y_0), g), y_1)), x3)) → APP(app(map_1, app(app(app(map_3, y_0), g), y_1)), x1)
APP(app(app(map_2, map_1), x1), app(app(cons, app(map_1, y_0)), x3)) → APP(app(map_1, app(map_1, y_0)), x1)
APP(app(app(map_2, app(app(map_2, y_0), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, y_0), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(app(map_3, y_0), g), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(map_1, y_0)), x1), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), x3)) → APP(app(map_1, y_0), app(app(cons, y_1), app(app(cons, y_2), y_3)))
APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), x3)) → APP(app(map_1, app(app(map_2, y_0), y_1)), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), x3)) → APP(app(map_1, app(app(app(map_3, y_0), g), y_1)), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_1), y_2)), y_3)), x3)) → APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), y_2)), y_3))
APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4)), x3)) → APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4))
APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, app(map_2, y_0)), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, app(app(map_3, y_0), g)), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, y_1), y_2)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, y_1), y_2))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(map_2, y_1), y_2)), y_3)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, app(app(map_2, y_1), y_2)), y_3))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(map_1, y_1)), y_2)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, app(map_1, y_1)), y_2))
APP(app(app(map_2, x0), x1), app(app(cons, x2), app(app(cons, y_2), y_3))) → APP(app(app(map_2, x0), x1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(map_2, y_0)), x1), app(app(cons, x2), app(app(cons, y_2), y_3))) → APP(app(app(map_2, app(map_2, y_0)), x1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(app(map_3, y_0), g)), x1), app(app(cons, x2), app(app(cons, y_2), y_3))) → APP(app(app(map_2, app(app(map_3, y_0), g)), x1), app(app(cons, y_2), y_3))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), app(app(cons, y_1), y_2))) → APP(app(app(map_2, map_1), x1), app(app(cons, y_1), y_2))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), app(app(cons, app(app(map_2, y_1), y_2)), y_3))) → APP(app(app(map_2, map_1), x1), app(app(cons, app(app(map_2, y_1), y_2)), y_3))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3))) → APP(app(app(map_2, map_1), x1), app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), app(app(cons, app(map_1, y_1)), y_2))) → APP(app(app(map_2, map_1), x1), app(app(cons, app(map_1, y_1)), y_2))
APP(app(app(map_2, app(app(map_2, y_0), y_1)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, y_0), y_1)), x1), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), y_4)), y_5))) → APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), x1), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(map_2, app(map_1, y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))) → APP(app(app(map_2, app(map_1, y_0)), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))
APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))) → APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))) → APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5))) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5))
APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6))) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6))
APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), x1), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), x1), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), y_3)), y_4))) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4))) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4))
APP(app(app(app(map_3, app(map_3, y_0)), g), x1), app(app(cons, x2), x3)) → APP(app(app(app(map_3, y_0), g), x2), x1)
APP(app(app(app(map_3, map_2), g), x1), app(app(cons, x2), x3)) → APP(app(app(map_2, g), x2), x1)
APP(app(app(app(map_3, app(app(map_3, y_0), g)), g), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(app(map_3, y_0), g), g), app(app(cons, y_2), y_3))
APP(app(app(app(map_3, map_1), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), x3)) → APP(app(map_1, g), app(app(cons, y_1), app(app(cons, y_2), y_3)))
APP(app(app(app(map_3, app(map_2, app(map_2, y_0))), g), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, app(map_2, y_0)), g), app(app(cons, y_2), y_3))
APP(app(app(app(map_3, app(map_2, app(app(map_3, y_0), g))), g), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, app(app(map_3, y_0), g)), g), app(app(cons, y_2), y_3))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), y_2)), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, y_1), y_2))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, app(app(map_2, y_1), y_2)), y_3)), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, y_1), y_2)), y_3))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3)), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, app(map_1, y_1)), y_2)), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, app(map_1, y_1)), y_2))
APP(app(app(app(map_3, app(map_2, app(app(map_2, y_0), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), x3)) → APP(app(app(map_2, app(app(map_2, y_0), y_1)), g), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y_0), g), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), x3)) → APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), g), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, app(map_1, y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), x3)) → APP(app(app(map_2, app(map_1, y_0)), g), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y_0), y_1)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)), x3)) → APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), g), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)), x3)) → APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), g), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5)), x3)) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), g), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6)), x3)) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), g), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(map_2, y_0)), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), x3)) → APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), g), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), x3)) → APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), g), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5)), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5)), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4)), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4))
APP(app(app(app(map_3, app(map_2, y_0)), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), x3)) → APP(app(app(map_2, y_0), g), app(app(cons, y_2), app(app(cons, y_3), y_4)))
APP(app(app(app(map_3, app(map_2, app(map_2, y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), x3)) → APP(app(app(map_2, app(map_2, y_0)), g), app(app(cons, y_2), app(app(cons, y_3), y_4)))
APP(app(app(app(map_3, app(map_2, app(app(map_3, y_0), g))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), x3)) → APP(app(app(map_2, app(app(map_3, y_0), g)), g), app(app(cons, y_2), app(app(cons, y_3), y_4)))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, y_1), app(app(cons, y_2), y_3)))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, app(app(map_2, y_2), y_3)), y_4))), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, y_1), app(app(cons, app(app(map_2, y_2), y_3)), y_4)))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4))), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, y_1), app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, app(map_1, y_2)), y_3))), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, y_1), app(app(cons, app(map_1, y_2)), y_3)))
APP(app(app(app(map_3, app(map_2, app(app(map_2, y_0), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), x3)) → APP(app(app(map_2, app(app(map_2, y_0), y_1)), g), app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6)))
APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y_0), g), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), x3)) → APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), g), app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6)))
APP(app(app(app(map_3, app(map_2, app(map_1, y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6))), x3)) → APP(app(app(map_2, app(map_1, y_0)), g), app(app(cons, y_2), app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6)))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y_0), y_1)))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7))), x3)) → APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), g), app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7)))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1)))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7))), x3)) → APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), g), app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7)))
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))), x3)) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), g), app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)))
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6)), y_7))), x3)) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), g), app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6)), y_7)))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(map_2, y_0)), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), x3)) → APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), g), app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6)))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), x3)) → APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), g), app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6)))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, y_3), y_4)), y_5))), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, y_2), app(app(cons, app(app(cons, y_3), y_4)), y_5)))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(map_2, y_3), y_4)), y_5)), y_6))), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, y_2), app(app(cons, app(app(cons, app(app(map_2, y_3), y_4)), y_5)), y_6)))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(app(map_3, y_3), g), y_4)), y_5)), y_6))), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, y_2), app(app(cons, app(app(cons, app(app(app(map_3, y_3), g), y_4)), y_5)), y_6)))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(map_1, y_3)), y_4)), y_5))), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, y_2), app(app(cons, app(app(cons, app(map_1, y_3)), y_4)), y_5)))
APP(app(app(app(map_3, app(app(map_3, app(map_3, y_0)), g)), g), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(app(map_3, app(map_3, y_0)), g), g), app(app(cons, y_2), y_3))
APP(app(app(app(map_3, app(app(map_3, map_2), g)), g), x1), app(app(cons, app(app(cons, y_1), y_2)), x3)) → APP(app(app(app(map_3, map_2), g), g), app(app(cons, y_1), y_2))
APP(app(app(app(map_3, x0), g), x1), app(app(cons, x2), app(app(cons, y_2), y_3))) → APP(app(app(app(map_3, x0), g), x1), app(app(cons, y_2), y_3))
APP(app(app(app(map_3, app(map_3, y_0)), g), x1), app(app(cons, x2), app(app(cons, y_2), y_3))) → APP(app(app(app(map_3, app(map_3, y_0)), g), x1), app(app(cons, y_2), y_3))
APP(app(app(app(map_3, map_2), g), x1), app(app(cons, x2), app(app(cons, y_1), y_2))) → APP(app(app(app(map_3, map_2), g), x1), app(app(cons, y_1), y_2))
APP(app(app(app(map_3, app(app(map_3, y_0), g)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), y_3)), y_4))) → APP(app(app(app(map_3, app(app(map_3, y_0), g)), g), x1), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(app(map_3, map_1), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4))) → APP(app(app(app(map_3, map_1), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4))
APP(app(app(app(map_3, app(map_2, app(map_2, y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), y_3)), y_4))) → APP(app(app(app(map_3, app(map_2, app(map_2, y_0))), g), x1), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(app(map_3, app(map_2, app(app(map_3, y_0), g))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), y_3)), y_4))) → APP(app(app(app(map_3, app(map_2, app(app(map_3, y_0), g))), g), x1), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_1), y_2)), y_3))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), y_2)), y_3))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(map_2, y_1), y_2)), y_3)), y_4))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, app(app(map_2, y_1), y_2)), y_3)), y_4))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3)), y_4))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3)), y_4))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(map_1, y_1)), y_2)), y_3))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, app(map_1, y_1)), y_2)), y_3))
APP(app(app(app(map_3, app(map_2, app(app(map_2, y_0), y_1))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, y_0), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y_0), g), y_1))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y_0), g), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(map_1, y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(map_1, y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y_0), y_1)))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)), y_7))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y_0), y_1)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)), y_7))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1)))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)), y_7))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)), y_7))
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6)), y_7))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6)), y_7))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(map_2, y_0)), y_1))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, app(map_2, y_0)), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4)), y_5))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, y_0)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))) → APP(app(app(app(map_3, app(map_2, y_0)), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))
APP(app(app(app(map_3, app(map_2, app(map_2, y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))) → APP(app(app(app(map_3, app(map_2, app(map_2, y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))
APP(app(app(app(map_3, app(map_2, app(app(map_3, y_0), g))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))) → APP(app(app(app(map_3, app(map_2, app(app(map_3, y_0), g))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_1), app(app(cons, app(app(map_2, y_2), y_3)), y_4))), y_5))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, app(app(map_2, y_2), y_3)), y_4))), y_5))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_1), app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4))), y_5))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4))), y_5))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_1), app(app(cons, app(map_1, y_2)), y_3))), y_4))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, app(map_1, y_2)), y_3))), y_4))
APP(app(app(app(map_3, app(map_2, app(app(map_2, y_0), y_1))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), y_7))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, y_0), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), y_7))
APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y_0), g), y_1))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), y_7))) → APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y_0), g), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), y_7))
APP(app(app(app(map_3, app(map_2, app(map_1, y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6))), y_7))) → APP(app(app(app(map_3, app(map_2, app(map_1, y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6))), y_7))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y_0), y_1)))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7))), y_8))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y_0), y_1)))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7))), y_8))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1)))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7))), y_8))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1)))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7))), y_8))
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))), y_7))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))), y_7))
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6)), y_7))), y_8))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6)), y_7))), y_8))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(map_2, y_0)), y_1))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), y_7))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, app(map_2, y_0)), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), y_7))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), y_7))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), y_7))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, y_3), y_4)), y_5))), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, y_3), y_4)), y_5))), y_6))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(map_2, y_3), y_4)), y_5)), y_6))), y_7))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(map_2, y_3), y_4)), y_5)), y_6))), y_7))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(app(map_3, y_3), g), y_4)), y_5)), y_6))), y_7))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(app(map_3, y_3), g), y_4)), y_5)), y_6))), y_7))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(map_1, y_3)), y_4)), y_5))), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(map_1, y_3)), y_4)), y_5))), y_6))
APP(app(app(app(map_3, app(app(map_3, app(map_3, y_0)), g)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), y_3)), y_4))) → APP(app(app(app(map_3, app(app(map_3, app(map_3, y_0)), g)), g), x1), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(app(map_3, app(app(map_3, map_2), g)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_1), y_2)), y_3))) → APP(app(app(app(map_3, app(app(map_3, map_2), g)), g), x1), app(app(cons, app(app(cons, y_1), y_2)), y_3))


Used ordering: Knuth-Bendix order [KBO] with precedence:
g > map3 > map2 > cons > map1 > app2 > APP2

and weight map:

map_1=3
cons=1
map_2=2
map_3=3
g=2
app_2=0
APP_2=0

The variable weight is 1

(26) Obligation:

Q DP problem:
P is empty.
R is empty.
The set Q consists of the following terms:

app(app(map_1, x0), app(app(cons, x1), x2))
app(app(app(map_2, x0), x1), app(app(cons, x2), x3))
app(app(app(app(map_3, x0), g), x1), app(app(cons, x2), x3))

We have to consider all minimal (P,Q,R)-chains.

(27) PisEmptyProof (EQUIVALENT transformation)

The TRS P is empty. Hence, there is no (P,Q,R) chain.

(28) YES