Termination w.r.t. Q of the following Term Rewriting System could not be shown:

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.


QTRS
  ↳ Overlay + Local Confluence

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.

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

↳ QTRS
  ↳ Overlay + Local Confluence
QTRS
      ↳ DependencyPairsProof

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))


Using Dependency Pairs [1,15] we result in the following initial DP problem:
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, f), app(app(cons, h), t)) → APP(app(map_1, f), t)
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(cons, app(app(app(f, g), h), c)), app(app(app(app(map_3, f), g), c), 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(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(app(f, g), h), c)
APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(f, g)
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(cons, app(app(f, h), c))
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(app(map_3, f), g), c), app(app(cons, h), t)) → APP(cons, app(app(app(f, g), h), c))
APP(app(app(map_2, f), c), app(app(cons, h), t)) → APP(app(app(map_2, f), c), t)
APP(app(map_1, f), app(app(cons, h), t)) → APP(cons, app(f, h))
APP(app(app(map_2, f), c), app(app(cons, h), t)) → APP(app(f, h), c)

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.

↳ QTRS
  ↳ Overlay + Local Confluence
    ↳ QTRS
      ↳ DependencyPairsProof
QDP
          ↳ DependencyGraphProof

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, f), app(app(cons, h), t)) → APP(app(map_1, f), t)
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(cons, app(app(app(f, g), h), c)), app(app(app(app(map_3, f), g), c), 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(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(app(f, g), h), c)
APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(f, g)
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(cons, app(app(f, h), c))
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(app(map_3, f), g), c), app(app(cons, h), t)) → APP(cons, app(app(app(f, g), h), c))
APP(app(app(map_2, f), c), app(app(cons, h), t)) → APP(app(app(map_2, f), c), t)
APP(app(map_1, f), app(app(cons, h), t)) → APP(cons, app(f, h))
APP(app(app(map_2, f), c), app(app(cons, h), t)) → APP(app(f, h), c)

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.
The approximation of the Dependency Graph [15,17,22] contains 1 SCC with 7 less nodes.

↳ QTRS
  ↳ Overlay + Local Confluence
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
QDP
              ↳ ForwardInstantiation

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(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(f, g), 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(app(map_2, f), c), t)
APP(app(app(map_2, f), c), app(app(cons, h), t)) → APP(app(f, 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(map_1, f), app(app(cons, h), t)) → APP(f, h)
APP(app(app(map_2, f), c), app(app(cons, h), t)) → APP(f, h)

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.
By forward instantiating [14] the rule APP(app(map_1, f), app(app(cons, h), t)) → APP(app(map_1, f), t) we obtained the following new 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))



↳ QTRS
  ↳ Overlay + Local Confluence
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ QDP
              ↳ ForwardInstantiation
QDP
                  ↳ ForwardInstantiation

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(app(map_2, f), c), app(app(cons, h), t)) → APP(app(app(map_2, f), c), t)
APP(app(app(map_2, f), c), app(app(cons, h), t)) → APP(app(f, h), c)
APP(app(map_1, f), app(app(cons, h), t)) → APP(f, h)
APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(app(f, g), h), c)
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(app(map_2, f), c), app(app(cons, h), t)) → APP(f, h)

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.
By forward instantiating [14] the rule APP(app(map_1, f), app(app(cons, h), t)) → APP(f, h) we obtained the following new rules:

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), y_2)), x2)) → APP(app(map_1, y_0), app(app(cons, y_1), y_2))
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(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))



↳ QTRS
  ↳ Overlay + Local Confluence
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ QDP
              ↳ ForwardInstantiation
                ↳ QDP
                  ↳ ForwardInstantiation
QDP
                      ↳ ForwardInstantiation

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(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(f, g), h)
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, f), c), app(app(cons, h), t)) → APP(app(app(map_2, f), c), t)
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(app(map_2, f), c), app(app(cons, h), t)) → APP(app(f, h), c)
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(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(app(f, g), h), c)
APP(app(app(map_2, f), c), app(app(cons, h), t)) → APP(f, h)
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.
By forward instantiating [14] 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:

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(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, 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, map_1), x1), app(app(cons, x2), x3)) → APP(app(map_1, 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)



↳ QTRS
  ↳ Overlay + Local Confluence
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ QDP
              ↳ ForwardInstantiation
                ↳ QDP
                  ↳ ForwardInstantiation
                    ↳ QDP
                      ↳ ForwardInstantiation
QDP
                          ↳ ForwardInstantiation

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(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(f, g), h)
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(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(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(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(app(f, g), h), c)
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, f), c), app(app(cons, h), t)) → APP(f, h)
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(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(app(map_2, f), c), app(app(cons, h), t)) → APP(app(app(map_2, f), c), t)
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(app(map_2, y_0), y_1)), x3)) → APP(app(map_1, app(app(map_2, y_0), y_1)), x1)
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(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, map_1), x1), app(app(cons, x2), x3)) → APP(app(map_1, 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.
By forward instantiating [14] the rule APP(app(app(map_2, f), c), app(app(cons, h), t)) → APP(f, h) we obtained the following new rules:

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(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(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(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, 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), 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(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, 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(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(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(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))



↳ QTRS
  ↳ Overlay + Local Confluence
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ QDP
              ↳ ForwardInstantiation
                ↳ QDP
                  ↳ ForwardInstantiation
                    ↳ QDP
                      ↳ ForwardInstantiation
                        ↳ QDP
                          ↳ ForwardInstantiation
QDP
                              ↳ ForwardInstantiation

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

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, 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, 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, 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(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(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(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(app(map_2, y_0), y_1)), x3)) → APP(app(map_1, app(app(map_2, y_0), y_1)), x1)
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(app(map_2, map_1), x1), app(app(cons, x2), x3)) → APP(app(map_1, x2), x1)
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(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(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(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(app(map_3, f), g), c), app(app(cons, h), t)) → 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(app(f, g), h)
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(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(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(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(app(f, g), h), c)
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(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(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, 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, f), c), app(app(cons, h), t)) → APP(app(app(map_2, f), c), t)
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)

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.
By forward instantiating [14] 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:

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, 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_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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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(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(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(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, 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_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))



↳ QTRS
  ↳ Overlay + Local Confluence
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ QDP
              ↳ ForwardInstantiation
                ↳ QDP
                  ↳ ForwardInstantiation
                    ↳ QDP
                      ↳ ForwardInstantiation
                        ↳ QDP
                          ↳ ForwardInstantiation
                            ↳ QDP
                              ↳ ForwardInstantiation
QDP
                                  ↳ ForwardInstantiation

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

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(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, 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, 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_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_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, 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, 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, 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, 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(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(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(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(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(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(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, 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, 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, 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(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(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, map_1), x1), app(app(cons, x2), x3)) → APP(app(map_1, x2), x1)
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, 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_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(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(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, 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, 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, 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(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(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(app(f, g), h), c)
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, 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(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_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, 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, 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, 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(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(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(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))

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.
By forward instantiating [14] 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:

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)



↳ QTRS
  ↳ Overlay + Local Confluence
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ QDP
              ↳ ForwardInstantiation
                ↳ QDP
                  ↳ ForwardInstantiation
                    ↳ QDP
                      ↳ ForwardInstantiation
                        ↳ QDP
                          ↳ ForwardInstantiation
                            ↳ QDP
                              ↳ ForwardInstantiation
                                ↳ QDP
                                  ↳ ForwardInstantiation
QDP
                                      ↳ UsableRulesProof

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

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(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_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_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, 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, 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, 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(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(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, 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, 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, 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, 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), 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, 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, 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_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(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(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(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(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, 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(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(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, 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, 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, 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, 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(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(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(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(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(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(app(map_2, map_1), x1), app(app(cons, x2), x3)) → APP(app(map_1, x2), x1)
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(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(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_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(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_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_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, 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, 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(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), 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))

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.
As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [15] we can delete all non-usable rules [17] from R.

↳ QTRS
  ↳ Overlay + Local Confluence
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ QDP
              ↳ ForwardInstantiation
                ↳ QDP
                  ↳ ForwardInstantiation
                    ↳ QDP
                      ↳ ForwardInstantiation
                        ↳ QDP
                          ↳ ForwardInstantiation
                            ↳ QDP
                              ↳ ForwardInstantiation
                                ↳ QDP
                                  ↳ ForwardInstantiation
                                    ↳ QDP
                                      ↳ UsableRulesProof
QDP
                                          ↳ ForwardInstantiation

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

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(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, 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, 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_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_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, 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, 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, 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, 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(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(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, map_2), g), x1), app(app(cons, x2), x3)) → APP(app(app(map_2, g), x2), x1)
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(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(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(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(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, 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, 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, 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(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(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, map_1), x1), app(app(cons, x2), x3)) → APP(app(map_1, x2), x1)
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(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, 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_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(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(app(map_3, f), g), c), app(app(cons, h), t)) → 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(app(f, g), h)
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(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, 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, 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(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(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(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(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(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, 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, 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, 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(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(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(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))

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.
By forward instantiating [14] 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:

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, 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, 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, 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, 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, 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, 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, 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(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(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(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, 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, 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, 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(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(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, 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(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, 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(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(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(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(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, 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(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(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, 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_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_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(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_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, 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, 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_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(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(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_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(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(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(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, 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_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(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))



↳ QTRS
  ↳ Overlay + Local Confluence
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ QDP
              ↳ ForwardInstantiation
                ↳ QDP
                  ↳ ForwardInstantiation
                    ↳ QDP
                      ↳ ForwardInstantiation
                        ↳ QDP
                          ↳ ForwardInstantiation
                            ↳ QDP
                              ↳ ForwardInstantiation
                                ↳ QDP
                                  ↳ ForwardInstantiation
                                    ↳ QDP
                                      ↳ UsableRulesProof
                                        ↳ QDP
                                          ↳ ForwardInstantiation
QDP
                                              ↳ ForwardInstantiation

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

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(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(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(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(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_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(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(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, 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(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(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(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(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(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(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(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(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(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(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, 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(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(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(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(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(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(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(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, 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(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(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(app(app(map_3, f), g), c), t)
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, 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(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(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(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(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(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, 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(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(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(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_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(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(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, 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, 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(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, 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, 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, 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(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, 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(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_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, map_2), g), x1), app(app(cons, x2), x3)) → APP(app(app(map_2, g), x2), x1)
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(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(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(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, 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, 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(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(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(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(app(map_2, map_1), x1), app(app(cons, x2), x3)) → APP(app(map_1, x2), x1)
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(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(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(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(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(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(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(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, 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, 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_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(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(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(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_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(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(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, 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(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, 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(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(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(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), 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))

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.
By forward instantiating [14] 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:

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, 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, 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, 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, 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, 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(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, 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(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(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(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(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_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, 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(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, 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(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(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(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, 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, 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(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(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, 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(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, 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, 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, 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, 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_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_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(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(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(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(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, 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, 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, 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(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(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, 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, 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, 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, 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_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(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))



↳ QTRS
  ↳ Overlay + Local Confluence
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ QDP
              ↳ ForwardInstantiation
                ↳ QDP
                  ↳ ForwardInstantiation
                    ↳ QDP
                      ↳ ForwardInstantiation
                        ↳ QDP
                          ↳ ForwardInstantiation
                            ↳ QDP
                              ↳ ForwardInstantiation
                                ↳ QDP
                                  ↳ ForwardInstantiation
                                    ↳ QDP
                                      ↳ UsableRulesProof
                                        ↳ QDP
                                          ↳ ForwardInstantiation
                                            ↳ QDP
                                              ↳ ForwardInstantiation
QDP

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

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(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(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_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, 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, 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(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(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_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, 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(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(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(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, 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(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(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_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_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(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, 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(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(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(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, 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(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), 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(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(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(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, map_2), g), x1), app(app(cons, x2), x3)) → APP(app(app(map_2, g), x2), x1)
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(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(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(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(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(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, 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(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(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(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(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(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, 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(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(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(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(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_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(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_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(map_2, y_0)), x1), app(app(cons, x2), x3)) → APP(app(app(map_2, y_0), x2), x1)
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(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_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(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, 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, 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, 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, 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(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(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(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(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_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_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(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(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(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(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, 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(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(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(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(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(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(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(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, 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(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, 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(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(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(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(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(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, 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(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(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(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_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(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(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_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, 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, 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(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(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, 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, 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, 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(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(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_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_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, 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, 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(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(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(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(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(map_2, map_1), x1), app(app(cons, x2), x3)) → APP(app(map_1, x2), x1)
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(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(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(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(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, 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, 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, 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, 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, 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_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(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(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(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(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(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(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, 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(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, 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(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(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, 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))

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.