MAYBE
* Step 1: DependencyPairs MAYBE
    + Considered Problem:
        - Strict TRS:
            add(0(),x) -> x
            add(s(x),y) -> s(add(x,y))
            cond(true(),x,y) -> cond(gr(x,y),x,add(x,y))
            gr(0(),x) -> false()
            gr(s(x),0()) -> true()
            gr(s(x),s(y)) -> gr(x,y)
        - Signature:
            {add/2,cond/3,gr/2} / {0/0,false/0,s/1,true/0}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {add,cond,gr} and constructors {0,false,s,true}
    + Applied Processor:
        DependencyPairs {dpKind_ = DT}
    + Details:
        We add the following dependency tuples:
        
        Strict DPs
          add#(0(),x) -> c_1()
          add#(s(x),y) -> c_2(add#(x,y))
          cond#(true(),x,y) -> c_3(cond#(gr(x,y),x,add(x,y)),gr#(x,y),add#(x,y))
          gr#(0(),x) -> c_4()
          gr#(s(x),0()) -> c_5()
          gr#(s(x),s(y)) -> c_6(gr#(x,y))
        Weak DPs
          
        
        and mark the set of starting terms.
* Step 2: UsableRules MAYBE
    + Considered Problem:
        - Strict DPs:
            add#(0(),x) -> c_1()
            add#(s(x),y) -> c_2(add#(x,y))
            cond#(true(),x,y) -> c_3(cond#(gr(x,y),x,add(x,y)),gr#(x,y),add#(x,y))
            gr#(0(),x) -> c_4()
            gr#(s(x),0()) -> c_5()
            gr#(s(x),s(y)) -> c_6(gr#(x,y))
        - Weak TRS:
            add(0(),x) -> x
            add(s(x),y) -> s(add(x,y))
            cond(true(),x,y) -> cond(gr(x,y),x,add(x,y))
            gr(0(),x) -> false()
            gr(s(x),0()) -> true()
            gr(s(x),s(y)) -> gr(x,y)
        - Signature:
            {add/2,cond/3,gr/2,add#/2,cond#/3,gr#/2} / {0/0,false/0,s/1,true/0,c_1/0,c_2/1,c_3/3,c_4/0,c_5/0,c_6/1}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {add#,cond#,gr#} and constructors {0,false,s,true}
    + Applied Processor:
        UsableRules
    + Details:
        We replace rewrite rules by usable rules:
          add(0(),x) -> x
          add(s(x),y) -> s(add(x,y))
          gr(0(),x) -> false()
          gr(s(x),0()) -> true()
          gr(s(x),s(y)) -> gr(x,y)
          add#(0(),x) -> c_1()
          add#(s(x),y) -> c_2(add#(x,y))
          cond#(true(),x,y) -> c_3(cond#(gr(x,y),x,add(x,y)),gr#(x,y),add#(x,y))
          gr#(0(),x) -> c_4()
          gr#(s(x),0()) -> c_5()
          gr#(s(x),s(y)) -> c_6(gr#(x,y))
* Step 3: PredecessorEstimation MAYBE
    + Considered Problem:
        - Strict DPs:
            add#(0(),x) -> c_1()
            add#(s(x),y) -> c_2(add#(x,y))
            cond#(true(),x,y) -> c_3(cond#(gr(x,y),x,add(x,y)),gr#(x,y),add#(x,y))
            gr#(0(),x) -> c_4()
            gr#(s(x),0()) -> c_5()
            gr#(s(x),s(y)) -> c_6(gr#(x,y))
        - Weak TRS:
            add(0(),x) -> x
            add(s(x),y) -> s(add(x,y))
            gr(0(),x) -> false()
            gr(s(x),0()) -> true()
            gr(s(x),s(y)) -> gr(x,y)
        - Signature:
            {add/2,cond/3,gr/2,add#/2,cond#/3,gr#/2} / {0/0,false/0,s/1,true/0,c_1/0,c_2/1,c_3/3,c_4/0,c_5/0,c_6/1}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {add#,cond#,gr#} and constructors {0,false,s,true}
    + Applied Processor:
        PredecessorEstimation {onSelection = all simple predecessor estimation selector}
    + Details:
        We estimate the number of application of
          {1,4,5}
        by application of
          Pre({1,4,5}) = {2,3,6}.
        Here rules are labelled as follows:
          1: add#(0(),x) -> c_1()
          2: add#(s(x),y) -> c_2(add#(x,y))
          3: cond#(true(),x,y) -> c_3(cond#(gr(x,y),x,add(x,y)),gr#(x,y),add#(x,y))
          4: gr#(0(),x) -> c_4()
          5: gr#(s(x),0()) -> c_5()
          6: gr#(s(x),s(y)) -> c_6(gr#(x,y))
* Step 4: RemoveWeakSuffixes MAYBE
    + Considered Problem:
        - Strict DPs:
            add#(s(x),y) -> c_2(add#(x,y))
            cond#(true(),x,y) -> c_3(cond#(gr(x,y),x,add(x,y)),gr#(x,y),add#(x,y))
            gr#(s(x),s(y)) -> c_6(gr#(x,y))
        - Weak DPs:
            add#(0(),x) -> c_1()
            gr#(0(),x) -> c_4()
            gr#(s(x),0()) -> c_5()
        - Weak TRS:
            add(0(),x) -> x
            add(s(x),y) -> s(add(x,y))
            gr(0(),x) -> false()
            gr(s(x),0()) -> true()
            gr(s(x),s(y)) -> gr(x,y)
        - Signature:
            {add/2,cond/3,gr/2,add#/2,cond#/3,gr#/2} / {0/0,false/0,s/1,true/0,c_1/0,c_2/1,c_3/3,c_4/0,c_5/0,c_6/1}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {add#,cond#,gr#} and constructors {0,false,s,true}
    + Applied Processor:
        RemoveWeakSuffixes
    + Details:
        Consider the dependency graph
          1:S:add#(s(x),y) -> c_2(add#(x,y))
             -->_1 add#(0(),x) -> c_1():4
             -->_1 add#(s(x),y) -> c_2(add#(x,y)):1
          
          2:S:cond#(true(),x,y) -> c_3(cond#(gr(x,y),x,add(x,y)),gr#(x,y),add#(x,y))
             -->_2 gr#(s(x),s(y)) -> c_6(gr#(x,y)):3
             -->_2 gr#(s(x),0()) -> c_5():6
             -->_2 gr#(0(),x) -> c_4():5
             -->_3 add#(0(),x) -> c_1():4
             -->_1 cond#(true(),x,y) -> c_3(cond#(gr(x,y),x,add(x,y)),gr#(x,y),add#(x,y)):2
             -->_3 add#(s(x),y) -> c_2(add#(x,y)):1
          
          3:S:gr#(s(x),s(y)) -> c_6(gr#(x,y))
             -->_1 gr#(s(x),0()) -> c_5():6
             -->_1 gr#(0(),x) -> c_4():5
             -->_1 gr#(s(x),s(y)) -> c_6(gr#(x,y)):3
          
          4:W:add#(0(),x) -> c_1()
             
          
          5:W:gr#(0(),x) -> c_4()
             
          
          6:W:gr#(s(x),0()) -> c_5()
             
          
        The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed.
          5: gr#(0(),x) -> c_4()
          6: gr#(s(x),0()) -> c_5()
          4: add#(0(),x) -> c_1()
* Step 5: Decompose MAYBE
    + Considered Problem:
        - Strict DPs:
            add#(s(x),y) -> c_2(add#(x,y))
            cond#(true(),x,y) -> c_3(cond#(gr(x,y),x,add(x,y)),gr#(x,y),add#(x,y))
            gr#(s(x),s(y)) -> c_6(gr#(x,y))
        - Weak TRS:
            add(0(),x) -> x
            add(s(x),y) -> s(add(x,y))
            gr(0(),x) -> false()
            gr(s(x),0()) -> true()
            gr(s(x),s(y)) -> gr(x,y)
        - Signature:
            {add/2,cond/3,gr/2,add#/2,cond#/3,gr#/2} / {0/0,false/0,s/1,true/0,c_1/0,c_2/1,c_3/3,c_4/0,c_5/0,c_6/1}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {add#,cond#,gr#} and constructors {0,false,s,true}
    + Applied Processor:
        Decompose {onSelection = all cycle independent sub-graph, withBound = RelativeAdd}
    + Details:
        We analyse the complexity of following sub-problems (R) and (S).
        Problem (S) is obtained from the input problem by shifting strict rules from (R) into the weak component.
        
        Problem (R)
          - Strict DPs:
              add#(s(x),y) -> c_2(add#(x,y))
          - Weak DPs:
              cond#(true(),x,y) -> c_3(cond#(gr(x,y),x,add(x,y)),gr#(x,y),add#(x,y))
              gr#(s(x),s(y)) -> c_6(gr#(x,y))
          - Weak TRS:
              add(0(),x) -> x
              add(s(x),y) -> s(add(x,y))
              gr(0(),x) -> false()
              gr(s(x),0()) -> true()
              gr(s(x),s(y)) -> gr(x,y)
          - Signature:
              {add/2,cond/3,gr/2,add#/2,cond#/3,gr#/2} / {0/0,false/0,s/1,true/0,c_1/0,c_2/1,c_3/3,c_4/0,c_5/0,c_6/1}
          - Obligation:
              innermost runtime complexity wrt. defined symbols {add#,cond#,gr#} and constructors {0,false,s,true}
        
        Problem (S)
          - Strict DPs:
              cond#(true(),x,y) -> c_3(cond#(gr(x,y),x,add(x,y)),gr#(x,y),add#(x,y))
              gr#(s(x),s(y)) -> c_6(gr#(x,y))
          - Weak DPs:
              add#(s(x),y) -> c_2(add#(x,y))
          - Weak TRS:
              add(0(),x) -> x
              add(s(x),y) -> s(add(x,y))
              gr(0(),x) -> false()
              gr(s(x),0()) -> true()
              gr(s(x),s(y)) -> gr(x,y)
          - Signature:
              {add/2,cond/3,gr/2,add#/2,cond#/3,gr#/2} / {0/0,false/0,s/1,true/0,c_1/0,c_2/1,c_3/3,c_4/0,c_5/0,c_6/1}
          - Obligation:
              innermost runtime complexity wrt. defined symbols {add#,cond#,gr#} and constructors {0,false,s,true}
** Step 5.a:1: RemoveWeakSuffixes MAYBE
    + Considered Problem:
        - Strict DPs:
            add#(s(x),y) -> c_2(add#(x,y))
        - Weak DPs:
            cond#(true(),x,y) -> c_3(cond#(gr(x,y),x,add(x,y)),gr#(x,y),add#(x,y))
            gr#(s(x),s(y)) -> c_6(gr#(x,y))
        - Weak TRS:
            add(0(),x) -> x
            add(s(x),y) -> s(add(x,y))
            gr(0(),x) -> false()
            gr(s(x),0()) -> true()
            gr(s(x),s(y)) -> gr(x,y)
        - Signature:
            {add/2,cond/3,gr/2,add#/2,cond#/3,gr#/2} / {0/0,false/0,s/1,true/0,c_1/0,c_2/1,c_3/3,c_4/0,c_5/0,c_6/1}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {add#,cond#,gr#} and constructors {0,false,s,true}
    + Applied Processor:
        RemoveWeakSuffixes
    + Details:
        Consider the dependency graph
          1:S:add#(s(x),y) -> c_2(add#(x,y))
             -->_1 add#(s(x),y) -> c_2(add#(x,y)):1
          
          2:W:cond#(true(),x,y) -> c_3(cond#(gr(x,y),x,add(x,y)),gr#(x,y),add#(x,y))
             -->_3 add#(s(x),y) -> c_2(add#(x,y)):1
             -->_2 gr#(s(x),s(y)) -> c_6(gr#(x,y)):3
             -->_1 cond#(true(),x,y) -> c_3(cond#(gr(x,y),x,add(x,y)),gr#(x,y),add#(x,y)):2
          
          3:W:gr#(s(x),s(y)) -> c_6(gr#(x,y))
             -->_1 gr#(s(x),s(y)) -> c_6(gr#(x,y)):3
          
        The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed.
          3: gr#(s(x),s(y)) -> c_6(gr#(x,y))
** Step 5.a:2: SimplifyRHS MAYBE
    + Considered Problem:
        - Strict DPs:
            add#(s(x),y) -> c_2(add#(x,y))
        - Weak DPs:
            cond#(true(),x,y) -> c_3(cond#(gr(x,y),x,add(x,y)),gr#(x,y),add#(x,y))
        - Weak TRS:
            add(0(),x) -> x
            add(s(x),y) -> s(add(x,y))
            gr(0(),x) -> false()
            gr(s(x),0()) -> true()
            gr(s(x),s(y)) -> gr(x,y)
        - Signature:
            {add/2,cond/3,gr/2,add#/2,cond#/3,gr#/2} / {0/0,false/0,s/1,true/0,c_1/0,c_2/1,c_3/3,c_4/0,c_5/0,c_6/1}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {add#,cond#,gr#} and constructors {0,false,s,true}
    + Applied Processor:
        SimplifyRHS
    + Details:
        Consider the dependency graph
          1:S:add#(s(x),y) -> c_2(add#(x,y))
             -->_1 add#(s(x),y) -> c_2(add#(x,y)):1
          
          2:W:cond#(true(),x,y) -> c_3(cond#(gr(x,y),x,add(x,y)),gr#(x,y),add#(x,y))
             -->_3 add#(s(x),y) -> c_2(add#(x,y)):1
             -->_1 cond#(true(),x,y) -> c_3(cond#(gr(x,y),x,add(x,y)),gr#(x,y),add#(x,y)):2
          
        Due to missing edges in the depndency graph, the right-hand sides of following rules could be simplified:
          cond#(true(),x,y) -> c_3(cond#(gr(x,y),x,add(x,y)),add#(x,y))
** Step 5.a:3: Failure MAYBE
  + Considered Problem:
      - Strict DPs:
          add#(s(x),y) -> c_2(add#(x,y))
      - Weak DPs:
          cond#(true(),x,y) -> c_3(cond#(gr(x,y),x,add(x,y)),add#(x,y))
      - Weak TRS:
          add(0(),x) -> x
          add(s(x),y) -> s(add(x,y))
          gr(0(),x) -> false()
          gr(s(x),0()) -> true()
          gr(s(x),s(y)) -> gr(x,y)
      - Signature:
          {add/2,cond/3,gr/2,add#/2,cond#/3,gr#/2} / {0/0,false/0,s/1,true/0,c_1/0,c_2/1,c_3/2,c_4/0,c_5/0,c_6/1}
      - Obligation:
          innermost runtime complexity wrt. defined symbols {add#,cond#,gr#} and constructors {0,false,s,true}
  + Applied Processor:
      EmptyProcessor
  + Details:
      The problem is still open.
** Step 5.b:1: RemoveWeakSuffixes MAYBE
    + Considered Problem:
        - Strict DPs:
            cond#(true(),x,y) -> c_3(cond#(gr(x,y),x,add(x,y)),gr#(x,y),add#(x,y))
            gr#(s(x),s(y)) -> c_6(gr#(x,y))
        - Weak DPs:
            add#(s(x),y) -> c_2(add#(x,y))
        - Weak TRS:
            add(0(),x) -> x
            add(s(x),y) -> s(add(x,y))
            gr(0(),x) -> false()
            gr(s(x),0()) -> true()
            gr(s(x),s(y)) -> gr(x,y)
        - Signature:
            {add/2,cond/3,gr/2,add#/2,cond#/3,gr#/2} / {0/0,false/0,s/1,true/0,c_1/0,c_2/1,c_3/3,c_4/0,c_5/0,c_6/1}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {add#,cond#,gr#} and constructors {0,false,s,true}
    + Applied Processor:
        RemoveWeakSuffixes
    + Details:
        Consider the dependency graph
          1:S:cond#(true(),x,y) -> c_3(cond#(gr(x,y),x,add(x,y)),gr#(x,y),add#(x,y))
             -->_3 add#(s(x),y) -> c_2(add#(x,y)):3
             -->_2 gr#(s(x),s(y)) -> c_6(gr#(x,y)):2
             -->_1 cond#(true(),x,y) -> c_3(cond#(gr(x,y),x,add(x,y)),gr#(x,y),add#(x,y)):1
          
          2:S:gr#(s(x),s(y)) -> c_6(gr#(x,y))
             -->_1 gr#(s(x),s(y)) -> c_6(gr#(x,y)):2
          
          3:W:add#(s(x),y) -> c_2(add#(x,y))
             -->_1 add#(s(x),y) -> c_2(add#(x,y)):3
          
        The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed.
          3: add#(s(x),y) -> c_2(add#(x,y))
** Step 5.b:2: SimplifyRHS MAYBE
    + Considered Problem:
        - Strict DPs:
            cond#(true(),x,y) -> c_3(cond#(gr(x,y),x,add(x,y)),gr#(x,y),add#(x,y))
            gr#(s(x),s(y)) -> c_6(gr#(x,y))
        - Weak TRS:
            add(0(),x) -> x
            add(s(x),y) -> s(add(x,y))
            gr(0(),x) -> false()
            gr(s(x),0()) -> true()
            gr(s(x),s(y)) -> gr(x,y)
        - Signature:
            {add/2,cond/3,gr/2,add#/2,cond#/3,gr#/2} / {0/0,false/0,s/1,true/0,c_1/0,c_2/1,c_3/3,c_4/0,c_5/0,c_6/1}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {add#,cond#,gr#} and constructors {0,false,s,true}
    + Applied Processor:
        SimplifyRHS
    + Details:
        Consider the dependency graph
          1:S:cond#(true(),x,y) -> c_3(cond#(gr(x,y),x,add(x,y)),gr#(x,y),add#(x,y))
             -->_2 gr#(s(x),s(y)) -> c_6(gr#(x,y)):2
             -->_1 cond#(true(),x,y) -> c_3(cond#(gr(x,y),x,add(x,y)),gr#(x,y),add#(x,y)):1
          
          2:S:gr#(s(x),s(y)) -> c_6(gr#(x,y))
             -->_1 gr#(s(x),s(y)) -> c_6(gr#(x,y)):2
          
        Due to missing edges in the depndency graph, the right-hand sides of following rules could be simplified:
          cond#(true(),x,y) -> c_3(cond#(gr(x,y),x,add(x,y)),gr#(x,y))
** Step 5.b:3: Failure MAYBE
  + Considered Problem:
      - Strict DPs:
          cond#(true(),x,y) -> c_3(cond#(gr(x,y),x,add(x,y)),gr#(x,y))
          gr#(s(x),s(y)) -> c_6(gr#(x,y))
      - Weak TRS:
          add(0(),x) -> x
          add(s(x),y) -> s(add(x,y))
          gr(0(),x) -> false()
          gr(s(x),0()) -> true()
          gr(s(x),s(y)) -> gr(x,y)
      - Signature:
          {add/2,cond/3,gr/2,add#/2,cond#/3,gr#/2} / {0/0,false/0,s/1,true/0,c_1/0,c_2/1,c_3/2,c_4/0,c_5/0,c_6/1}
      - Obligation:
          innermost runtime complexity wrt. defined symbols {add#,cond#,gr#} and constructors {0,false,s,true}
  + Applied Processor:
      EmptyProcessor
  + Details:
      The problem is still open.
MAYBE