/home/nowonder/forschung/aprove/TPDB05/TRS/currying/AG01/#3.38.trs

The program

(VAR x l y)
(RULES
  app(rev, nil) -> nil
  app(rev, app(app(cons, x), l)) -> app(app(cons, app(app(rev1, x), l)), app(app(rev2, x), l))
  app(app(rev1, 0), nil) -> 0
  app(app(rev1, app(s, x)), nil) -> app(s, x)
  app(app(rev1, x), app(app(cons, y), l)) -> app(app(rev1, y), l)
  app(app(rev2, x), nil) -> nil
  app(app(rev2, x), app(app(cons, y), l)) -> app(rev, app(app(cons, x), app(app(rev2, y), l)))
)

Submit to AProVE Web Frontend

Edit in AProVE Web Frontend