MAYBE
* Step 1: DependencyPairs MAYBE
    + Considered Problem:
        - Strict TRS:
            intlookup(e,p) -> intlookup(lookup(e,p),p)
            lookup(Cons(x',xs'),Cons(x,xs)) -> lookup(xs',xs)
            lookup(Nil(),Cons(x,xs)) -> x
            run(e,p) -> intlookup(e,p)
        - Signature:
            {intlookup/2,lookup/2,run/2} / {Cons/2,Nil/0}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {intlookup,lookup,run} and constructors {Cons,Nil}
    + Applied Processor:
        DependencyPairs {dpKind_ = DT}
    + Details:
        We add the following dependency tuples:
        
        Strict DPs
          intlookup#(e,p) -> c_1(intlookup#(lookup(e,p),p),lookup#(e,p))
          lookup#(Cons(x',xs'),Cons(x,xs)) -> c_2(lookup#(xs',xs))
          lookup#(Nil(),Cons(x,xs)) -> c_3()
          run#(e,p) -> c_4(intlookup#(e,p))
        Weak DPs
          
        
        and mark the set of starting terms.
* Step 2: UsableRules MAYBE
    + Considered Problem:
        - Strict DPs:
            intlookup#(e,p) -> c_1(intlookup#(lookup(e,p),p),lookup#(e,p))
            lookup#(Cons(x',xs'),Cons(x,xs)) -> c_2(lookup#(xs',xs))
            lookup#(Nil(),Cons(x,xs)) -> c_3()
            run#(e,p) -> c_4(intlookup#(e,p))
        - Weak TRS:
            intlookup(e,p) -> intlookup(lookup(e,p),p)
            lookup(Cons(x',xs'),Cons(x,xs)) -> lookup(xs',xs)
            lookup(Nil(),Cons(x,xs)) -> x
            run(e,p) -> intlookup(e,p)
        - Signature:
            {intlookup/2,lookup/2,run/2,intlookup#/2,lookup#/2,run#/2} / {Cons/2,Nil/0,c_1/2,c_2/1,c_3/0,c_4/1}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {intlookup#,lookup#,run#} and constructors {Cons,Nil}
    + Applied Processor:
        UsableRules
    + Details:
        We replace rewrite rules by usable rules:
          lookup(Cons(x',xs'),Cons(x,xs)) -> lookup(xs',xs)
          lookup(Nil(),Cons(x,xs)) -> x
          intlookup#(e,p) -> c_1(intlookup#(lookup(e,p),p),lookup#(e,p))
          lookup#(Cons(x',xs'),Cons(x,xs)) -> c_2(lookup#(xs',xs))
          lookup#(Nil(),Cons(x,xs)) -> c_3()
          run#(e,p) -> c_4(intlookup#(e,p))
* Step 3: PredecessorEstimation MAYBE
    + Considered Problem:
        - Strict DPs:
            intlookup#(e,p) -> c_1(intlookup#(lookup(e,p),p),lookup#(e,p))
            lookup#(Cons(x',xs'),Cons(x,xs)) -> c_2(lookup#(xs',xs))
            lookup#(Nil(),Cons(x,xs)) -> c_3()
            run#(e,p) -> c_4(intlookup#(e,p))
        - Weak TRS:
            lookup(Cons(x',xs'),Cons(x,xs)) -> lookup(xs',xs)
            lookup(Nil(),Cons(x,xs)) -> x
        - Signature:
            {intlookup/2,lookup/2,run/2,intlookup#/2,lookup#/2,run#/2} / {Cons/2,Nil/0,c_1/2,c_2/1,c_3/0,c_4/1}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {intlookup#,lookup#,run#} and constructors {Cons,Nil}
    + Applied Processor:
        PredecessorEstimation {onSelection = all simple predecessor estimation selector}
    + Details:
        We estimate the number of application of
          {3}
        by application of
          Pre({3}) = {1,2}.
        Here rules are labelled as follows:
          1: intlookup#(e,p) -> c_1(intlookup#(lookup(e,p),p),lookup#(e,p))
          2: lookup#(Cons(x',xs'),Cons(x,xs)) -> c_2(lookup#(xs',xs))
          3: lookup#(Nil(),Cons(x,xs)) -> c_3()
          4: run#(e,p) -> c_4(intlookup#(e,p))
* Step 4: RemoveWeakSuffixes MAYBE
    + Considered Problem:
        - Strict DPs:
            intlookup#(e,p) -> c_1(intlookup#(lookup(e,p),p),lookup#(e,p))
            lookup#(Cons(x',xs'),Cons(x,xs)) -> c_2(lookup#(xs',xs))
            run#(e,p) -> c_4(intlookup#(e,p))
        - Weak DPs:
            lookup#(Nil(),Cons(x,xs)) -> c_3()
        - Weak TRS:
            lookup(Cons(x',xs'),Cons(x,xs)) -> lookup(xs',xs)
            lookup(Nil(),Cons(x,xs)) -> x
        - Signature:
            {intlookup/2,lookup/2,run/2,intlookup#/2,lookup#/2,run#/2} / {Cons/2,Nil/0,c_1/2,c_2/1,c_3/0,c_4/1}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {intlookup#,lookup#,run#} and constructors {Cons,Nil}
    + Applied Processor:
        RemoveWeakSuffixes
    + Details:
        Consider the dependency graph
          1:S:intlookup#(e,p) -> c_1(intlookup#(lookup(e,p),p),lookup#(e,p))
             -->_2 lookup#(Cons(x',xs'),Cons(x,xs)) -> c_2(lookup#(xs',xs)):2
             -->_2 lookup#(Nil(),Cons(x,xs)) -> c_3():4
             -->_1 intlookup#(e,p) -> c_1(intlookup#(lookup(e,p),p),lookup#(e,p)):1
          
          2:S:lookup#(Cons(x',xs'),Cons(x,xs)) -> c_2(lookup#(xs',xs))
             -->_1 lookup#(Nil(),Cons(x,xs)) -> c_3():4
             -->_1 lookup#(Cons(x',xs'),Cons(x,xs)) -> c_2(lookup#(xs',xs)):2
          
          3:S:run#(e,p) -> c_4(intlookup#(e,p))
             -->_1 intlookup#(e,p) -> c_1(intlookup#(lookup(e,p),p),lookup#(e,p)):1
          
          4:W:lookup#(Nil(),Cons(x,xs)) -> c_3()
             
          
        The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed.
          4: lookup#(Nil(),Cons(x,xs)) -> c_3()
* Step 5: RemoveHeads MAYBE
    + Considered Problem:
        - Strict DPs:
            intlookup#(e,p) -> c_1(intlookup#(lookup(e,p),p),lookup#(e,p))
            lookup#(Cons(x',xs'),Cons(x,xs)) -> c_2(lookup#(xs',xs))
            run#(e,p) -> c_4(intlookup#(e,p))
        - Weak TRS:
            lookup(Cons(x',xs'),Cons(x,xs)) -> lookup(xs',xs)
            lookup(Nil(),Cons(x,xs)) -> x
        - Signature:
            {intlookup/2,lookup/2,run/2,intlookup#/2,lookup#/2,run#/2} / {Cons/2,Nil/0,c_1/2,c_2/1,c_3/0,c_4/1}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {intlookup#,lookup#,run#} and constructors {Cons,Nil}
    + Applied Processor:
        RemoveHeads
    + Details:
        Consider the dependency graph
        
        1:S:intlookup#(e,p) -> c_1(intlookup#(lookup(e,p),p),lookup#(e,p))
           -->_2 lookup#(Cons(x',xs'),Cons(x,xs)) -> c_2(lookup#(xs',xs)):2
           -->_1 intlookup#(e,p) -> c_1(intlookup#(lookup(e,p),p),lookup#(e,p)):1
        
        2:S:lookup#(Cons(x',xs'),Cons(x,xs)) -> c_2(lookup#(xs',xs))
           -->_1 lookup#(Cons(x',xs'),Cons(x,xs)) -> c_2(lookup#(xs',xs)):2
        
        3:S:run#(e,p) -> c_4(intlookup#(e,p))
           -->_1 intlookup#(e,p) -> c_1(intlookup#(lookup(e,p),p),lookup#(e,p)):1
        
        
        Following roots of the dependency graph are removed, as the considered set of starting terms is closed under reduction with respect to these rules (modulo compound contexts).
        
        [(3,run#(e,p) -> c_4(intlookup#(e,p)))]
* Step 6: Failure MAYBE
  + Considered Problem:
      - Strict DPs:
          intlookup#(e,p) -> c_1(intlookup#(lookup(e,p),p),lookup#(e,p))
          lookup#(Cons(x',xs'),Cons(x,xs)) -> c_2(lookup#(xs',xs))
      - Weak TRS:
          lookup(Cons(x',xs'),Cons(x,xs)) -> lookup(xs',xs)
          lookup(Nil(),Cons(x,xs)) -> x
      - Signature:
          {intlookup/2,lookup/2,run/2,intlookup#/2,lookup#/2,run#/2} / {Cons/2,Nil/0,c_1/2,c_2/1,c_3/0,c_4/1}
      - Obligation:
          innermost runtime complexity wrt. defined symbols {intlookup#,lookup#,run#} and constructors {Cons,Nil}
  + Applied Processor:
      EmptyProcessor
  + Details:
      The problem is still open.
MAYBE