YES
TRS:
 {      purge(nil()) -> nil(),
      purge(.(x, y)) -> .(x, purge(remove(x, y))),
    remove(x, nil()) -> nil(),
  remove(x, .(y, z)) -> if(=(x, y), remove(x, z), .(y, remove(x, z)))}
 DP:
  Strict:
   {    purge#(.(x, y)) -> purge#(remove(x, y)),
        purge#(.(x, y)) -> remove#(x, y),
    remove#(x, .(y, z)) -> remove#(x, z)}
  Weak:
  {      purge(nil()) -> nil(),
       purge(.(x, y)) -> .(x, purge(remove(x, y))),
     remove(x, nil()) -> nil(),
   remove(x, .(y, z)) -> if(=(x, y), remove(x, z), .(y, remove(x, z)))}
  EDG:
   {(remove#(x, .(y, z)) -> remove#(x, z), remove#(x, .(y, z)) -> remove#(x, z))
    (purge#(.(x, y)) -> remove#(x, y), remove#(x, .(y, z)) -> remove#(x, z))
    (purge#(.(x, y)) -> purge#(remove(x, y)), purge#(.(x, y)) -> purge#(remove(x, y)))
    (purge#(.(x, y)) -> purge#(remove(x, y)), purge#(.(x, y)) -> remove#(x, y))}
   SCCS:
    Scc:
     {remove#(x, .(y, z)) -> remove#(x, z)}
    Scc:
     {purge#(.(x, y)) -> purge#(remove(x, y))}
    SCC:
     Strict:
      {remove#(x, .(y, z)) -> remove#(x, z)}
     Weak:
     {      purge(nil()) -> nil(),
          purge(.(x, y)) -> .(x, purge(remove(x, y))),
        remove(x, nil()) -> nil(),
      remove(x, .(y, z)) -> if(=(x, y), remove(x, z), .(y, remove(x, z)))}
     SPSC:
      Simple Projection:
       pi(remove#) = 1
      Strict:
       {}
      Qed
    SCC:
     Strict:
      {purge#(.(x, y)) -> purge#(remove(x, y))}
     Weak:
     {      purge(nil()) -> nil(),
          purge(.(x, y)) -> .(x, purge(remove(x, y))),
        remove(x, nil()) -> nil(),
      remove(x, .(y, z)) -> if(=(x, y), remove(x, z), .(y, remove(x, z)))}
     POLY:
      Argument Filtering:
       pi(=) = [], pi(if) = [], pi(remove) = [], pi(.) = [], pi(purge#) = 0, pi(purge) = [], pi(nil) = []
      Usable Rules:
       {}
      Interpretation:
       [remove] = 0,
       [.] = 1
      Strict:
       {}
      Weak:
       {      purge(nil()) -> nil(),
            purge(.(x, y)) -> .(x, purge(remove(x, y))),
          remove(x, nil()) -> nil(),
        remove(x, .(y, z)) -> if(=(x, y), remove(x, z), .(y, remove(x, z)))}
      Qed