* Step 1: Sum WORST_CASE(?,O(1))
    + Considered Problem:
        - Strict TRS:
            b(X) -> a(X)
            f(a(g(X))) -> b(X)
            f(f(X)) -> f(a(b(f(X))))
        - Signature:
            {b/1,f/1} / {a/1,g/1}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {b,f} and constructors {a,g}
    + Applied Processor:
        Sum {left = someStrategy, right = someStrategy}
    + Details:
        ()
* Step 2: DependencyPairs WORST_CASE(?,O(1))
    + Considered Problem:
        - Strict TRS:
            b(X) -> a(X)
            f(a(g(X))) -> b(X)
            f(f(X)) -> f(a(b(f(X))))
        - Signature:
            {b/1,f/1} / {a/1,g/1}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {b,f} and constructors {a,g}
    + Applied Processor:
        DependencyPairs {dpKind_ = DT}
    + Details:
        We add the following dependency tuples:
        
        Strict DPs
          b#(X) -> c_1()
          f#(a(g(X))) -> c_2(b#(X))
          f#(f(X)) -> c_3(f#(a(b(f(X)))),b#(f(X)),f#(X))
        Weak DPs
          
        
        and mark the set of starting terms.
* Step 3: UsableRules WORST_CASE(?,O(1))
    + Considered Problem:
        - Strict DPs:
            b#(X) -> c_1()
            f#(a(g(X))) -> c_2(b#(X))
            f#(f(X)) -> c_3(f#(a(b(f(X)))),b#(f(X)),f#(X))
        - Weak TRS:
            b(X) -> a(X)
            f(a(g(X))) -> b(X)
            f(f(X)) -> f(a(b(f(X))))
        - Signature:
            {b/1,f/1,b#/1,f#/1} / {a/1,g/1,c_1/0,c_2/1,c_3/3}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {b#,f#} and constructors {a,g}
    + Applied Processor:
        UsableRules
    + Details:
        We replace rewrite rules by usable rules:
          b#(X) -> c_1()
          f#(a(g(X))) -> c_2(b#(X))
* Step 4: Trivial WORST_CASE(?,O(1))
    + Considered Problem:
        - Strict DPs:
            b#(X) -> c_1()
            f#(a(g(X))) -> c_2(b#(X))
        - Signature:
            {b/1,f/1,b#/1,f#/1} / {a/1,g/1,c_1/0,c_2/1,c_3/3}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {b#,f#} and constructors {a,g}
    + Applied Processor:
        Trivial
    + Details:
        Consider the dependency graph
          1:S:b#(X) -> c_1()
             
          
          2:S:f#(a(g(X))) -> c_2(b#(X))
             -->_1 b#(X) -> c_1():1
          
        The dependency graph contains no loops, we remove all dependency pairs.
* Step 5: EmptyProcessor WORST_CASE(?,O(1))
    + Considered Problem:
        
        - Signature:
            {b/1,f/1,b#/1,f#/1} / {a/1,g/1,c_1/0,c_2/1,c_3/3}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {b#,f#} and constructors {a,g}
    + Applied Processor:
        EmptyProcessor
    + Details:
        The problem is already closed. The intended complexity is O(1).

WORST_CASE(?,O(1))