YES

Problem:
 app(app(app(if(),true()),x),y) -> x
 app(app(app(if(),true()),x),y) -> y
 app(app(takeWhile(),p),nil()) -> nil()
 app(app(takeWhile(),p),app(app(cons(),x),xs)) ->
 app(app(app(if(),app(p,x)),app(app(cons(),x),app(app(takeWhile(),p),xs))),nil())
 app(app(dropWhile(),p),nil()) -> nil()
 app(app(dropWhile(),p),app(app(cons(),x),xs)) ->
 app(app(app(if(),app(p,x)),app(app(dropWhile(),p),xs)),app(app(cons(),x),xs))

Proof:
 DP Processor:
  DPs:
   app#(app(takeWhile(),p),app(app(cons(),x),xs)) -> app#(app(takeWhile(),p),xs)
   app#(app(takeWhile(),p),app(app(cons(),x),xs)) -> app#(app(cons(),x),app(app(takeWhile(),p),xs))
   app#(app(takeWhile(),p),app(app(cons(),x),xs)) -> app#(p,x)
   app#(app(takeWhile(),p),app(app(cons(),x),xs)) -> app#(if(),app(p,x))
   app#(app(takeWhile(),p),app(app(cons(),x),xs)) ->
   app#(app(if(),app(p,x)),app(app(cons(),x),app(app(takeWhile(),p),xs)))
   app#(app(takeWhile(),p),app(app(cons(),x),xs)) ->
   app#(app(app(if(),app(p,x)),app(app(cons(),x),app(app(takeWhile(),p),xs))),nil())
   app#(app(dropWhile(),p),app(app(cons(),x),xs)) -> app#(app(dropWhile(),p),xs)
   app#(app(dropWhile(),p),app(app(cons(),x),xs)) -> app#(p,x)
   app#(app(dropWhile(),p),app(app(cons(),x),xs)) -> app#(if(),app(p,x))
   app#(app(dropWhile(),p),app(app(cons(),x),xs)) ->
   app#(app(if(),app(p,x)),app(app(dropWhile(),p),xs))
   app#(app(dropWhile(),p),app(app(cons(),x),xs)) ->
   app#(app(app(if(),app(p,x)),app(app(dropWhile(),p),xs)),app(app(cons(),x),xs))
  TRS:
   app(app(app(if(),true()),x),y) -> x
   app(app(app(if(),true()),x),y) -> y
   app(app(takeWhile(),p),nil()) -> nil()
   app(app(takeWhile(),p),app(app(cons(),x),xs)) ->
   app(app(app(if(),app(p,x)),app(app(cons(),x),app(app(takeWhile(),p),xs))),nil())
   app(app(dropWhile(),p),nil()) -> nil()
   app(app(dropWhile(),p),app(app(cons(),x),xs)) ->
   app(app(app(if(),app(p,x)),app(app(dropWhile(),p),xs)),app(app(cons(),x),xs))
  EDG Processor:
   DPs:
    app#(app(takeWhile(),p),app(app(cons(),x),xs)) -> app#(app(takeWhile(),p),xs)
    app#(app(takeWhile(),p),app(app(cons(),x),xs)) ->
    app#(app(cons(),x),app(app(takeWhile(),p),xs))
    app#(app(takeWhile(),p),app(app(cons(),x),xs)) -> app#(p,x)
    app#(app(takeWhile(),p),app(app(cons(),x),xs)) -> app#(if(),app(p,x))
    app#(app(takeWhile(),p),app(app(cons(),x),xs)) ->
    app#(app(if(),app(p,x)),app(app(cons(),x),app(app(takeWhile(),p),xs)))
    app#(app(takeWhile(),p),app(app(cons(),x),xs)) ->
    app#(app(app(if(),app(p,x)),app(app(cons(),x),app(app(takeWhile(),p),xs))),nil())
    app#(app(dropWhile(),p),app(app(cons(),x),xs)) -> app#(app(dropWhile(),p),xs)
    app#(app(dropWhile(),p),app(app(cons(),x),xs)) -> app#(p,x)
    app#(app(dropWhile(),p),app(app(cons(),x),xs)) -> app#(if(),app(p,x))
    app#(app(dropWhile(),p),app(app(cons(),x),xs)) ->
    app#(app(if(),app(p,x)),app(app(dropWhile(),p),xs))
    app#(app(dropWhile(),p),app(app(cons(),x),xs)) ->
    app#(app(app(if(),app(p,x)),app(app(dropWhile(),p),xs)),app(app(cons(),x),xs))
   TRS:
    app(app(app(if(),true()),x),y) -> x
    app(app(app(if(),true()),x),y) -> y
    app(app(takeWhile(),p),nil()) -> nil()
    app(app(takeWhile(),p),app(app(cons(),x),xs)) ->
    app(app(app(if(),app(p,x)),app(app(cons(),x),app(app(takeWhile(),p),xs))),nil())
    app(app(dropWhile(),p),nil()) -> nil()
    app(app(dropWhile(),p),app(app(cons(),x),xs)) ->
    app(app(app(if(),app(p,x)),app(app(dropWhile(),p),xs)),app(app(cons(),x),xs))
   graph:
    app#(app(dropWhile(),p),app(app(cons(),x),xs)) -> app#(app(dropWhile(),p),xs) ->
    app#(app(dropWhile(),p),app(app(cons(),x),xs)) -> app#(app(dropWhile(),p),xs)
    app#(app(dropWhile(),p),app(app(cons(),x),xs)) -> app#(app(dropWhile(),p),xs) ->
    app#(app(dropWhile(),p),app(app(cons(),x),xs)) -> app#(p,x)
    app#(app(dropWhile(),p),app(app(cons(),x),xs)) -> app#(app(dropWhile(),p),xs) ->
    app#(app(dropWhile(),p),app(app(cons(),x),xs)) -> app#(if(),app(p,x))
    app#(app(dropWhile(),p),app(app(cons(),x),xs)) -> app#(app(dropWhile(),p),xs) ->
    app#(app(dropWhile(),p),app(app(cons(),x),xs)) ->
    app#(app(if(),app(p,x)),app(app(dropWhile(),p),xs))
    app#(app(dropWhile(),p),app(app(cons(),x),xs)) -> app#(app(dropWhile(),p),xs) ->
    app#(app(dropWhile(),p),app(app(cons(),x),xs)) ->
    app#(app(app(if(),app(p,x)),app(app(dropWhile(),p),xs)),app(app(cons(),x),xs))
    app#(app(dropWhile(),p),app(app(cons(),x),xs)) -> app#(p,x) ->
    app#(app(takeWhile(),p),app(app(cons(),x),xs)) -> app#(app(takeWhile(),p),xs)
    app#(app(dropWhile(),p),app(app(cons(),x),xs)) -> app#(p,x) ->
    app#(app(takeWhile(),p),app(app(cons(),x),xs)) ->
    app#(app(cons(),x),app(app(takeWhile(),p),xs))
    app#(app(dropWhile(),p),app(app(cons(),x),xs)) -> app#(p,x) ->
    app#(app(takeWhile(),p),app(app(cons(),x),xs)) -> app#(p,x)
    app#(app(dropWhile(),p),app(app(cons(),x),xs)) -> app#(p,x) ->
    app#(app(takeWhile(),p),app(app(cons(),x),xs)) -> app#(if(),app(p,x))
    app#(app(dropWhile(),p),app(app(cons(),x),xs)) -> app#(p,x) ->
    app#(app(takeWhile(),p),app(app(cons(),x),xs)) ->
    app#(app(if(),app(p,x)),app(app(cons(),x),app(app(takeWhile(),p),xs)))
    app#(app(dropWhile(),p),app(app(cons(),x),xs)) -> app#(p,x) ->
    app#(app(takeWhile(),p),app(app(cons(),x),xs)) ->
    app#(app(app(if(),app(p,x)),app(app(cons(),x),app(app(takeWhile(),p),xs))),nil())
    app#(app(dropWhile(),p),app(app(cons(),x),xs)) -> app#(p,x) ->
    app#(app(dropWhile(),p),app(app(cons(),x),xs)) -> app#(app(dropWhile(),p),xs)
    app#(app(dropWhile(),p),app(app(cons(),x),xs)) -> app#(p,x) ->
    app#(app(dropWhile(),p),app(app(cons(),x),xs)) -> app#(p,x)
    app#(app(dropWhile(),p),app(app(cons(),x),xs)) -> app#(p,x) ->
    app#(app(dropWhile(),p),app(app(cons(),x),xs)) -> app#(if(),app(p,x))
    app#(app(dropWhile(),p),app(app(cons(),x),xs)) -> app#(p,x) ->
    app#(app(dropWhile(),p),app(app(cons(),x),xs)) ->
    app#(app(if(),app(p,x)),app(app(dropWhile(),p),xs))
    app#(app(dropWhile(),p),app(app(cons(),x),xs)) -> app#(p,x) ->
    app#(app(dropWhile(),p),app(app(cons(),x),xs)) ->
    app#(app(app(if(),app(p,x)),app(app(dropWhile(),p),xs)),app(app(cons(),x),xs))
    app#(app(takeWhile(),p),app(app(cons(),x),xs)) -> app#(app(takeWhile(),p),xs) ->
    app#(app(takeWhile(),p),app(app(cons(),x),xs)) -> app#(app(takeWhile(),p),xs)
    app#(app(takeWhile(),p),app(app(cons(),x),xs)) -> app#(app(takeWhile(),p),xs) ->
    app#(app(takeWhile(),p),app(app(cons(),x),xs)) ->
    app#(app(cons(),x),app(app(takeWhile(),p),xs))
    app#(app(takeWhile(),p),app(app(cons(),x),xs)) -> app#(app(takeWhile(),p),xs) ->
    app#(app(takeWhile(),p),app(app(cons(),x),xs)) -> app#(p,x)
    app#(app(takeWhile(),p),app(app(cons(),x),xs)) -> app#(app(takeWhile(),p),xs) ->
    app#(app(takeWhile(),p),app(app(cons(),x),xs)) -> app#(if(),app(p,x))
    app#(app(takeWhile(),p),app(app(cons(),x),xs)) -> app#(app(takeWhile(),p),xs) ->
    app#(app(takeWhile(),p),app(app(cons(),x),xs)) ->
    app#(app(if(),app(p,x)),app(app(cons(),x),app(app(takeWhile(),p),xs)))
    app#(app(takeWhile(),p),app(app(cons(),x),xs)) -> app#(app(takeWhile(),p),xs) ->
    app#(app(takeWhile(),p),app(app(cons(),x),xs)) ->
    app#(app(app(if(),app(p,x)),app(app(cons(),x),app(app(takeWhile(),p),xs))),nil())
    app#(app(takeWhile(),p),app(app(cons(),x),xs)) -> app#(p,x) ->
    app#(app(takeWhile(),p),app(app(cons(),x),xs)) -> app#(app(takeWhile(),p),xs)
    app#(app(takeWhile(),p),app(app(cons(),x),xs)) -> app#(p,x) ->
    app#(app(takeWhile(),p),app(app(cons(),x),xs)) ->
    app#(app(cons(),x),app(app(takeWhile(),p),xs))
    app#(app(takeWhile(),p),app(app(cons(),x),xs)) -> app#(p,x) ->
    app#(app(takeWhile(),p),app(app(cons(),x),xs)) -> app#(p,x)
    app#(app(takeWhile(),p),app(app(cons(),x),xs)) -> app#(p,x) ->
    app#(app(takeWhile(),p),app(app(cons(),x),xs)) -> app#(if(),app(p,x))
    app#(app(takeWhile(),p),app(app(cons(),x),xs)) -> app#(p,x) ->
    app#(app(takeWhile(),p),app(app(cons(),x),xs)) ->
    app#(app(if(),app(p,x)),app(app(cons(),x),app(app(takeWhile(),p),xs)))
    app#(app(takeWhile(),p),app(app(cons(),x),xs)) -> app#(p,x) ->
    app#(app(takeWhile(),p),app(app(cons(),x),xs)) ->
    app#(app(app(if(),app(p,x)),app(app(cons(),x),app(app(takeWhile(),p),xs))),nil())
    app#(app(takeWhile(),p),app(app(cons(),x),xs)) -> app#(p,x) ->
    app#(app(dropWhile(),p),app(app(cons(),x),xs)) -> app#(app(dropWhile(),p),xs)
    app#(app(takeWhile(),p),app(app(cons(),x),xs)) -> app#(p,x) ->
    app#(app(dropWhile(),p),app(app(cons(),x),xs)) -> app#(p,x)
    app#(app(takeWhile(),p),app(app(cons(),x),xs)) -> app#(p,x) ->
    app#(app(dropWhile(),p),app(app(cons(),x),xs)) -> app#(if(),app(p,x))
    app#(app(takeWhile(),p),app(app(cons(),x),xs)) -> app#(p,x) ->
    app#(app(dropWhile(),p),app(app(cons(),x),xs)) ->
    app#(app(if(),app(p,x)),app(app(dropWhile(),p),xs))
    app#(app(takeWhile(),p),app(app(cons(),x),xs)) -> app#(p,x) ->
    app#(app(dropWhile(),p),app(app(cons(),x),xs)) ->
    app#(app(app(if(),app(p,x)),app(app(dropWhile(),p),xs)),app(app(cons(),x),xs))
   SCC Processor:
    #sccs: 1
    #rules: 4
    #arcs: 33/121
    DPs:
     app#(app(dropWhile(),p),app(app(cons(),x),xs)) -> app#(app(dropWhile(),p),xs)
     app#(app(dropWhile(),p),app(app(cons(),x),xs)) -> app#(p,x)
     app#(app(takeWhile(),p),app(app(cons(),x),xs)) -> app#(p,x)
     app#(app(takeWhile(),p),app(app(cons(),x),xs)) -> app#(app(takeWhile(),p),xs)
    TRS:
     app(app(app(if(),true()),x),y) -> x
     app(app(app(if(),true()),x),y) -> y
     app(app(takeWhile(),p),nil()) -> nil()
     app(app(takeWhile(),p),app(app(cons(),x),xs)) ->
     app(app(app(if(),app(p,x)),app(app(cons(),x),app(app(takeWhile(),p),xs))),nil())
     app(app(dropWhile(),p),nil()) -> nil()
     app(app(dropWhile(),p),app(app(cons(),x),xs)) ->
     app(app(app(if(),app(p,x)),app(app(dropWhile(),p),xs)),app(app(cons(),x),xs))
    Subterm Criterion Processor:
     simple projection:
      pi(app#) = 1
     problem:
      DPs:
       
      TRS:
       app(app(app(if(),true()),x),y) -> x
       app(app(app(if(),true()),x),y) -> y
       app(app(takeWhile(),p),nil()) -> nil()
       app(app(takeWhile(),p),app(app(cons(),x),xs)) ->
       app(app(app(if(),app(p,x)),app(app(cons(),x),app(app(takeWhile(),p),xs))),nil())
       app(app(dropWhile(),p),nil()) -> nil()
       app(app(dropWhile(),p),app(app(cons(),x),xs)) ->
       app(app(app(if(),app(p,x)),app(app(dropWhile(),p),xs)),app(app(cons(),x),xs))
     Qed