MAYBE

Problem:
 lt(0(),s(x)) -> true()
 lt(x,0()) -> false()
 lt(s(x),s(y)) -> lt(x,y)
 fac(x) -> help(x,0())
 help(x,c) -> if(lt(c,x),x,c)
 if(true(),x,c) -> times(s(c),help(x,s(c)))
 if(false(),x,c) -> s(0())

Proof:
 DP Processor:
  DPs:
   lt#(s(x),s(y)) -> lt#(x,y)
   fac#(x) -> help#(x,0())
   help#(x,c) -> lt#(c,x)
   help#(x,c) -> if#(lt(c,x),x,c)
   if#(true(),x,c) -> help#(x,s(c))
  TRS:
   lt(0(),s(x)) -> true()
   lt(x,0()) -> false()
   lt(s(x),s(y)) -> lt(x,y)
   fac(x) -> help(x,0())
   help(x,c) -> if(lt(c,x),x,c)
   if(true(),x,c) -> times(s(c),help(x,s(c)))
   if(false(),x,c) -> s(0())
  TDG Processor:
   DPs:
    lt#(s(x),s(y)) -> lt#(x,y)
    fac#(x) -> help#(x,0())
    help#(x,c) -> lt#(c,x)
    help#(x,c) -> if#(lt(c,x),x,c)
    if#(true(),x,c) -> help#(x,s(c))
   TRS:
    lt(0(),s(x)) -> true()
    lt(x,0()) -> false()
    lt(s(x),s(y)) -> lt(x,y)
    fac(x) -> help(x,0())
    help(x,c) -> if(lt(c,x),x,c)
    if(true(),x,c) -> times(s(c),help(x,s(c)))
    if(false(),x,c) -> s(0())
   graph:
    if#(true(),x,c) -> help#(x,s(c)) ->
    help#(x,c) -> if#(lt(c,x),x,c)
    if#(true(),x,c) -> help#(x,s(c)) -> help#(x,c) -> lt#(c,x)
    help#(x,c) -> if#(lt(c,x),x,c) -> if#(true(),x,c) -> help#(x,s(c))
    help#(x,c) -> lt#(c,x) -> lt#(s(x),s(y)) -> lt#(x,y)
    fac#(x) -> help#(x,0()) -> help#(x,c) -> if#(lt(c,x),x,c)
    fac#(x) -> help#(x,0()) -> help#(x,c) -> lt#(c,x)
    lt#(s(x),s(y)) -> lt#(x,y) -> lt#(s(x),s(y)) -> lt#(x,y)
   SCC Processor:
    #sccs: 2
    #rules: 3
    #arcs: 7/25
    DPs:
     if#(true(),x,c) -> help#(x,s(c))
     help#(x,c) -> if#(lt(c,x),x,c)
    TRS:
     lt(0(),s(x)) -> true()
     lt(x,0()) -> false()
     lt(s(x),s(y)) -> lt(x,y)
     fac(x) -> help(x,0())
     help(x,c) -> if(lt(c,x),x,c)
     if(true(),x,c) -> times(s(c),help(x,s(c)))
     if(false(),x,c) -> s(0())
    Open
    
    DPs:
     lt#(s(x),s(y)) -> lt#(x,y)
    TRS:
     lt(0(),s(x)) -> true()
     lt(x,0()) -> false()
     lt(s(x),s(y)) -> lt(x,y)
     fac(x) -> help(x,0())
     help(x,c) -> if(lt(c,x),x,c)
     if(true(),x,c) -> times(s(c),help(x,s(c)))
     if(false(),x,c) -> s(0())
    Arctic Interpretation Processor:
     dimension: 1
     interpretation:
      [lt#](x0, x1) = 1x0 + x1,
      
      [times](x0, x1) = 0,
      
      [if](x0, x1, x2) = 6x1 + 2x2 + 6,
      
      [help](x0, x1) = 7x0 + 3x1 + 7,
      
      [fac](x0) = 8x0 + 8,
      
      [false] = 2,
      
      [true] = 1,
      
      [lt](x0, x1) = x0 + x1,
      
      [s](x0) = 1x0,
      
      [0] = 4
     orientation:
      lt#(s(x),s(y)) = 2x + 1y >= 1x + y = lt#(x,y)
      
      lt(0(),s(x)) = 1x + 4 >= 1 = true()
      
      lt(x,0()) = x + 4 >= 2 = false()
      
      lt(s(x),s(y)) = 1x + 1y >= x + y = lt(x,y)
      
      fac(x) = 8x + 8 >= 7x + 7 = help(x,0())
      
      help(x,c) = 3c + 7x + 7 >= 2c + 6x + 6 = if(lt(c,x),x,c)
      
      if(true(),x,c) = 2c + 6x + 6 >= 0 = times(s(c),help(x,s(c)))
      
      if(false(),x,c) = 2c + 6x + 6 >= 5 = s(0())
     problem:
      DPs:
       
      TRS:
       lt(0(),s(x)) -> true()
       lt(x,0()) -> false()
       lt(s(x),s(y)) -> lt(x,y)
       fac(x) -> help(x,0())
       help(x,c) -> if(lt(c,x),x,c)
       if(true(),x,c) -> times(s(c),help(x,s(c)))
       if(false(),x,c) -> s(0())
     Qed