YES

Problem:
 app(app(map(),f),nil()) -> nil()
 app(app(map(),f),app(app(cons(),x),xs)) -> app(app(cons(),app(f,x)),app(app(map(),f),xs))
 app(app(minus(),x),0()) -> x
 app(app(minus(),app(s(),x)),app(s(),y)) ->
 app(app(minus(),app(p(),app(s(),x))),app(p(),app(s(),y)))
 app(p(),app(s(),x)) -> x
 app(app(div(),0()),app(s(),y)) -> 0()
 app(app(div(),app(s(),x)),app(s(),y)) ->
 app(s(),app(app(div(),app(app(minus(),x),app(id(),y))),app(s(),y)))
 app(id(),x) -> x
 app(id(),x) -> app(s(),app(s(),app(s(),x)))
 app(id(),app(p(),x)) -> app(id(),app(s(),app(id(),x)))

Proof:
 Uncurry Processor:
  map2(f,nil()) -> nil()
  map2(f,cons2(x,xs)) -> cons2(app(f,x),map2(f,xs))
  minus2(x,0()) -> x
  minus2(s1(x),s1(y)) -> minus2(p1(s1(x)),p1(s1(y)))
  p1(s1(x)) -> x
  div2(0(),s1(y)) -> 0()
  div2(s1(x),s1(y)) -> s1(div2(minus2(x,id1(y)),s1(y)))
  id1(x) -> x
  id1(x) -> s1(s1(s1(x)))
  id1(p1(x)) -> id1(s1(id1(x)))
  app(map1(x4),x5) -> map2(x4,x5)
  app(map(),x5) -> map1(x5)
  app(cons1(x4),x5) -> cons2(x4,x5)
  app(cons(),x5) -> cons1(x5)
  app(minus1(x4),x5) -> minus2(x4,x5)
  app(minus(),x5) -> minus1(x5)
  app(s(),x5) -> s1(x5)
  app(p(),x5) -> p1(x5)
  app(div1(x4),x5) -> div2(x4,x5)
  app(div(),x5) -> div1(x5)
  app(id(),x5) -> id1(x5)
  DP Processor:
   DPs:
    map{2,#}(f,cons2(x,xs)) -> map{2,#}(f,xs)
    map{2,#}(f,cons2(x,xs)) -> app#(f,x)
    minus{2,#}(s1(x),s1(y)) -> p{1,#}(s1(y))
    minus{2,#}(s1(x),s1(y)) -> p{1,#}(s1(x))
    minus{2,#}(s1(x),s1(y)) -> minus{2,#}(p1(s1(x)),p1(s1(y)))
    div{2,#}(s1(x),s1(y)) -> id{1,#}(y)
    div{2,#}(s1(x),s1(y)) -> minus{2,#}(x,id1(y))
    div{2,#}(s1(x),s1(y)) -> div{2,#}(minus2(x,id1(y)),s1(y))
    id{1,#}(p1(x)) -> id{1,#}(x)
    id{1,#}(p1(x)) -> id{1,#}(s1(id1(x)))
    app#(map1(x4),x5) -> map{2,#}(x4,x5)
    app#(minus1(x4),x5) -> minus{2,#}(x4,x5)
    app#(p(),x5) -> p{1,#}(x5)
    app#(div1(x4),x5) -> div{2,#}(x4,x5)
    app#(id(),x5) -> id{1,#}(x5)
   TRS:
    map2(f,nil()) -> nil()
    map2(f,cons2(x,xs)) -> cons2(app(f,x),map2(f,xs))
    minus2(x,0()) -> x
    minus2(s1(x),s1(y)) -> minus2(p1(s1(x)),p1(s1(y)))
    p1(s1(x)) -> x
    div2(0(),s1(y)) -> 0()
    div2(s1(x),s1(y)) -> s1(div2(minus2(x,id1(y)),s1(y)))
    id1(x) -> x
    id1(x) -> s1(s1(s1(x)))
    id1(p1(x)) -> id1(s1(id1(x)))
    app(map1(x4),x5) -> map2(x4,x5)
    app(map(),x5) -> map1(x5)
    app(cons1(x4),x5) -> cons2(x4,x5)
    app(cons(),x5) -> cons1(x5)
    app(minus1(x4),x5) -> minus2(x4,x5)
    app(minus(),x5) -> minus1(x5)
    app(s(),x5) -> s1(x5)
    app(p(),x5) -> p1(x5)
    app(div1(x4),x5) -> div2(x4,x5)
    app(div(),x5) -> div1(x5)
    app(id(),x5) -> id1(x5)
   TDG Processor:
    DPs:
     map{2,#}(f,cons2(x,xs)) -> map{2,#}(f,xs)
     map{2,#}(f,cons2(x,xs)) -> app#(f,x)
     minus{2,#}(s1(x),s1(y)) -> p{1,#}(s1(y))
     minus{2,#}(s1(x),s1(y)) -> p{1,#}(s1(x))
     minus{2,#}(s1(x),s1(y)) -> minus{2,#}(p1(s1(x)),p1(s1(y)))
     div{2,#}(s1(x),s1(y)) -> id{1,#}(y)
     div{2,#}(s1(x),s1(y)) -> minus{2,#}(x,id1(y))
     div{2,#}(s1(x),s1(y)) -> div{2,#}(minus2(x,id1(y)),s1(y))
     id{1,#}(p1(x)) -> id{1,#}(x)
     id{1,#}(p1(x)) -> id{1,#}(s1(id1(x)))
     app#(map1(x4),x5) -> map{2,#}(x4,x5)
     app#(minus1(x4),x5) -> minus{2,#}(x4,x5)
     app#(p(),x5) -> p{1,#}(x5)
     app#(div1(x4),x5) -> div{2,#}(x4,x5)
     app#(id(),x5) -> id{1,#}(x5)
    TRS:
     map2(f,nil()) -> nil()
     map2(f,cons2(x,xs)) -> cons2(app(f,x),map2(f,xs))
     minus2(x,0()) -> x
     minus2(s1(x),s1(y)) -> minus2(p1(s1(x)),p1(s1(y)))
     p1(s1(x)) -> x
     div2(0(),s1(y)) -> 0()
     div2(s1(x),s1(y)) -> s1(div2(minus2(x,id1(y)),s1(y)))
     id1(x) -> x
     id1(x) -> s1(s1(s1(x)))
     id1(p1(x)) -> id1(s1(id1(x)))
     app(map1(x4),x5) -> map2(x4,x5)
     app(map(),x5) -> map1(x5)
     app(cons1(x4),x5) -> cons2(x4,x5)
     app(cons(),x5) -> cons1(x5)
     app(minus1(x4),x5) -> minus2(x4,x5)
     app(minus(),x5) -> minus1(x5)
     app(s(),x5) -> s1(x5)
     app(p(),x5) -> p1(x5)
     app(div1(x4),x5) -> div2(x4,x5)
     app(div(),x5) -> div1(x5)
     app(id(),x5) -> id1(x5)
    graph:
     id{1,#}(p1(x)) -> id{1,#}(s1(id1(x))) ->
     id{1,#}(p1(x)) -> id{1,#}(s1(id1(x)))
     id{1,#}(p1(x)) -> id{1,#}(s1(id1(x))) ->
     id{1,#}(p1(x)) -> id{1,#}(x)
     id{1,#}(p1(x)) -> id{1,#}(x) ->
     id{1,#}(p1(x)) -> id{1,#}(s1(id1(x)))
     id{1,#}(p1(x)) -> id{1,#}(x) ->
     id{1,#}(p1(x)) -> id{1,#}(x)
     div{2,#}(s1(x),s1(y)) -> id{1,#}(y) ->
     id{1,#}(p1(x)) -> id{1,#}(s1(id1(x)))
     div{2,#}(s1(x),s1(y)) -> id{1,#}(y) ->
     id{1,#}(p1(x)) -> id{1,#}(x)
     div{2,#}(s1(x),s1(y)) -> div{2,#}(minus2(x,id1(y)),s1(y)) ->
     div{2,#}(s1(x),s1(y)) -> div{2,#}(minus2(x,id1(y)),s1(y))
     div{2,#}(s1(x),s1(y)) -> div{2,#}(minus2(x,id1(y)),s1(y)) ->
     div{2,#}(s1(x),s1(y)) -> minus{2,#}(x,id1(y))
     div{2,#}(s1(x),s1(y)) -> div{2,#}(minus2(x,id1(y)),s1(y)) ->
     div{2,#}(s1(x),s1(y)) -> id{1,#}(y)
     div{2,#}(s1(x),s1(y)) -> minus{2,#}(x,id1(y)) ->
     minus{2,#}(s1(x),s1(y)) -> minus{2,#}(p1(s1(x)),p1(s1(y)))
     div{2,#}(s1(x),s1(y)) -> minus{2,#}(x,id1(y)) ->
     minus{2,#}(s1(x),s1(y)) -> p{1,#}(s1(x))
     div{2,#}(s1(x),s1(y)) -> minus{2,#}(x,id1(y)) ->
     minus{2,#}(s1(x),s1(y)) -> p{1,#}(s1(y))
     minus{2,#}(s1(x),s1(y)) -> minus{2,#}(p1(s1(x)),p1(s1(y))) ->
     minus{2,#}(s1(x),s1(y)) -> minus{2,#}(p1(s1(x)),p1(s1(y)))
     minus{2,#}(s1(x),s1(y)) -> minus{2,#}(p1(s1(x)),p1(s1(y))) ->
     minus{2,#}(s1(x),s1(y)) -> p{1,#}(s1(x))
     minus{2,#}(s1(x),s1(y)) -> minus{2,#}(p1(s1(x)),p1(s1(y))) ->
     minus{2,#}(s1(x),s1(y)) -> p{1,#}(s1(y))
     app#(div1(x4),x5) -> div{2,#}(x4,x5) ->
     div{2,#}(s1(x),s1(y)) -> div{2,#}(minus2(x,id1(y)),s1(y))
     app#(div1(x4),x5) -> div{2,#}(x4,x5) ->
     div{2,#}(s1(x),s1(y)) -> minus{2,#}(x,id1(y))
     app#(div1(x4),x5) -> div{2,#}(x4,x5) ->
     div{2,#}(s1(x),s1(y)) -> id{1,#}(y)
     app#(minus1(x4),x5) -> minus{2,#}(x4,x5) ->
     minus{2,#}(s1(x),s1(y)) -> minus{2,#}(p1(s1(x)),p1(s1(y)))
     app#(minus1(x4),x5) -> minus{2,#}(x4,x5) ->
     minus{2,#}(s1(x),s1(y)) -> p{1,#}(s1(x))
     app#(minus1(x4),x5) -> minus{2,#}(x4,x5) ->
     minus{2,#}(s1(x),s1(y)) -> p{1,#}(s1(y))
     app#(map1(x4),x5) -> map{2,#}(x4,x5) ->
     map{2,#}(f,cons2(x,xs)) -> app#(f,x)
     app#(map1(x4),x5) -> map{2,#}(x4,x5) ->
     map{2,#}(f,cons2(x,xs)) -> map{2,#}(f,xs)
     app#(id(),x5) -> id{1,#}(x5) ->
     id{1,#}(p1(x)) -> id{1,#}(s1(id1(x)))
     app#(id(),x5) -> id{1,#}(x5) ->
     id{1,#}(p1(x)) -> id{1,#}(x)
     map{2,#}(f,cons2(x,xs)) -> app#(f,x) ->
     app#(id(),x5) -> id{1,#}(x5)
     map{2,#}(f,cons2(x,xs)) -> app#(f,x) ->
     app#(div1(x4),x5) -> div{2,#}(x4,x5)
     map{2,#}(f,cons2(x,xs)) -> app#(f,x) ->
     app#(p(),x5) -> p{1,#}(x5)
     map{2,#}(f,cons2(x,xs)) -> app#(f,x) ->
     app#(minus1(x4),x5) -> minus{2,#}(x4,x5)
     map{2,#}(f,cons2(x,xs)) -> app#(f,x) ->
     app#(map1(x4),x5) -> map{2,#}(x4,x5)
     map{2,#}(f,cons2(x,xs)) -> map{2,#}(f,xs) ->
     map{2,#}(f,cons2(x,xs)) -> app#(f,x)
     map{2,#}(f,cons2(x,xs)) -> map{2,#}(f,xs) -> map{2,#}(f,cons2(x,xs)) -> map{2,#}(f,xs)
    SCC Processor:
     #sccs: 4
     #rules: 7
     #arcs: 32/225
     DPs:
      app#(map1(x4),x5) -> map{2,#}(x4,x5)
      map{2,#}(f,cons2(x,xs)) -> map{2,#}(f,xs)
      map{2,#}(f,cons2(x,xs)) -> app#(f,x)
     TRS:
      map2(f,nil()) -> nil()
      map2(f,cons2(x,xs)) -> cons2(app(f,x),map2(f,xs))
      minus2(x,0()) -> x
      minus2(s1(x),s1(y)) -> minus2(p1(s1(x)),p1(s1(y)))
      p1(s1(x)) -> x
      div2(0(),s1(y)) -> 0()
      div2(s1(x),s1(y)) -> s1(div2(minus2(x,id1(y)),s1(y)))
      id1(x) -> x
      id1(x) -> s1(s1(s1(x)))
      id1(p1(x)) -> id1(s1(id1(x)))
      app(map1(x4),x5) -> map2(x4,x5)
      app(map(),x5) -> map1(x5)
      app(cons1(x4),x5) -> cons2(x4,x5)
      app(cons(),x5) -> cons1(x5)
      app(minus1(x4),x5) -> minus2(x4,x5)
      app(minus(),x5) -> minus1(x5)
      app(s(),x5) -> s1(x5)
      app(p(),x5) -> p1(x5)
      app(div1(x4),x5) -> div2(x4,x5)
      app(div(),x5) -> div1(x5)
      app(id(),x5) -> id1(x5)
     Subterm Criterion Processor:
      simple projection:
       pi(map{2,#}) = 1
       pi(app#) = 1
      problem:
       DPs:
        app#(map1(x4),x5) -> map{2,#}(x4,x5)
       TRS:
        map2(f,nil()) -> nil()
        map2(f,cons2(x,xs)) -> cons2(app(f,x),map2(f,xs))
        minus2(x,0()) -> x
        minus2(s1(x),s1(y)) -> minus2(p1(s1(x)),p1(s1(y)))
        p1(s1(x)) -> x
        div2(0(),s1(y)) -> 0()
        div2(s1(x),s1(y)) -> s1(div2(minus2(x,id1(y)),s1(y)))
        id1(x) -> x
        id1(x) -> s1(s1(s1(x)))
        id1(p1(x)) -> id1(s1(id1(x)))
        app(map1(x4),x5) -> map2(x4,x5)
        app(map(),x5) -> map1(x5)
        app(cons1(x4),x5) -> cons2(x4,x5)
        app(cons(),x5) -> cons1(x5)
        app(minus1(x4),x5) -> minus2(x4,x5)
        app(minus(),x5) -> minus1(x5)
        app(s(),x5) -> s1(x5)
        app(p(),x5) -> p1(x5)
        app(div1(x4),x5) -> div2(x4,x5)
        app(div(),x5) -> div1(x5)
        app(id(),x5) -> id1(x5)
      SCC Processor:
       #sccs: 0
       #rules: 0
       #arcs: 5/1
       
     
     DPs:
      div{2,#}(s1(x),s1(y)) -> div{2,#}(minus2(x,id1(y)),s1(y))
     TRS:
      map2(f,nil()) -> nil()
      map2(f,cons2(x,xs)) -> cons2(app(f,x),map2(f,xs))
      minus2(x,0()) -> x
      minus2(s1(x),s1(y)) -> minus2(p1(s1(x)),p1(s1(y)))
      p1(s1(x)) -> x
      div2(0(),s1(y)) -> 0()
      div2(s1(x),s1(y)) -> s1(div2(minus2(x,id1(y)),s1(y)))
      id1(x) -> x
      id1(x) -> s1(s1(s1(x)))
      id1(p1(x)) -> id1(s1(id1(x)))
      app(map1(x4),x5) -> map2(x4,x5)
      app(map(),x5) -> map1(x5)
      app(cons1(x4),x5) -> cons2(x4,x5)
      app(cons(),x5) -> cons1(x5)
      app(minus1(x4),x5) -> minus2(x4,x5)
      app(minus(),x5) -> minus1(x5)
      app(s(),x5) -> s1(x5)
      app(p(),x5) -> p1(x5)
      app(div1(x4),x5) -> div2(x4,x5)
      app(div(),x5) -> div1(x5)
      app(id(),x5) -> id1(x5)
     Usable Rule Processor:
      DPs:
       div{2,#}(s1(x),s1(y)) -> div{2,#}(minus2(x,id1(y)),s1(y))
      TRS:
       id1(x) -> x
       id1(x) -> s1(s1(s1(x)))
       id1(p1(x)) -> id1(s1(id1(x)))
       minus2(x,0()) -> x
       minus2(s1(x),s1(y)) -> minus2(p1(s1(x)),p1(s1(y)))
       p1(s1(x)) -> x
      KBO Processor:
       argument filtering:
        pi(0) = []
        pi(minus2) = [0]
        pi(s1) = [0]
        pi(p1) = 0
        pi(id1) = []
        pi(div{2,#}) = 0
       usable rules:
        minus2(x,0()) -> x
        minus2(s1(x),s1(y)) -> minus2(p1(s1(x)),p1(s1(y)))
        p1(s1(x)) -> x
       weight function:
        w0 = 1
        w(div{2,#}) = w(id1) = w(p1) = w(s1) = w(0) = 1
        w(minus2) = 0
       precedence:
        div{2,#} ~ id1 ~ p1 ~ s1 ~ minus2 ~ 0
       problem:
        DPs:
         
        TRS:
         id1(x) -> x
         id1(x) -> s1(s1(s1(x)))
         id1(p1(x)) -> id1(s1(id1(x)))
         minus2(x,0()) -> x
         minus2(s1(x),s1(y)) -> minus2(p1(s1(x)),p1(s1(y)))
         p1(s1(x)) -> x
       Qed
     
     DPs:
      minus{2,#}(s1(x),s1(y)) -> minus{2,#}(p1(s1(x)),p1(s1(y)))
     TRS:
      map2(f,nil()) -> nil()
      map2(f,cons2(x,xs)) -> cons2(app(f,x),map2(f,xs))
      minus2(x,0()) -> x
      minus2(s1(x),s1(y)) -> minus2(p1(s1(x)),p1(s1(y)))
      p1(s1(x)) -> x
      div2(0(),s1(y)) -> 0()
      div2(s1(x),s1(y)) -> s1(div2(minus2(x,id1(y)),s1(y)))
      id1(x) -> x
      id1(x) -> s1(s1(s1(x)))
      id1(p1(x)) -> id1(s1(id1(x)))
      app(map1(x4),x5) -> map2(x4,x5)
      app(map(),x5) -> map1(x5)
      app(cons1(x4),x5) -> cons2(x4,x5)
      app(cons(),x5) -> cons1(x5)
      app(minus1(x4),x5) -> minus2(x4,x5)
      app(minus(),x5) -> minus1(x5)
      app(s(),x5) -> s1(x5)
      app(p(),x5) -> p1(x5)
      app(div1(x4),x5) -> div2(x4,x5)
      app(div(),x5) -> div1(x5)
      app(id(),x5) -> id1(x5)
     Usable Rule Processor:
      DPs:
       minus{2,#}(s1(x),s1(y)) -> minus{2,#}(p1(s1(x)),p1(s1(y)))
      TRS:
       p1(s1(x)) -> x
      Semantic Labeling Processor:
       dimension: 2
       usable rules:
        
       interpretation:
                   [0 1]  
        [p1](x0) = [0 1]x0,
        
                   [1 1]     [1]
        [s1](x0) = [1 1]x0 + [0]
        labeled:
         minus{2,#}
         s1
        usable (for model):
         minus{2,#}
         s1
         p1
        argument filtering:
         pi(s1) = 0
         pi(p1) = 0
         pi(minus{2,#}) = []
       precedence:
        minus{2,#} ~ p1 ~ s1
       problem:
        DPs:
         
        TRS:
         p1(s1(x)) -> x
       Qed
     
     DPs:
      id{1,#}(p1(x)) -> id{1,#}(s1(id1(x)))
      id{1,#}(p1(x)) -> id{1,#}(x)
     TRS:
      map2(f,nil()) -> nil()
      map2(f,cons2(x,xs)) -> cons2(app(f,x),map2(f,xs))
      minus2(x,0()) -> x
      minus2(s1(x),s1(y)) -> minus2(p1(s1(x)),p1(s1(y)))
      p1(s1(x)) -> x
      div2(0(),s1(y)) -> 0()
      div2(s1(x),s1(y)) -> s1(div2(minus2(x,id1(y)),s1(y)))
      id1(x) -> x
      id1(x) -> s1(s1(s1(x)))
      id1(p1(x)) -> id1(s1(id1(x)))
      app(map1(x4),x5) -> map2(x4,x5)
      app(map(),x5) -> map1(x5)
      app(cons1(x4),x5) -> cons2(x4,x5)
      app(cons(),x5) -> cons1(x5)
      app(minus1(x4),x5) -> minus2(x4,x5)
      app(minus(),x5) -> minus1(x5)
      app(s(),x5) -> s1(x5)
      app(p(),x5) -> p1(x5)
      app(div1(x4),x5) -> div2(x4,x5)
      app(div(),x5) -> div1(x5)
      app(id(),x5) -> id1(x5)
     EDG Processor:
      DPs:
       id{1,#}(p1(x)) -> id{1,#}(s1(id1(x)))
       id{1,#}(p1(x)) -> id{1,#}(x)
      TRS:
       map2(f,nil()) -> nil()
       map2(f,cons2(x,xs)) -> cons2(app(f,x),map2(f,xs))
       minus2(x,0()) -> x
       minus2(s1(x),s1(y)) -> minus2(p1(s1(x)),p1(s1(y)))
       p1(s1(x)) -> x
       div2(0(),s1(y)) -> 0()
       div2(s1(x),s1(y)) -> s1(div2(minus2(x,id1(y)),s1(y)))
       id1(x) -> x
       id1(x) -> s1(s1(s1(x)))
       id1(p1(x)) -> id1(s1(id1(x)))
       app(map1(x4),x5) -> map2(x4,x5)
       app(map(),x5) -> map1(x5)
       app(cons1(x4),x5) -> cons2(x4,x5)
       app(cons(),x5) -> cons1(x5)
       app(minus1(x4),x5) -> minus2(x4,x5)
       app(minus(),x5) -> minus1(x5)
       app(s(),x5) -> s1(x5)
       app(p(),x5) -> p1(x5)
       app(div1(x4),x5) -> div2(x4,x5)
       app(div(),x5) -> div1(x5)
       app(id(),x5) -> id1(x5)
      graph:
       id{1,#}(p1(x)) -> id{1,#}(x) -> id{1,#}(p1(x)) -> id{1,#}(x)
       id{1,#}(p1(x)) -> id{1,#}(x) -> id{1,#}(p1(x)) -> id{1,#}(s1(id1(x)))
      SCC Processor:
       #sccs: 1
       #rules: 1
       #arcs: 2/4
       DPs:
        id{1,#}(p1(x)) -> id{1,#}(x)
       TRS:
        map2(f,nil()) -> nil()
        map2(f,cons2(x,xs)) -> cons2(app(f,x),map2(f,xs))
        minus2(x,0()) -> x
        minus2(s1(x),s1(y)) -> minus2(p1(s1(x)),p1(s1(y)))
        p1(s1(x)) -> x
        div2(0(),s1(y)) -> 0()
        div2(s1(x),s1(y)) -> s1(div2(minus2(x,id1(y)),s1(y)))
        id1(x) -> x
        id1(x) -> s1(s1(s1(x)))
        id1(p1(x)) -> id1(s1(id1(x)))
        app(map1(x4),x5) -> map2(x4,x5)
        app(map(),x5) -> map1(x5)
        app(cons1(x4),x5) -> cons2(x4,x5)
        app(cons(),x5) -> cons1(x5)
        app(minus1(x4),x5) -> minus2(x4,x5)
        app(minus(),x5) -> minus1(x5)
        app(s(),x5) -> s1(x5)
        app(p(),x5) -> p1(x5)
        app(div1(x4),x5) -> div2(x4,x5)
        app(div(),x5) -> div1(x5)
        app(id(),x5) -> id1(x5)
       Subterm Criterion Processor:
        simple projection:
         pi(id{1,#}) = 0
        problem:
         DPs:
          
         TRS:
          map2(f,nil()) -> nil()
          map2(f,cons2(x,xs)) -> cons2(app(f,x),map2(f,xs))
          minus2(x,0()) -> x
          minus2(s1(x),s1(y)) -> minus2(p1(s1(x)),p1(s1(y)))
          p1(s1(x)) -> x
          div2(0(),s1(y)) -> 0()
          div2(s1(x),s1(y)) -> s1(div2(minus2(x,id1(y)),s1(y)))
          id1(x) -> x
          id1(x) -> s1(s1(s1(x)))
          id1(p1(x)) -> id1(s1(id1(x)))
          app(map1(x4),x5) -> map2(x4,x5)
          app(map(),x5) -> map1(x5)
          app(cons1(x4),x5) -> cons2(x4,x5)
          app(cons(),x5) -> cons1(x5)
          app(minus1(x4),x5) -> minus2(x4,x5)
          app(minus(),x5) -> minus1(x5)
          app(s(),x5) -> s1(x5)
          app(p(),x5) -> p1(x5)
          app(div1(x4),x5) -> div2(x4,x5)
          app(div(),x5) -> div1(x5)
          app(id(),x5) -> id1(x5)
        Qed