MAYBE

We are left with following problem, upon which TcT provides the
certificate MAYBE.

Strict Trs:
  { active(p(X)) -> p(active(X))
  , active(p(0())) -> mark(0())
  , active(p(s(X))) -> mark(X)
  , active(s(X)) -> s(active(X))
  , active(leq(X1, X2)) -> leq(X1, active(X2))
  , active(leq(X1, X2)) -> leq(active(X1), X2)
  , active(leq(0(), Y)) -> mark(true())
  , active(leq(s(X), 0())) -> mark(false())
  , active(leq(s(X), s(Y))) -> mark(leq(X, Y))
  , active(if(X1, X2, X3)) -> if(active(X1), X2, X3)
  , active(if(true(), X, Y)) -> mark(X)
  , active(if(false(), X, Y)) -> mark(Y)
  , active(diff(X, Y)) -> mark(if(leq(X, Y), 0(), s(diff(p(X), Y))))
  , active(diff(X1, X2)) -> diff(X1, active(X2))
  , active(diff(X1, X2)) -> diff(active(X1), X2)
  , p(mark(X)) -> mark(p(X))
  , p(ok(X)) -> ok(p(X))
  , s(mark(X)) -> mark(s(X))
  , s(ok(X)) -> ok(s(X))
  , leq(X1, mark(X2)) -> mark(leq(X1, X2))
  , leq(mark(X1), X2) -> mark(leq(X1, X2))
  , leq(ok(X1), ok(X2)) -> ok(leq(X1, X2))
  , if(mark(X1), X2, X3) -> mark(if(X1, X2, X3))
  , if(ok(X1), ok(X2), ok(X3)) -> ok(if(X1, X2, X3))
  , diff(X1, mark(X2)) -> mark(diff(X1, X2))
  , diff(mark(X1), X2) -> mark(diff(X1, X2))
  , diff(ok(X1), ok(X2)) -> ok(diff(X1, X2))
  , proper(p(X)) -> p(proper(X))
  , proper(0()) -> ok(0())
  , proper(s(X)) -> s(proper(X))
  , proper(leq(X1, X2)) -> leq(proper(X1), proper(X2))
  , proper(true()) -> ok(true())
  , proper(false()) -> ok(false())
  , proper(if(X1, X2, X3)) -> if(proper(X1), proper(X2), proper(X3))
  , proper(diff(X1, X2)) -> diff(proper(X1), proper(X2))
  , top(mark(X)) -> top(proper(X))
  , top(ok(X)) -> top(active(X)) }
Obligation:
  runtime complexity
Answer:
  MAYBE

None of the processors succeeded.

Details of failed attempt(s):
-----------------------------
1) 'WithProblem (timeout of 60 seconds)' failed due to the
   following reason:
   
   Computation stopped due to timeout after 60.0 seconds.

2) 'Best' failed due to the following reason:
   
   None of the processors succeeded.
   
   Details of failed attempt(s):
   -----------------------------
   1) 'WithProblem (timeout of 30 seconds) (timeout of 60 seconds)'
      failed due to the following reason:
      
      Computation stopped due to timeout after 30.0 seconds.
   
   2) 'Fastest (timeout of 5 seconds) (timeout of 60 seconds)' failed
      due to the following reason:
      
      None of the processors succeeded.
      
      Details of failed attempt(s):
      -----------------------------
      1) 'Bounds with minimal-enrichment and initial automaton 'match''
         failed due to the following reason:
         
         match-boundness of the problem could not be verified.
      
      2) 'Bounds with perSymbol-enrichment and initial automaton 'match''
         failed due to the following reason:
         
         match-boundness of the problem could not be verified.
      
   
   3) 'Best' failed due to the following reason:
      
      None of the processors succeeded.
      
      Details of failed attempt(s):
      -----------------------------
      1) 'Polynomial Path Order (PS) (timeout of 60 seconds)' failed due
         to the following reason:
         
         The processor is inapplicable, reason:
           Processor only applicable for innermost runtime complexity analysis
      
      2) 'bsearch-popstar (timeout of 60 seconds)' failed due to the
         following reason:
         
         The processor is inapplicable, reason:
           Processor only applicable for innermost runtime complexity analysis
      
   

3) 'Innermost Weak Dependency Pairs (timeout of 60 seconds)' failed
   due to the following reason:
   
   We add the following weak dependency pairs:
   
   Strict DPs:
     { active^#(p(X)) -> c_1(p^#(active(X)))
     , active^#(p(0())) -> c_2()
     , active^#(p(s(X))) -> c_3(X)
     , active^#(s(X)) -> c_4(s^#(active(X)))
     , active^#(leq(X1, X2)) -> c_5(leq^#(X1, active(X2)))
     , active^#(leq(X1, X2)) -> c_6(leq^#(active(X1), X2))
     , active^#(leq(0(), Y)) -> c_7()
     , active^#(leq(s(X), 0())) -> c_8()
     , active^#(leq(s(X), s(Y))) -> c_9(leq^#(X, Y))
     , active^#(if(X1, X2, X3)) -> c_10(if^#(active(X1), X2, X3))
     , active^#(if(true(), X, Y)) -> c_11(X)
     , active^#(if(false(), X, Y)) -> c_12(Y)
     , active^#(diff(X, Y)) ->
       c_13(if^#(leq(X, Y), 0(), s(diff(p(X), Y))))
     , active^#(diff(X1, X2)) -> c_14(diff^#(X1, active(X2)))
     , active^#(diff(X1, X2)) -> c_15(diff^#(active(X1), X2))
     , p^#(mark(X)) -> c_16(p^#(X))
     , p^#(ok(X)) -> c_17(p^#(X))
     , s^#(mark(X)) -> c_18(s^#(X))
     , s^#(ok(X)) -> c_19(s^#(X))
     , leq^#(X1, mark(X2)) -> c_20(leq^#(X1, X2))
     , leq^#(mark(X1), X2) -> c_21(leq^#(X1, X2))
     , leq^#(ok(X1), ok(X2)) -> c_22(leq^#(X1, X2))
     , if^#(mark(X1), X2, X3) -> c_23(if^#(X1, X2, X3))
     , if^#(ok(X1), ok(X2), ok(X3)) -> c_24(if^#(X1, X2, X3))
     , diff^#(X1, mark(X2)) -> c_25(diff^#(X1, X2))
     , diff^#(mark(X1), X2) -> c_26(diff^#(X1, X2))
     , diff^#(ok(X1), ok(X2)) -> c_27(diff^#(X1, X2))
     , proper^#(p(X)) -> c_28(p^#(proper(X)))
     , proper^#(0()) -> c_29()
     , proper^#(s(X)) -> c_30(s^#(proper(X)))
     , proper^#(leq(X1, X2)) -> c_31(leq^#(proper(X1), proper(X2)))
     , proper^#(true()) -> c_32()
     , proper^#(false()) -> c_33()
     , proper^#(if(X1, X2, X3)) ->
       c_34(if^#(proper(X1), proper(X2), proper(X3)))
     , proper^#(diff(X1, X2)) -> c_35(diff^#(proper(X1), proper(X2)))
     , top^#(mark(X)) -> c_36(top^#(proper(X)))
     , top^#(ok(X)) -> c_37(top^#(active(X))) }
   
   and mark the set of starting terms.
   
   We are left with following problem, upon which TcT provides the
   certificate MAYBE.
   
   Strict DPs:
     { active^#(p(X)) -> c_1(p^#(active(X)))
     , active^#(p(0())) -> c_2()
     , active^#(p(s(X))) -> c_3(X)
     , active^#(s(X)) -> c_4(s^#(active(X)))
     , active^#(leq(X1, X2)) -> c_5(leq^#(X1, active(X2)))
     , active^#(leq(X1, X2)) -> c_6(leq^#(active(X1), X2))
     , active^#(leq(0(), Y)) -> c_7()
     , active^#(leq(s(X), 0())) -> c_8()
     , active^#(leq(s(X), s(Y))) -> c_9(leq^#(X, Y))
     , active^#(if(X1, X2, X3)) -> c_10(if^#(active(X1), X2, X3))
     , active^#(if(true(), X, Y)) -> c_11(X)
     , active^#(if(false(), X, Y)) -> c_12(Y)
     , active^#(diff(X, Y)) ->
       c_13(if^#(leq(X, Y), 0(), s(diff(p(X), Y))))
     , active^#(diff(X1, X2)) -> c_14(diff^#(X1, active(X2)))
     , active^#(diff(X1, X2)) -> c_15(diff^#(active(X1), X2))
     , p^#(mark(X)) -> c_16(p^#(X))
     , p^#(ok(X)) -> c_17(p^#(X))
     , s^#(mark(X)) -> c_18(s^#(X))
     , s^#(ok(X)) -> c_19(s^#(X))
     , leq^#(X1, mark(X2)) -> c_20(leq^#(X1, X2))
     , leq^#(mark(X1), X2) -> c_21(leq^#(X1, X2))
     , leq^#(ok(X1), ok(X2)) -> c_22(leq^#(X1, X2))
     , if^#(mark(X1), X2, X3) -> c_23(if^#(X1, X2, X3))
     , if^#(ok(X1), ok(X2), ok(X3)) -> c_24(if^#(X1, X2, X3))
     , diff^#(X1, mark(X2)) -> c_25(diff^#(X1, X2))
     , diff^#(mark(X1), X2) -> c_26(diff^#(X1, X2))
     , diff^#(ok(X1), ok(X2)) -> c_27(diff^#(X1, X2))
     , proper^#(p(X)) -> c_28(p^#(proper(X)))
     , proper^#(0()) -> c_29()
     , proper^#(s(X)) -> c_30(s^#(proper(X)))
     , proper^#(leq(X1, X2)) -> c_31(leq^#(proper(X1), proper(X2)))
     , proper^#(true()) -> c_32()
     , proper^#(false()) -> c_33()
     , proper^#(if(X1, X2, X3)) ->
       c_34(if^#(proper(X1), proper(X2), proper(X3)))
     , proper^#(diff(X1, X2)) -> c_35(diff^#(proper(X1), proper(X2)))
     , top^#(mark(X)) -> c_36(top^#(proper(X)))
     , top^#(ok(X)) -> c_37(top^#(active(X))) }
   Strict Trs:
     { active(p(X)) -> p(active(X))
     , active(p(0())) -> mark(0())
     , active(p(s(X))) -> mark(X)
     , active(s(X)) -> s(active(X))
     , active(leq(X1, X2)) -> leq(X1, active(X2))
     , active(leq(X1, X2)) -> leq(active(X1), X2)
     , active(leq(0(), Y)) -> mark(true())
     , active(leq(s(X), 0())) -> mark(false())
     , active(leq(s(X), s(Y))) -> mark(leq(X, Y))
     , active(if(X1, X2, X3)) -> if(active(X1), X2, X3)
     , active(if(true(), X, Y)) -> mark(X)
     , active(if(false(), X, Y)) -> mark(Y)
     , active(diff(X, Y)) -> mark(if(leq(X, Y), 0(), s(diff(p(X), Y))))
     , active(diff(X1, X2)) -> diff(X1, active(X2))
     , active(diff(X1, X2)) -> diff(active(X1), X2)
     , p(mark(X)) -> mark(p(X))
     , p(ok(X)) -> ok(p(X))
     , s(mark(X)) -> mark(s(X))
     , s(ok(X)) -> ok(s(X))
     , leq(X1, mark(X2)) -> mark(leq(X1, X2))
     , leq(mark(X1), X2) -> mark(leq(X1, X2))
     , leq(ok(X1), ok(X2)) -> ok(leq(X1, X2))
     , if(mark(X1), X2, X3) -> mark(if(X1, X2, X3))
     , if(ok(X1), ok(X2), ok(X3)) -> ok(if(X1, X2, X3))
     , diff(X1, mark(X2)) -> mark(diff(X1, X2))
     , diff(mark(X1), X2) -> mark(diff(X1, X2))
     , diff(ok(X1), ok(X2)) -> ok(diff(X1, X2))
     , proper(p(X)) -> p(proper(X))
     , proper(0()) -> ok(0())
     , proper(s(X)) -> s(proper(X))
     , proper(leq(X1, X2)) -> leq(proper(X1), proper(X2))
     , proper(true()) -> ok(true())
     , proper(false()) -> ok(false())
     , proper(if(X1, X2, X3)) -> if(proper(X1), proper(X2), proper(X3))
     , proper(diff(X1, X2)) -> diff(proper(X1), proper(X2))
     , top(mark(X)) -> top(proper(X))
     , top(ok(X)) -> top(active(X)) }
   Obligation:
     runtime complexity
   Answer:
     MAYBE
   
   Consider the dependency graph:
   
     1: active^#(p(X)) -> c_1(p^#(active(X)))
        -->_1 p^#(ok(X)) -> c_17(p^#(X)) :17
        -->_1 p^#(mark(X)) -> c_16(p^#(X)) :16
     
     2: active^#(p(0())) -> c_2()
     
     3: active^#(p(s(X))) -> c_3(X)
        -->_1 top^#(ok(X)) -> c_37(top^#(active(X))) :37
        -->_1 top^#(mark(X)) -> c_36(top^#(proper(X))) :36
        -->_1 proper^#(diff(X1, X2)) ->
              c_35(diff^#(proper(X1), proper(X2))) :35
        -->_1 proper^#(if(X1, X2, X3)) ->
              c_34(if^#(proper(X1), proper(X2), proper(X3))) :34
        -->_1 proper^#(leq(X1, X2)) ->
              c_31(leq^#(proper(X1), proper(X2))) :31
        -->_1 proper^#(s(X)) -> c_30(s^#(proper(X))) :30
        -->_1 proper^#(p(X)) -> c_28(p^#(proper(X))) :28
        -->_1 diff^#(ok(X1), ok(X2)) -> c_27(diff^#(X1, X2)) :27
        -->_1 diff^#(mark(X1), X2) -> c_26(diff^#(X1, X2)) :26
        -->_1 diff^#(X1, mark(X2)) -> c_25(diff^#(X1, X2)) :25
        -->_1 if^#(ok(X1), ok(X2), ok(X3)) -> c_24(if^#(X1, X2, X3)) :24
        -->_1 if^#(mark(X1), X2, X3) -> c_23(if^#(X1, X2, X3)) :23
        -->_1 leq^#(ok(X1), ok(X2)) -> c_22(leq^#(X1, X2)) :22
        -->_1 leq^#(mark(X1), X2) -> c_21(leq^#(X1, X2)) :21
        -->_1 leq^#(X1, mark(X2)) -> c_20(leq^#(X1, X2)) :20
        -->_1 s^#(ok(X)) -> c_19(s^#(X)) :19
        -->_1 s^#(mark(X)) -> c_18(s^#(X)) :18
        -->_1 p^#(ok(X)) -> c_17(p^#(X)) :17
        -->_1 p^#(mark(X)) -> c_16(p^#(X)) :16
        -->_1 active^#(diff(X1, X2)) -> c_15(diff^#(active(X1), X2)) :15
        -->_1 active^#(diff(X1, X2)) -> c_14(diff^#(X1, active(X2))) :14
        -->_1 active^#(diff(X, Y)) ->
              c_13(if^#(leq(X, Y), 0(), s(diff(p(X), Y)))) :13
        -->_1 active^#(if(false(), X, Y)) -> c_12(Y) :12
        -->_1 active^#(if(true(), X, Y)) -> c_11(X) :11
        -->_1 active^#(if(X1, X2, X3)) ->
              c_10(if^#(active(X1), X2, X3)) :10
        -->_1 active^#(leq(s(X), s(Y))) -> c_9(leq^#(X, Y)) :9
        -->_1 active^#(leq(X1, X2)) -> c_6(leq^#(active(X1), X2)) :6
        -->_1 active^#(leq(X1, X2)) -> c_5(leq^#(X1, active(X2))) :5
        -->_1 active^#(s(X)) -> c_4(s^#(active(X))) :4
        -->_1 proper^#(false()) -> c_33() :33
        -->_1 proper^#(true()) -> c_32() :32
        -->_1 proper^#(0()) -> c_29() :29
        -->_1 active^#(leq(s(X), 0())) -> c_8() :8
        -->_1 active^#(leq(0(), Y)) -> c_7() :7
        -->_1 active^#(p(s(X))) -> c_3(X) :3
        -->_1 active^#(p(0())) -> c_2() :2
        -->_1 active^#(p(X)) -> c_1(p^#(active(X))) :1
     
     4: active^#(s(X)) -> c_4(s^#(active(X)))
        -->_1 s^#(ok(X)) -> c_19(s^#(X)) :19
        -->_1 s^#(mark(X)) -> c_18(s^#(X)) :18
     
     5: active^#(leq(X1, X2)) -> c_5(leq^#(X1, active(X2)))
        -->_1 leq^#(ok(X1), ok(X2)) -> c_22(leq^#(X1, X2)) :22
        -->_1 leq^#(mark(X1), X2) -> c_21(leq^#(X1, X2)) :21
        -->_1 leq^#(X1, mark(X2)) -> c_20(leq^#(X1, X2)) :20
     
     6: active^#(leq(X1, X2)) -> c_6(leq^#(active(X1), X2))
        -->_1 leq^#(ok(X1), ok(X2)) -> c_22(leq^#(X1, X2)) :22
        -->_1 leq^#(mark(X1), X2) -> c_21(leq^#(X1, X2)) :21
        -->_1 leq^#(X1, mark(X2)) -> c_20(leq^#(X1, X2)) :20
     
     7: active^#(leq(0(), Y)) -> c_7()
     
     8: active^#(leq(s(X), 0())) -> c_8()
     
     9: active^#(leq(s(X), s(Y))) -> c_9(leq^#(X, Y))
        -->_1 leq^#(ok(X1), ok(X2)) -> c_22(leq^#(X1, X2)) :22
        -->_1 leq^#(mark(X1), X2) -> c_21(leq^#(X1, X2)) :21
        -->_1 leq^#(X1, mark(X2)) -> c_20(leq^#(X1, X2)) :20
     
     10: active^#(if(X1, X2, X3)) -> c_10(if^#(active(X1), X2, X3))
        -->_1 if^#(ok(X1), ok(X2), ok(X3)) -> c_24(if^#(X1, X2, X3)) :24
        -->_1 if^#(mark(X1), X2, X3) -> c_23(if^#(X1, X2, X3)) :23
     
     11: active^#(if(true(), X, Y)) -> c_11(X)
        -->_1 top^#(ok(X)) -> c_37(top^#(active(X))) :37
        -->_1 top^#(mark(X)) -> c_36(top^#(proper(X))) :36
        -->_1 proper^#(diff(X1, X2)) ->
              c_35(diff^#(proper(X1), proper(X2))) :35
        -->_1 proper^#(if(X1, X2, X3)) ->
              c_34(if^#(proper(X1), proper(X2), proper(X3))) :34
        -->_1 proper^#(leq(X1, X2)) ->
              c_31(leq^#(proper(X1), proper(X2))) :31
        -->_1 proper^#(s(X)) -> c_30(s^#(proper(X))) :30
        -->_1 proper^#(p(X)) -> c_28(p^#(proper(X))) :28
        -->_1 diff^#(ok(X1), ok(X2)) -> c_27(diff^#(X1, X2)) :27
        -->_1 diff^#(mark(X1), X2) -> c_26(diff^#(X1, X2)) :26
        -->_1 diff^#(X1, mark(X2)) -> c_25(diff^#(X1, X2)) :25
        -->_1 if^#(ok(X1), ok(X2), ok(X3)) -> c_24(if^#(X1, X2, X3)) :24
        -->_1 if^#(mark(X1), X2, X3) -> c_23(if^#(X1, X2, X3)) :23
        -->_1 leq^#(ok(X1), ok(X2)) -> c_22(leq^#(X1, X2)) :22
        -->_1 leq^#(mark(X1), X2) -> c_21(leq^#(X1, X2)) :21
        -->_1 leq^#(X1, mark(X2)) -> c_20(leq^#(X1, X2)) :20
        -->_1 s^#(ok(X)) -> c_19(s^#(X)) :19
        -->_1 s^#(mark(X)) -> c_18(s^#(X)) :18
        -->_1 p^#(ok(X)) -> c_17(p^#(X)) :17
        -->_1 p^#(mark(X)) -> c_16(p^#(X)) :16
        -->_1 active^#(diff(X1, X2)) -> c_15(diff^#(active(X1), X2)) :15
        -->_1 active^#(diff(X1, X2)) -> c_14(diff^#(X1, active(X2))) :14
        -->_1 active^#(diff(X, Y)) ->
              c_13(if^#(leq(X, Y), 0(), s(diff(p(X), Y)))) :13
        -->_1 active^#(if(false(), X, Y)) -> c_12(Y) :12
        -->_1 proper^#(false()) -> c_33() :33
        -->_1 proper^#(true()) -> c_32() :32
        -->_1 proper^#(0()) -> c_29() :29
        -->_1 active^#(if(true(), X, Y)) -> c_11(X) :11
        -->_1 active^#(if(X1, X2, X3)) ->
              c_10(if^#(active(X1), X2, X3)) :10
        -->_1 active^#(leq(s(X), s(Y))) -> c_9(leq^#(X, Y)) :9
        -->_1 active^#(leq(s(X), 0())) -> c_8() :8
        -->_1 active^#(leq(0(), Y)) -> c_7() :7
        -->_1 active^#(leq(X1, X2)) -> c_6(leq^#(active(X1), X2)) :6
        -->_1 active^#(leq(X1, X2)) -> c_5(leq^#(X1, active(X2))) :5
        -->_1 active^#(s(X)) -> c_4(s^#(active(X))) :4
        -->_1 active^#(p(s(X))) -> c_3(X) :3
        -->_1 active^#(p(0())) -> c_2() :2
        -->_1 active^#(p(X)) -> c_1(p^#(active(X))) :1
     
     12: active^#(if(false(), X, Y)) -> c_12(Y)
        -->_1 top^#(ok(X)) -> c_37(top^#(active(X))) :37
        -->_1 top^#(mark(X)) -> c_36(top^#(proper(X))) :36
        -->_1 proper^#(diff(X1, X2)) ->
              c_35(diff^#(proper(X1), proper(X2))) :35
        -->_1 proper^#(if(X1, X2, X3)) ->
              c_34(if^#(proper(X1), proper(X2), proper(X3))) :34
        -->_1 proper^#(leq(X1, X2)) ->
              c_31(leq^#(proper(X1), proper(X2))) :31
        -->_1 proper^#(s(X)) -> c_30(s^#(proper(X))) :30
        -->_1 proper^#(p(X)) -> c_28(p^#(proper(X))) :28
        -->_1 diff^#(ok(X1), ok(X2)) -> c_27(diff^#(X1, X2)) :27
        -->_1 diff^#(mark(X1), X2) -> c_26(diff^#(X1, X2)) :26
        -->_1 diff^#(X1, mark(X2)) -> c_25(diff^#(X1, X2)) :25
        -->_1 if^#(ok(X1), ok(X2), ok(X3)) -> c_24(if^#(X1, X2, X3)) :24
        -->_1 if^#(mark(X1), X2, X3) -> c_23(if^#(X1, X2, X3)) :23
        -->_1 leq^#(ok(X1), ok(X2)) -> c_22(leq^#(X1, X2)) :22
        -->_1 leq^#(mark(X1), X2) -> c_21(leq^#(X1, X2)) :21
        -->_1 leq^#(X1, mark(X2)) -> c_20(leq^#(X1, X2)) :20
        -->_1 s^#(ok(X)) -> c_19(s^#(X)) :19
        -->_1 s^#(mark(X)) -> c_18(s^#(X)) :18
        -->_1 p^#(ok(X)) -> c_17(p^#(X)) :17
        -->_1 p^#(mark(X)) -> c_16(p^#(X)) :16
        -->_1 active^#(diff(X1, X2)) -> c_15(diff^#(active(X1), X2)) :15
        -->_1 active^#(diff(X1, X2)) -> c_14(diff^#(X1, active(X2))) :14
        -->_1 active^#(diff(X, Y)) ->
              c_13(if^#(leq(X, Y), 0(), s(diff(p(X), Y)))) :13
        -->_1 proper^#(false()) -> c_33() :33
        -->_1 proper^#(true()) -> c_32() :32
        -->_1 proper^#(0()) -> c_29() :29
        -->_1 active^#(if(false(), X, Y)) -> c_12(Y) :12
        -->_1 active^#(if(true(), X, Y)) -> c_11(X) :11
        -->_1 active^#(if(X1, X2, X3)) ->
              c_10(if^#(active(X1), X2, X3)) :10
        -->_1 active^#(leq(s(X), s(Y))) -> c_9(leq^#(X, Y)) :9
        -->_1 active^#(leq(s(X), 0())) -> c_8() :8
        -->_1 active^#(leq(0(), Y)) -> c_7() :7
        -->_1 active^#(leq(X1, X2)) -> c_6(leq^#(active(X1), X2)) :6
        -->_1 active^#(leq(X1, X2)) -> c_5(leq^#(X1, active(X2))) :5
        -->_1 active^#(s(X)) -> c_4(s^#(active(X))) :4
        -->_1 active^#(p(s(X))) -> c_3(X) :3
        -->_1 active^#(p(0())) -> c_2() :2
        -->_1 active^#(p(X)) -> c_1(p^#(active(X))) :1
     
     13: active^#(diff(X, Y)) ->
         c_13(if^#(leq(X, Y), 0(), s(diff(p(X), Y))))
        -->_1 if^#(mark(X1), X2, X3) -> c_23(if^#(X1, X2, X3)) :23
     
     14: active^#(diff(X1, X2)) -> c_14(diff^#(X1, active(X2)))
        -->_1 diff^#(ok(X1), ok(X2)) -> c_27(diff^#(X1, X2)) :27
        -->_1 diff^#(mark(X1), X2) -> c_26(diff^#(X1, X2)) :26
        -->_1 diff^#(X1, mark(X2)) -> c_25(diff^#(X1, X2)) :25
     
     15: active^#(diff(X1, X2)) -> c_15(diff^#(active(X1), X2))
        -->_1 diff^#(ok(X1), ok(X2)) -> c_27(diff^#(X1, X2)) :27
        -->_1 diff^#(mark(X1), X2) -> c_26(diff^#(X1, X2)) :26
        -->_1 diff^#(X1, mark(X2)) -> c_25(diff^#(X1, X2)) :25
     
     16: p^#(mark(X)) -> c_16(p^#(X))
        -->_1 p^#(ok(X)) -> c_17(p^#(X)) :17
        -->_1 p^#(mark(X)) -> c_16(p^#(X)) :16
     
     17: p^#(ok(X)) -> c_17(p^#(X))
        -->_1 p^#(ok(X)) -> c_17(p^#(X)) :17
        -->_1 p^#(mark(X)) -> c_16(p^#(X)) :16
     
     18: s^#(mark(X)) -> c_18(s^#(X))
        -->_1 s^#(ok(X)) -> c_19(s^#(X)) :19
        -->_1 s^#(mark(X)) -> c_18(s^#(X)) :18
     
     19: s^#(ok(X)) -> c_19(s^#(X))
        -->_1 s^#(ok(X)) -> c_19(s^#(X)) :19
        -->_1 s^#(mark(X)) -> c_18(s^#(X)) :18
     
     20: leq^#(X1, mark(X2)) -> c_20(leq^#(X1, X2))
        -->_1 leq^#(ok(X1), ok(X2)) -> c_22(leq^#(X1, X2)) :22
        -->_1 leq^#(mark(X1), X2) -> c_21(leq^#(X1, X2)) :21
        -->_1 leq^#(X1, mark(X2)) -> c_20(leq^#(X1, X2)) :20
     
     21: leq^#(mark(X1), X2) -> c_21(leq^#(X1, X2))
        -->_1 leq^#(ok(X1), ok(X2)) -> c_22(leq^#(X1, X2)) :22
        -->_1 leq^#(mark(X1), X2) -> c_21(leq^#(X1, X2)) :21
        -->_1 leq^#(X1, mark(X2)) -> c_20(leq^#(X1, X2)) :20
     
     22: leq^#(ok(X1), ok(X2)) -> c_22(leq^#(X1, X2))
        -->_1 leq^#(ok(X1), ok(X2)) -> c_22(leq^#(X1, X2)) :22
        -->_1 leq^#(mark(X1), X2) -> c_21(leq^#(X1, X2)) :21
        -->_1 leq^#(X1, mark(X2)) -> c_20(leq^#(X1, X2)) :20
     
     23: if^#(mark(X1), X2, X3) -> c_23(if^#(X1, X2, X3))
        -->_1 if^#(ok(X1), ok(X2), ok(X3)) -> c_24(if^#(X1, X2, X3)) :24
        -->_1 if^#(mark(X1), X2, X3) -> c_23(if^#(X1, X2, X3)) :23
     
     24: if^#(ok(X1), ok(X2), ok(X3)) -> c_24(if^#(X1, X2, X3))
        -->_1 if^#(ok(X1), ok(X2), ok(X3)) -> c_24(if^#(X1, X2, X3)) :24
        -->_1 if^#(mark(X1), X2, X3) -> c_23(if^#(X1, X2, X3)) :23
     
     25: diff^#(X1, mark(X2)) -> c_25(diff^#(X1, X2))
        -->_1 diff^#(ok(X1), ok(X2)) -> c_27(diff^#(X1, X2)) :27
        -->_1 diff^#(mark(X1), X2) -> c_26(diff^#(X1, X2)) :26
        -->_1 diff^#(X1, mark(X2)) -> c_25(diff^#(X1, X2)) :25
     
     26: diff^#(mark(X1), X2) -> c_26(diff^#(X1, X2))
        -->_1 diff^#(ok(X1), ok(X2)) -> c_27(diff^#(X1, X2)) :27
        -->_1 diff^#(mark(X1), X2) -> c_26(diff^#(X1, X2)) :26
        -->_1 diff^#(X1, mark(X2)) -> c_25(diff^#(X1, X2)) :25
     
     27: diff^#(ok(X1), ok(X2)) -> c_27(diff^#(X1, X2))
        -->_1 diff^#(ok(X1), ok(X2)) -> c_27(diff^#(X1, X2)) :27
        -->_1 diff^#(mark(X1), X2) -> c_26(diff^#(X1, X2)) :26
        -->_1 diff^#(X1, mark(X2)) -> c_25(diff^#(X1, X2)) :25
     
     28: proper^#(p(X)) -> c_28(p^#(proper(X)))
        -->_1 p^#(ok(X)) -> c_17(p^#(X)) :17
        -->_1 p^#(mark(X)) -> c_16(p^#(X)) :16
     
     29: proper^#(0()) -> c_29()
     
     30: proper^#(s(X)) -> c_30(s^#(proper(X)))
        -->_1 s^#(ok(X)) -> c_19(s^#(X)) :19
        -->_1 s^#(mark(X)) -> c_18(s^#(X)) :18
     
     31: proper^#(leq(X1, X2)) -> c_31(leq^#(proper(X1), proper(X2)))
        -->_1 leq^#(ok(X1), ok(X2)) -> c_22(leq^#(X1, X2)) :22
        -->_1 leq^#(mark(X1), X2) -> c_21(leq^#(X1, X2)) :21
        -->_1 leq^#(X1, mark(X2)) -> c_20(leq^#(X1, X2)) :20
     
     32: proper^#(true()) -> c_32()
     
     33: proper^#(false()) -> c_33()
     
     34: proper^#(if(X1, X2, X3)) ->
         c_34(if^#(proper(X1), proper(X2), proper(X3)))
        -->_1 if^#(ok(X1), ok(X2), ok(X3)) -> c_24(if^#(X1, X2, X3)) :24
        -->_1 if^#(mark(X1), X2, X3) -> c_23(if^#(X1, X2, X3)) :23
     
     35: proper^#(diff(X1, X2)) -> c_35(diff^#(proper(X1), proper(X2)))
        -->_1 diff^#(ok(X1), ok(X2)) -> c_27(diff^#(X1, X2)) :27
        -->_1 diff^#(mark(X1), X2) -> c_26(diff^#(X1, X2)) :26
        -->_1 diff^#(X1, mark(X2)) -> c_25(diff^#(X1, X2)) :25
     
     36: top^#(mark(X)) -> c_36(top^#(proper(X)))
        -->_1 top^#(ok(X)) -> c_37(top^#(active(X))) :37
        -->_1 top^#(mark(X)) -> c_36(top^#(proper(X))) :36
     
     37: top^#(ok(X)) -> c_37(top^#(active(X)))
        -->_1 top^#(ok(X)) -> c_37(top^#(active(X))) :37
        -->_1 top^#(mark(X)) -> c_36(top^#(proper(X))) :36
     
   
   Only the nodes {16,17,18,19,20,22,21,23,24,25,27,26,29,32,33,36,37}
   are reachable from nodes
   {16,17,18,19,20,21,22,23,24,25,26,27,29,32,33,36,37} that start
   derivation from marked basic terms. The nodes not reachable are
   removed from the problem.
   
   We are left with following problem, upon which TcT provides the
   certificate MAYBE.
   
   Strict DPs:
     { p^#(mark(X)) -> c_16(p^#(X))
     , p^#(ok(X)) -> c_17(p^#(X))
     , s^#(mark(X)) -> c_18(s^#(X))
     , s^#(ok(X)) -> c_19(s^#(X))
     , leq^#(X1, mark(X2)) -> c_20(leq^#(X1, X2))
     , leq^#(mark(X1), X2) -> c_21(leq^#(X1, X2))
     , leq^#(ok(X1), ok(X2)) -> c_22(leq^#(X1, X2))
     , if^#(mark(X1), X2, X3) -> c_23(if^#(X1, X2, X3))
     , if^#(ok(X1), ok(X2), ok(X3)) -> c_24(if^#(X1, X2, X3))
     , diff^#(X1, mark(X2)) -> c_25(diff^#(X1, X2))
     , diff^#(mark(X1), X2) -> c_26(diff^#(X1, X2))
     , diff^#(ok(X1), ok(X2)) -> c_27(diff^#(X1, X2))
     , proper^#(0()) -> c_29()
     , proper^#(true()) -> c_32()
     , proper^#(false()) -> c_33()
     , top^#(mark(X)) -> c_36(top^#(proper(X)))
     , top^#(ok(X)) -> c_37(top^#(active(X))) }
   Strict Trs:
     { active(p(X)) -> p(active(X))
     , active(p(0())) -> mark(0())
     , active(p(s(X))) -> mark(X)
     , active(s(X)) -> s(active(X))
     , active(leq(X1, X2)) -> leq(X1, active(X2))
     , active(leq(X1, X2)) -> leq(active(X1), X2)
     , active(leq(0(), Y)) -> mark(true())
     , active(leq(s(X), 0())) -> mark(false())
     , active(leq(s(X), s(Y))) -> mark(leq(X, Y))
     , active(if(X1, X2, X3)) -> if(active(X1), X2, X3)
     , active(if(true(), X, Y)) -> mark(X)
     , active(if(false(), X, Y)) -> mark(Y)
     , active(diff(X, Y)) -> mark(if(leq(X, Y), 0(), s(diff(p(X), Y))))
     , active(diff(X1, X2)) -> diff(X1, active(X2))
     , active(diff(X1, X2)) -> diff(active(X1), X2)
     , p(mark(X)) -> mark(p(X))
     , p(ok(X)) -> ok(p(X))
     , s(mark(X)) -> mark(s(X))
     , s(ok(X)) -> ok(s(X))
     , leq(X1, mark(X2)) -> mark(leq(X1, X2))
     , leq(mark(X1), X2) -> mark(leq(X1, X2))
     , leq(ok(X1), ok(X2)) -> ok(leq(X1, X2))
     , if(mark(X1), X2, X3) -> mark(if(X1, X2, X3))
     , if(ok(X1), ok(X2), ok(X3)) -> ok(if(X1, X2, X3))
     , diff(X1, mark(X2)) -> mark(diff(X1, X2))
     , diff(mark(X1), X2) -> mark(diff(X1, X2))
     , diff(ok(X1), ok(X2)) -> ok(diff(X1, X2))
     , proper(p(X)) -> p(proper(X))
     , proper(0()) -> ok(0())
     , proper(s(X)) -> s(proper(X))
     , proper(leq(X1, X2)) -> leq(proper(X1), proper(X2))
     , proper(true()) -> ok(true())
     , proper(false()) -> ok(false())
     , proper(if(X1, X2, X3)) -> if(proper(X1), proper(X2), proper(X3))
     , proper(diff(X1, X2)) -> diff(proper(X1), proper(X2))
     , top(mark(X)) -> top(proper(X))
     , top(ok(X)) -> top(active(X)) }
   Obligation:
     runtime complexity
   Answer:
     MAYBE
   
   We estimate the number of application of {13,14,15} by applications
   of Pre({13,14,15}) = {}. Here rules are labeled as follows:
   
     DPs:
       { 1: p^#(mark(X)) -> c_16(p^#(X))
       , 2: p^#(ok(X)) -> c_17(p^#(X))
       , 3: s^#(mark(X)) -> c_18(s^#(X))
       , 4: s^#(ok(X)) -> c_19(s^#(X))
       , 5: leq^#(X1, mark(X2)) -> c_20(leq^#(X1, X2))
       , 6: leq^#(mark(X1), X2) -> c_21(leq^#(X1, X2))
       , 7: leq^#(ok(X1), ok(X2)) -> c_22(leq^#(X1, X2))
       , 8: if^#(mark(X1), X2, X3) -> c_23(if^#(X1, X2, X3))
       , 9: if^#(ok(X1), ok(X2), ok(X3)) -> c_24(if^#(X1, X2, X3))
       , 10: diff^#(X1, mark(X2)) -> c_25(diff^#(X1, X2))
       , 11: diff^#(mark(X1), X2) -> c_26(diff^#(X1, X2))
       , 12: diff^#(ok(X1), ok(X2)) -> c_27(diff^#(X1, X2))
       , 13: proper^#(0()) -> c_29()
       , 14: proper^#(true()) -> c_32()
       , 15: proper^#(false()) -> c_33()
       , 16: top^#(mark(X)) -> c_36(top^#(proper(X)))
       , 17: top^#(ok(X)) -> c_37(top^#(active(X))) }
   
   We are left with following problem, upon which TcT provides the
   certificate MAYBE.
   
   Strict DPs:
     { p^#(mark(X)) -> c_16(p^#(X))
     , p^#(ok(X)) -> c_17(p^#(X))
     , s^#(mark(X)) -> c_18(s^#(X))
     , s^#(ok(X)) -> c_19(s^#(X))
     , leq^#(X1, mark(X2)) -> c_20(leq^#(X1, X2))
     , leq^#(mark(X1), X2) -> c_21(leq^#(X1, X2))
     , leq^#(ok(X1), ok(X2)) -> c_22(leq^#(X1, X2))
     , if^#(mark(X1), X2, X3) -> c_23(if^#(X1, X2, X3))
     , if^#(ok(X1), ok(X2), ok(X3)) -> c_24(if^#(X1, X2, X3))
     , diff^#(X1, mark(X2)) -> c_25(diff^#(X1, X2))
     , diff^#(mark(X1), X2) -> c_26(diff^#(X1, X2))
     , diff^#(ok(X1), ok(X2)) -> c_27(diff^#(X1, X2))
     , top^#(mark(X)) -> c_36(top^#(proper(X)))
     , top^#(ok(X)) -> c_37(top^#(active(X))) }
   Strict Trs:
     { active(p(X)) -> p(active(X))
     , active(p(0())) -> mark(0())
     , active(p(s(X))) -> mark(X)
     , active(s(X)) -> s(active(X))
     , active(leq(X1, X2)) -> leq(X1, active(X2))
     , active(leq(X1, X2)) -> leq(active(X1), X2)
     , active(leq(0(), Y)) -> mark(true())
     , active(leq(s(X), 0())) -> mark(false())
     , active(leq(s(X), s(Y))) -> mark(leq(X, Y))
     , active(if(X1, X2, X3)) -> if(active(X1), X2, X3)
     , active(if(true(), X, Y)) -> mark(X)
     , active(if(false(), X, Y)) -> mark(Y)
     , active(diff(X, Y)) -> mark(if(leq(X, Y), 0(), s(diff(p(X), Y))))
     , active(diff(X1, X2)) -> diff(X1, active(X2))
     , active(diff(X1, X2)) -> diff(active(X1), X2)
     , p(mark(X)) -> mark(p(X))
     , p(ok(X)) -> ok(p(X))
     , s(mark(X)) -> mark(s(X))
     , s(ok(X)) -> ok(s(X))
     , leq(X1, mark(X2)) -> mark(leq(X1, X2))
     , leq(mark(X1), X2) -> mark(leq(X1, X2))
     , leq(ok(X1), ok(X2)) -> ok(leq(X1, X2))
     , if(mark(X1), X2, X3) -> mark(if(X1, X2, X3))
     , if(ok(X1), ok(X2), ok(X3)) -> ok(if(X1, X2, X3))
     , diff(X1, mark(X2)) -> mark(diff(X1, X2))
     , diff(mark(X1), X2) -> mark(diff(X1, X2))
     , diff(ok(X1), ok(X2)) -> ok(diff(X1, X2))
     , proper(p(X)) -> p(proper(X))
     , proper(0()) -> ok(0())
     , proper(s(X)) -> s(proper(X))
     , proper(leq(X1, X2)) -> leq(proper(X1), proper(X2))
     , proper(true()) -> ok(true())
     , proper(false()) -> ok(false())
     , proper(if(X1, X2, X3)) -> if(proper(X1), proper(X2), proper(X3))
     , proper(diff(X1, X2)) -> diff(proper(X1), proper(X2))
     , top(mark(X)) -> top(proper(X))
     , top(ok(X)) -> top(active(X)) }
   Weak DPs:
     { proper^#(0()) -> c_29()
     , proper^#(true()) -> c_32()
     , proper^#(false()) -> c_33() }
   Obligation:
     runtime complexity
   Answer:
     MAYBE
   
   Empty strict component of the problem is NOT empty.


Arrrr..