MAYBE
TRS:
 {  plus(x, 0()) -> x,
   plus(x, s(y)) -> s(plus(x, y)),
   times(x, 0()) -> 0(),
   times(0(), y) -> 0(),
  times(s(x), y) -> plus(times(x, y), y),
       p(s(0())) -> 0(),
      p(s(s(x))) -> s(p(s(x))),
       fac(s(x)) -> times(fac(p(s(x))), s(x))}
 DP:
  Strict:
   { plus#(x, s(y)) -> plus#(x, y),
    times#(s(x), y) -> plus#(times(x, y), y),
    times#(s(x), y) -> times#(x, y),
        p#(s(s(x))) -> p#(s(x)),
         fac#(s(x)) -> times#(fac(p(s(x))), s(x)),
         fac#(s(x)) -> p#(s(x)),
         fac#(s(x)) -> fac#(p(s(x)))}
  Weak:
  {  plus(x, 0()) -> x,
    plus(x, s(y)) -> s(plus(x, y)),
    times(x, 0()) -> 0(),
    times(0(), y) -> 0(),
   times(s(x), y) -> plus(times(x, y), y),
        p(s(0())) -> 0(),
       p(s(s(x))) -> s(p(s(x))),
        fac(s(x)) -> times(fac(p(s(x))), s(x))}
  EDG:
   {(plus#(x, s(y)) -> plus#(x, y), plus#(x, s(y)) -> plus#(x, y))
    (fac#(s(x)) -> times#(fac(p(s(x))), s(x)), times#(s(x), y) -> times#(x, y))
    (fac#(s(x)) -> times#(fac(p(s(x))), s(x)), times#(s(x), y) -> plus#(times(x, y), y))
    (fac#(s(x)) -> p#(s(x)), p#(s(s(x))) -> p#(s(x)))
    (times#(s(x), y) -> plus#(times(x, y), y), plus#(x, s(y)) -> plus#(x, y))
    (p#(s(s(x))) -> p#(s(x)), p#(s(s(x))) -> p#(s(x)))
    (times#(s(x), y) -> times#(x, y), times#(s(x), y) -> plus#(times(x, y), y))
    (times#(s(x), y) -> times#(x, y), times#(s(x), y) -> times#(x, y))
    (fac#(s(x)) -> fac#(p(s(x))), fac#(s(x)) -> times#(fac(p(s(x))), s(x)))
    (fac#(s(x)) -> fac#(p(s(x))), fac#(s(x)) -> p#(s(x)))
    (fac#(s(x)) -> fac#(p(s(x))), fac#(s(x)) -> fac#(p(s(x))))}
   SCCS:
    Scc:
     {fac#(s(x)) -> fac#(p(s(x)))}
    Scc:
     {p#(s(s(x))) -> p#(s(x))}
    Scc:
     {times#(s(x), y) -> times#(x, y)}
    Scc:
     {plus#(x, s(y)) -> plus#(x, y)}
    SCC:
     Strict:
      {fac#(s(x)) -> fac#(p(s(x)))}
     Weak:
     {  plus(x, 0()) -> x,
       plus(x, s(y)) -> s(plus(x, y)),
       times(x, 0()) -> 0(),
       times(0(), y) -> 0(),
      times(s(x), y) -> plus(times(x, y), y),
           p(s(0())) -> 0(),
          p(s(s(x))) -> s(p(s(x))),
           fac(s(x)) -> times(fac(p(s(x))), s(x))}
     Fail
    SCC:
     Strict:
      {p#(s(s(x))) -> p#(s(x))}
     Weak:
     {  plus(x, 0()) -> x,
       plus(x, s(y)) -> s(plus(x, y)),
       times(x, 0()) -> 0(),
       times(0(), y) -> 0(),
      times(s(x), y) -> plus(times(x, y), y),
           p(s(0())) -> 0(),
          p(s(s(x))) -> s(p(s(x))),
           fac(s(x)) -> times(fac(p(s(x))), s(x))}
     SPSC:
      Simple Projection:
       pi(p#) = 0
      Strict:
       {}
      Qed
    SCC:
     Strict:
      {times#(s(x), y) -> times#(x, y)}
     Weak:
     {  plus(x, 0()) -> x,
       plus(x, s(y)) -> s(plus(x, y)),
       times(x, 0()) -> 0(),
       times(0(), y) -> 0(),
      times(s(x), y) -> plus(times(x, y), y),
           p(s(0())) -> 0(),
          p(s(s(x))) -> s(p(s(x))),
           fac(s(x)) -> times(fac(p(s(x))), s(x))}
     SPSC:
      Simple Projection:
       pi(times#) = 0
      Strict:
       {}
      Qed
    SCC:
     Strict:
      {plus#(x, s(y)) -> plus#(x, y)}
     Weak:
     {  plus(x, 0()) -> x,
       plus(x, s(y)) -> s(plus(x, y)),
       times(x, 0()) -> 0(),
       times(0(), y) -> 0(),
      times(s(x), y) -> plus(times(x, y), y),
           p(s(0())) -> 0(),
          p(s(s(x))) -> s(p(s(x))),
           fac(s(x)) -> times(fac(p(s(x))), s(x))}
     SPSC:
      Simple Projection:
       pi(plus#) = 1
      Strict:
       {}
      Qed