MAYBE

Problem:
 table() -> gen(s(0()))
 gen(x) -> if1(le(x,10()),x)
 if1(false(),x) -> nil()
 if1(true(),x) -> if2(x,x)
 if2(x,y) -> if3(le(y,10()),x,y)
 if3(true(),x,y) -> cons(entry(x,y,times(x,y)),if2(x,s(y)))
 if3(false(),x,y) -> gen(s(x))
 le(0(),y) -> true()
 le(s(x),0()) -> false()
 le(s(x),s(y)) -> le(x,y)
 plus(0(),y) -> y
 plus(s(x),y) -> s(plus(x,y))
 times(0(),y) -> 0()
 times(s(x),y) -> plus(y,times(x,y))
 10() -> s(s(s(s(s(s(s(s(s(s(0()))))))))))

Proof:
 DP Processor:
  DPs:
   table#() -> gen#(s(0()))
   gen#(x) -> 10#()
   gen#(x) -> le#(x,10())
   gen#(x) -> if1#(le(x,10()),x)
   if1#(true(),x) -> if2#(x,x)
   if2#(x,y) -> 10#()
   if2#(x,y) -> le#(y,10())
   if2#(x,y) -> if3#(le(y,10()),x,y)
   if3#(true(),x,y) -> if2#(x,s(y))
   if3#(true(),x,y) -> times#(x,y)
   if3#(false(),x,y) -> gen#(s(x))
   le#(s(x),s(y)) -> le#(x,y)
   plus#(s(x),y) -> plus#(x,y)
   times#(s(x),y) -> times#(x,y)
   times#(s(x),y) -> plus#(y,times(x,y))
  TRS:
   table() -> gen(s(0()))
   gen(x) -> if1(le(x,10()),x)
   if1(false(),x) -> nil()
   if1(true(),x) -> if2(x,x)
   if2(x,y) -> if3(le(y,10()),x,y)
   if3(true(),x,y) -> cons(entry(x,y,times(x,y)),if2(x,s(y)))
   if3(false(),x,y) -> gen(s(x))
   le(0(),y) -> true()
   le(s(x),0()) -> false()
   le(s(x),s(y)) -> le(x,y)
   plus(0(),y) -> y
   plus(s(x),y) -> s(plus(x,y))
   times(0(),y) -> 0()
   times(s(x),y) -> plus(y,times(x,y))
   10() -> s(s(s(s(s(s(s(s(s(s(0()))))))))))
  TDG Processor:
   DPs:
    table#() -> gen#(s(0()))
    gen#(x) -> 10#()
    gen#(x) -> le#(x,10())
    gen#(x) -> if1#(le(x,10()),x)
    if1#(true(),x) -> if2#(x,x)
    if2#(x,y) -> 10#()
    if2#(x,y) -> le#(y,10())
    if2#(x,y) -> if3#(le(y,10()),x,y)
    if3#(true(),x,y) -> if2#(x,s(y))
    if3#(true(),x,y) -> times#(x,y)
    if3#(false(),x,y) -> gen#(s(x))
    le#(s(x),s(y)) -> le#(x,y)
    plus#(s(x),y) -> plus#(x,y)
    times#(s(x),y) -> times#(x,y)
    times#(s(x),y) -> plus#(y,times(x,y))
   TRS:
    table() -> gen(s(0()))
    gen(x) -> if1(le(x,10()),x)
    if1(false(),x) -> nil()
    if1(true(),x) -> if2(x,x)
    if2(x,y) -> if3(le(y,10()),x,y)
    if3(true(),x,y) -> cons(entry(x,y,times(x,y)),if2(x,s(y)))
    if3(false(),x,y) -> gen(s(x))
    le(0(),y) -> true()
    le(s(x),0()) -> false()
    le(s(x),s(y)) -> le(x,y)
    plus(0(),y) -> y
    plus(s(x),y) -> s(plus(x,y))
    times(0(),y) -> 0()
    times(s(x),y) -> plus(y,times(x,y))
    10() -> s(s(s(s(s(s(s(s(s(s(0()))))))))))
   graph:
    plus#(s(x),y) -> plus#(x,y) -> plus#(s(x),y) -> plus#(x,y)
    times#(s(x),y) -> plus#(y,times(x,y)) ->
    plus#(s(x),y) -> plus#(x,y)
    times#(s(x),y) -> times#(x,y) ->
    times#(s(x),y) -> plus#(y,times(x,y))
    times#(s(x),y) -> times#(x,y) -> times#(s(x),y) -> times#(x,y)
    if3#(true(),x,y) -> times#(x,y) ->
    times#(s(x),y) -> plus#(y,times(x,y))
    if3#(true(),x,y) -> times#(x,y) ->
    times#(s(x),y) -> times#(x,y)
    if3#(true(),x,y) -> if2#(x,s(y)) ->
    if2#(x,y) -> if3#(le(y,10()),x,y)
    if3#(true(),x,y) -> if2#(x,s(y)) -> if2#(x,y) -> le#(y,10())
    if3#(true(),x,y) -> if2#(x,s(y)) -> if2#(x,y) -> 10#()
    if3#(false(),x,y) -> gen#(s(x)) -> gen#(x) -> if1#(le(x,10()),x)
    if3#(false(),x,y) -> gen#(s(x)) -> gen#(x) -> le#(x,10())
    if3#(false(),x,y) -> gen#(s(x)) -> gen#(x) -> 10#()
    if2#(x,y) -> if3#(le(y,10()),x,y) ->
    if3#(false(),x,y) -> gen#(s(x))
    if2#(x,y) -> if3#(le(y,10()),x,y) ->
    if3#(true(),x,y) -> times#(x,y)
    if2#(x,y) -> if3#(le(y,10()),x,y) -> if3#(true(),x,y) -> if2#(x,s(y))
    if2#(x,y) -> le#(y,10()) -> le#(s(x),s(y)) -> le#(x,y)
    if1#(true(),x) -> if2#(x,x) -> if2#(x,y) -> if3#(le(y,10()),x,y)
    if1#(true(),x) -> if2#(x,x) -> if2#(x,y) -> le#(y,10())
    if1#(true(),x) -> if2#(x,x) -> if2#(x,y) -> 10#()
    le#(s(x),s(y)) -> le#(x,y) -> le#(s(x),s(y)) -> le#(x,y)
    gen#(x) -> if1#(le(x,10()),x) -> if1#(true(),x) -> if2#(x,x)
    gen#(x) -> le#(x,10()) -> le#(s(x),s(y)) -> le#(x,y)
    table#() -> gen#(s(0())) -> gen#(x) -> if1#(le(x,10()),x)
    table#() -> gen#(s(0())) -> gen#(x) -> le#(x,10())
    table#() -> gen#(s(0())) -> gen#(x) -> 10#()
   SCC Processor:
    #sccs: 4
    #rules: 8
    #arcs: 25/225
    DPs:
     if3#(true(),x,y) -> if2#(x,s(y))
     if2#(x,y) -> if3#(le(y,10()),x,y)
     if3#(false(),x,y) -> gen#(s(x))
     gen#(x) -> if1#(le(x,10()),x)
     if1#(true(),x) -> if2#(x,x)
    TRS:
     table() -> gen(s(0()))
     gen(x) -> if1(le(x,10()),x)
     if1(false(),x) -> nil()
     if1(true(),x) -> if2(x,x)
     if2(x,y) -> if3(le(y,10()),x,y)
     if3(true(),x,y) -> cons(entry(x,y,times(x,y)),if2(x,s(y)))
     if3(false(),x,y) -> gen(s(x))
     le(0(),y) -> true()
     le(s(x),0()) -> false()
     le(s(x),s(y)) -> le(x,y)
     plus(0(),y) -> y
     plus(s(x),y) -> s(plus(x,y))
     times(0(),y) -> 0()
     times(s(x),y) -> plus(y,times(x,y))
     10() -> s(s(s(s(s(s(s(s(s(s(0()))))))))))
    Open
    
    DPs:
     le#(s(x),s(y)) -> le#(x,y)
    TRS:
     table() -> gen(s(0()))
     gen(x) -> if1(le(x,10()),x)
     if1(false(),x) -> nil()
     if1(true(),x) -> if2(x,x)
     if2(x,y) -> if3(le(y,10()),x,y)
     if3(true(),x,y) -> cons(entry(x,y,times(x,y)),if2(x,s(y)))
     if3(false(),x,y) -> gen(s(x))
     le(0(),y) -> true()
     le(s(x),0()) -> false()
     le(s(x),s(y)) -> le(x,y)
     plus(0(),y) -> y
     plus(s(x),y) -> s(plus(x,y))
     times(0(),y) -> 0()
     times(s(x),y) -> plus(y,times(x,y))
     10() -> s(s(s(s(s(s(s(s(s(s(0()))))))))))
    Subterm Criterion Processor:
     simple projection:
      pi(le#) = 1
     problem:
      DPs:
       
      TRS:
       table() -> gen(s(0()))
       gen(x) -> if1(le(x,10()),x)
       if1(false(),x) -> nil()
       if1(true(),x) -> if2(x,x)
       if2(x,y) -> if3(le(y,10()),x,y)
       if3(true(),x,y) -> cons(entry(x,y,times(x,y)),if2(x,s(y)))
       if3(false(),x,y) -> gen(s(x))
       le(0(),y) -> true()
       le(s(x),0()) -> false()
       le(s(x),s(y)) -> le(x,y)
       plus(0(),y) -> y
       plus(s(x),y) -> s(plus(x,y))
       times(0(),y) -> 0()
       times(s(x),y) -> plus(y,times(x,y))
       10() -> s(s(s(s(s(s(s(s(s(s(0()))))))))))
     Qed
    
    DPs:
     times#(s(x),y) -> times#(x,y)
    TRS:
     table() -> gen(s(0()))
     gen(x) -> if1(le(x,10()),x)
     if1(false(),x) -> nil()
     if1(true(),x) -> if2(x,x)
     if2(x,y) -> if3(le(y,10()),x,y)
     if3(true(),x,y) -> cons(entry(x,y,times(x,y)),if2(x,s(y)))
     if3(false(),x,y) -> gen(s(x))
     le(0(),y) -> true()
     le(s(x),0()) -> false()
     le(s(x),s(y)) -> le(x,y)
     plus(0(),y) -> y
     plus(s(x),y) -> s(plus(x,y))
     times(0(),y) -> 0()
     times(s(x),y) -> plus(y,times(x,y))
     10() -> s(s(s(s(s(s(s(s(s(s(0()))))))))))
    Subterm Criterion Processor:
     simple projection:
      pi(times#) = 0
     problem:
      DPs:
       
      TRS:
       table() -> gen(s(0()))
       gen(x) -> if1(le(x,10()),x)
       if1(false(),x) -> nil()
       if1(true(),x) -> if2(x,x)
       if2(x,y) -> if3(le(y,10()),x,y)
       if3(true(),x,y) -> cons(entry(x,y,times(x,y)),if2(x,s(y)))
       if3(false(),x,y) -> gen(s(x))
       le(0(),y) -> true()
       le(s(x),0()) -> false()
       le(s(x),s(y)) -> le(x,y)
       plus(0(),y) -> y
       plus(s(x),y) -> s(plus(x,y))
       times(0(),y) -> 0()
       times(s(x),y) -> plus(y,times(x,y))
       10() -> s(s(s(s(s(s(s(s(s(s(0()))))))))))
     Qed
    
    DPs:
     plus#(s(x),y) -> plus#(x,y)
    TRS:
     table() -> gen(s(0()))
     gen(x) -> if1(le(x,10()),x)
     if1(false(),x) -> nil()
     if1(true(),x) -> if2(x,x)
     if2(x,y) -> if3(le(y,10()),x,y)
     if3(true(),x,y) -> cons(entry(x,y,times(x,y)),if2(x,s(y)))
     if3(false(),x,y) -> gen(s(x))
     le(0(),y) -> true()
     le(s(x),0()) -> false()
     le(s(x),s(y)) -> le(x,y)
     plus(0(),y) -> y
     plus(s(x),y) -> s(plus(x,y))
     times(0(),y) -> 0()
     times(s(x),y) -> plus(y,times(x,y))
     10() -> s(s(s(s(s(s(s(s(s(s(0()))))))))))
    Subterm Criterion Processor:
     simple projection:
      pi(plus#) = 0
     problem:
      DPs:
       
      TRS:
       table() -> gen(s(0()))
       gen(x) -> if1(le(x,10()),x)
       if1(false(),x) -> nil()
       if1(true(),x) -> if2(x,x)
       if2(x,y) -> if3(le(y,10()),x,y)
       if3(true(),x,y) -> cons(entry(x,y,times(x,y)),if2(x,s(y)))
       if3(false(),x,y) -> gen(s(x))
       le(0(),y) -> true()
       le(s(x),0()) -> false()
       le(s(x),s(y)) -> le(x,y)
       plus(0(),y) -> y
       plus(s(x),y) -> s(plus(x,y))
       times(0(),y) -> 0()
       times(s(x),y) -> plus(y,times(x,y))
       10() -> s(s(s(s(s(s(s(s(s(s(0()))))))))))
     Qed