*** 1 Progress [(O(1),O(1))]  ***
    Considered Problem:
      Strict DP Rules:
        
      Strict TRS Rules:
        first(0(),X) -> nil()
        first(s(X),cons(Y)) -> cons(Y)
        from(X) -> cons(X)
      Weak DP Rules:
        
      Weak TRS Rules:
        
      Signature:
        {first/2,from/1} / {0/0,cons/1,nil/0,s/1}
      Obligation:
        Full
        basic terms: {first,from}/{0,cons,nil,s}
    Applied Processor:
      ToInnermost
    Proof:
      switch to innermost, as the system is overlay and right linear and does not contain weak rules
*** 1.1 Progress [(O(1),O(1))]  ***
    Considered Problem:
      Strict DP Rules:
        
      Strict TRS Rules:
        first(0(),X) -> nil()
        first(s(X),cons(Y)) -> cons(Y)
        from(X) -> cons(X)
      Weak DP Rules:
        
      Weak TRS Rules:
        
      Signature:
        {first/2,from/1} / {0/0,cons/1,nil/0,s/1}
      Obligation:
        Innermost
        basic terms: {first,from}/{0,cons,nil,s}
    Applied Processor:
      DependencyPairs {dpKind_ = DT}
    Proof:
      We add the following dependency tuples:
      
      Strict DPs
        first#(0(),X) -> c_1()
        first#(s(X),cons(Y)) -> c_2()
        from#(X) -> c_3()
      Weak DPs
        
      
      and mark the set of starting terms.
*** 1.1.1 Progress [(O(1),O(1))]  ***
    Considered Problem:
      Strict DP Rules:
        first#(0(),X) -> c_1()
        first#(s(X),cons(Y)) -> c_2()
        from#(X) -> c_3()
      Strict TRS Rules:
        
      Weak DP Rules:
        
      Weak TRS Rules:
        first(0(),X) -> nil()
        first(s(X),cons(Y)) -> cons(Y)
        from(X) -> cons(X)
      Signature:
        {first/2,from/1,first#/2,from#/1} / {0/0,cons/1,nil/0,s/1,c_1/0,c_2/0,c_3/0}
      Obligation:
        Innermost
        basic terms: {first#,from#}/{0,cons,nil,s}
    Applied Processor:
      UsableRules
    Proof:
      We replace rewrite rules by usable rules:
        first#(0(),X) -> c_1()
        first#(s(X),cons(Y)) -> c_2()
        from#(X) -> c_3()
*** 1.1.1.1 Progress [(O(1),O(1))]  ***
    Considered Problem:
      Strict DP Rules:
        first#(0(),X) -> c_1()
        first#(s(X),cons(Y)) -> c_2()
        from#(X) -> c_3()
      Strict TRS Rules:
        
      Weak DP Rules:
        
      Weak TRS Rules:
        
      Signature:
        {first/2,from/1,first#/2,from#/1} / {0/0,cons/1,nil/0,s/1,c_1/0,c_2/0,c_3/0}
      Obligation:
        Innermost
        basic terms: {first#,from#}/{0,cons,nil,s}
    Applied Processor:
      Trivial
    Proof:
      Consider the dependency graph
        1:S:first#(0(),X) -> c_1()
           
        
        2:S:first#(s(X),cons(Y)) -> c_2()
           
        
        3:S:from#(X) -> c_3()
           
        
      The dependency graph contains no loops, we remove all dependency pairs.
*** 1.1.1.1.1 Progress [(O(1),O(1))]  ***
    Considered Problem:
      Strict DP Rules:
        
      Strict TRS Rules:
        
      Weak DP Rules:
        
      Weak TRS Rules:
        
      Signature:
        {first/2,from/1,first#/2,from#/1} / {0/0,cons/1,nil/0,s/1,c_1/0,c_2/0,c_3/0}
      Obligation:
        Innermost
        basic terms: {first#,from#}/{0,cons,nil,s}
    Applied Processor:
      EmptyProcessor
    Proof:
      The problem is already closed. The intended complexity is O(1).