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

The program

(VAR m n x k)
(RULES
  app(app(eq, 0), 0) -> true
  app(app(eq, 0), app(s, m)) -> false
  app(app(eq, app(s, n)), 0) -> false
  app(app(eq, app(s, n)), app(s, m)) -> app(app(eq, n), m)
  app(app(le, 0), m) -> true
  app(app(le, app(s, n)), 0) -> false
  app(app(le, app(s, n)), app(s, m)) -> app(app(le, n), m)
  app(min, app(app(cons, 0), nil)) -> 0
  app(min, app(app(cons, app(s, n)), nil)) -> app(s, n)
  app(min, app(app(cons, n), app(app(cons, m), x))) -> app(app(if_min, app(app(le, n), m)), app(app(cons, n), app(app(cons, m), x)))
  app(app(if_min, true), app(app(cons, n), app(app(cons, m), x))) -> app(min, app(app(cons, n), x))
  app(app(if_min, false), app(app(cons, n), app(app(cons, m), x))) -> app(min, app(app(cons, m), x))
  app(app(app(replace, n), m), nil) -> nil
  app(app(app(replace, n), m), app(app(cons, k), x)) -> app(app(app(app(if_replace, app(app(eq, n), k)), n), m), app(app(cons, k), x))
  app(app(app(app(if_replace, true), n), m), app(app(cons, k), x)) -> app(app(cons, m), x)
  app(app(app(app(if_replace, false), n), m), app(app(cons, k), x)) -> app(app(cons, k), app(app(app(replace, n), m), x))
  app(sort, nil) -> nil
  app(sort, app(app(cons, n), x)) -> app(app(cons, app(min, app(app(cons, n), x))), app(sort, app(app(app(replace, app(min, app(app(cons, n), x))), n), x)))
)
(STRATEGY INNERMOST)

Submit to AProVE Web Frontend

Edit in AProVE Web Frontend