MAYBE * Step 1: DependencyPairs MAYBE + Considered Problem: - Strict TRS: f(x,y,0()) -> max(x,y) f(x,0(),z) -> max(x,z) f(0(),y,z) -> max(y,z) f(s(x),s(y),s(z)) -> f(max(s(x),max(s(y),s(z))),p(min(s(x),max(s(y),s(z)))),min(s(x),min(s(y),s(z)))) max(x,0()) -> x max(0(),y) -> y max(s(x),s(y)) -> s(max(x,y)) min(x,0()) -> 0() min(0(),y) -> 0() min(s(x),s(y)) -> s(min(x,y)) p(s(x)) -> x - Signature: {f/3,max/2,min/2,p/1} / {0/0,s/1} - Obligation: innermost runtime complexity wrt. defined symbols {f,max,min,p} and constructors {0,s} + Applied Processor: DependencyPairs {dpKind_ = DT} + Details: We add the following dependency tuples: Strict DPs f#(x,y,0()) -> c_1(max#(x,y)) f#(x,0(),z) -> c_2(max#(x,z)) f#(0(),y,z) -> c_3(max#(y,z)) f#(s(x),s(y),s(z)) -> c_4(f#(max(s(x),max(s(y),s(z))),p(min(s(x),max(s(y),s(z)))),min(s(x),min(s(y),s(z)))) ,max#(s(x),max(s(y),s(z))) ,max#(s(y),s(z)) ,p#(min(s(x),max(s(y),s(z)))) ,min#(s(x),max(s(y),s(z))) ,max#(s(y),s(z)) ,min#(s(x),min(s(y),s(z))) ,min#(s(y),s(z))) max#(x,0()) -> c_5() max#(0(),y) -> c_6() max#(s(x),s(y)) -> c_7(max#(x,y)) min#(x,0()) -> c_8() min#(0(),y) -> c_9() min#(s(x),s(y)) -> c_10(min#(x,y)) p#(s(x)) -> c_11() Weak DPs and mark the set of starting terms. * Step 2: UsableRules MAYBE + Considered Problem: - Strict DPs: f#(x,y,0()) -> c_1(max#(x,y)) f#(x,0(),z) -> c_2(max#(x,z)) f#(0(),y,z) -> c_3(max#(y,z)) f#(s(x),s(y),s(z)) -> c_4(f#(max(s(x),max(s(y),s(z))),p(min(s(x),max(s(y),s(z)))),min(s(x),min(s(y),s(z)))) ,max#(s(x),max(s(y),s(z))) ,max#(s(y),s(z)) ,p#(min(s(x),max(s(y),s(z)))) ,min#(s(x),max(s(y),s(z))) ,max#(s(y),s(z)) ,min#(s(x),min(s(y),s(z))) ,min#(s(y),s(z))) max#(x,0()) -> c_5() max#(0(),y) -> c_6() max#(s(x),s(y)) -> c_7(max#(x,y)) min#(x,0()) -> c_8() min#(0(),y) -> c_9() min#(s(x),s(y)) -> c_10(min#(x,y)) p#(s(x)) -> c_11() - Weak TRS: f(x,y,0()) -> max(x,y) f(x,0(),z) -> max(x,z) f(0(),y,z) -> max(y,z) f(s(x),s(y),s(z)) -> f(max(s(x),max(s(y),s(z))),p(min(s(x),max(s(y),s(z)))),min(s(x),min(s(y),s(z)))) max(x,0()) -> x max(0(),y) -> y max(s(x),s(y)) -> s(max(x,y)) min(x,0()) -> 0() min(0(),y) -> 0() min(s(x),s(y)) -> s(min(x,y)) p(s(x)) -> x - Signature: {f/3,max/2,min/2,p/1,f#/3,max#/2,min#/2,p#/1} / {0/0,s/1,c_1/1,c_2/1,c_3/1,c_4/8,c_5/0,c_6/0,c_7/1,c_8/0 ,c_9/0,c_10/1,c_11/0} - Obligation: innermost runtime complexity wrt. defined symbols {f#,max#,min#,p#} and constructors {0,s} + Applied Processor: UsableRules + Details: We replace rewrite rules by usable rules: max(x,0()) -> x max(0(),y) -> y max(s(x),s(y)) -> s(max(x,y)) min(x,0()) -> 0() min(0(),y) -> 0() min(s(x),s(y)) -> s(min(x,y)) p(s(x)) -> x f#(x,y,0()) -> c_1(max#(x,y)) f#(x,0(),z) -> c_2(max#(x,z)) f#(0(),y,z) -> c_3(max#(y,z)) f#(s(x),s(y),s(z)) -> c_4(f#(max(s(x),max(s(y),s(z))),p(min(s(x),max(s(y),s(z)))),min(s(x),min(s(y),s(z)))) ,max#(s(x),max(s(y),s(z))) ,max#(s(y),s(z)) ,p#(min(s(x),max(s(y),s(z)))) ,min#(s(x),max(s(y),s(z))) ,max#(s(y),s(z)) ,min#(s(x),min(s(y),s(z))) ,min#(s(y),s(z))) max#(x,0()) -> c_5() max#(0(),y) -> c_6() max#(s(x),s(y)) -> c_7(max#(x,y)) min#(x,0()) -> c_8() min#(0(),y) -> c_9() min#(s(x),s(y)) -> c_10(min#(x,y)) p#(s(x)) -> c_11() * Step 3: PredecessorEstimation MAYBE + Considered Problem: - Strict DPs: f#(x,y,0()) -> c_1(max#(x,y)) f#(x,0(),z) -> c_2(max#(x,z)) f#(0(),y,z) -> c_3(max#(y,z)) f#(s(x),s(y),s(z)) -> c_4(f#(max(s(x),max(s(y),s(z))),p(min(s(x),max(s(y),s(z)))),min(s(x),min(s(y),s(z)))) ,max#(s(x),max(s(y),s(z))) ,max#(s(y),s(z)) ,p#(min(s(x),max(s(y),s(z)))) ,min#(s(x),max(s(y),s(z))) ,max#(s(y),s(z)) ,min#(s(x),min(s(y),s(z))) ,min#(s(y),s(z))) max#(x,0()) -> c_5() max#(0(),y) -> c_6() max#(s(x),s(y)) -> c_7(max#(x,y)) min#(x,0()) -> c_8() min#(0(),y) -> c_9() min#(s(x),s(y)) -> c_10(min#(x,y)) p#(s(x)) -> c_11() - Weak TRS: max(x,0()) -> x max(0(),y) -> y max(s(x),s(y)) -> s(max(x,y)) min(x,0()) -> 0() min(0(),y) -> 0() min(s(x),s(y)) -> s(min(x,y)) p(s(x)) -> x - Signature: {f/3,max/2,min/2,p/1,f#/3,max#/2,min#/2,p#/1} / {0/0,s/1,c_1/1,c_2/1,c_3/1,c_4/8,c_5/0,c_6/0,c_7/1,c_8/0 ,c_9/0,c_10/1,c_11/0} - Obligation: innermost runtime complexity wrt. defined symbols {f#,max#,min#,p#} and constructors {0,s} + Applied Processor: PredecessorEstimation {onSelection = all simple predecessor estimation selector} + Details: We estimate the number of application of {5,6,8,9,11} by application of Pre({5,6,8,9,11}) = {1,2,3,4,7,10}. Here rules are labelled as follows: 1: f#(x,y,0()) -> c_1(max#(x,y)) 2: f#(x,0(),z) -> c_2(max#(x,z)) 3: f#(0(),y,z) -> c_3(max#(y,z)) 4: f#(s(x),s(y),s(z)) -> c_4(f#(max(s(x),max(s(y),s(z))) ,p(min(s(x),max(s(y),s(z)))) ,min(s(x),min(s(y),s(z)))) ,max#(s(x),max(s(y),s(z))) ,max#(s(y),s(z)) ,p#(min(s(x),max(s(y),s(z)))) ,min#(s(x),max(s(y),s(z))) ,max#(s(y),s(z)) ,min#(s(x),min(s(y),s(z))) ,min#(s(y),s(z))) 5: max#(x,0()) -> c_5() 6: max#(0(),y) -> c_6() 7: max#(s(x),s(y)) -> c_7(max#(x,y)) 8: min#(x,0()) -> c_8() 9: min#(0(),y) -> c_9() 10: min#(s(x),s(y)) -> c_10(min#(x,y)) 11: p#(s(x)) -> c_11() * Step 4: RemoveWeakSuffixes MAYBE + Considered Problem: - Strict DPs: f#(x,y,0()) -> c_1(max#(x,y)) f#(x,0(),z) -> c_2(max#(x,z)) f#(0(),y,z) -> c_3(max#(y,z)) f#(s(x),s(y),s(z)) -> c_4(f#(max(s(x),max(s(y),s(z))),p(min(s(x),max(s(y),s(z)))),min(s(x),min(s(y),s(z)))) ,max#(s(x),max(s(y),s(z))) ,max#(s(y),s(z)) ,p#(min(s(x),max(s(y),s(z)))) ,min#(s(x),max(s(y),s(z))) ,max#(s(y),s(z)) ,min#(s(x),min(s(y),s(z))) ,min#(s(y),s(z))) max#(s(x),s(y)) -> c_7(max#(x,y)) min#(s(x),s(y)) -> c_10(min#(x,y)) - Weak DPs: max#(x,0()) -> c_5() max#(0(),y) -> c_6() min#(x,0()) -> c_8() min#(0(),y) -> c_9() p#(s(x)) -> c_11() - Weak TRS: max(x,0()) -> x max(0(),y) -> y max(s(x),s(y)) -> s(max(x,y)) min(x,0()) -> 0() min(0(),y) -> 0() min(s(x),s(y)) -> s(min(x,y)) p(s(x)) -> x - Signature: {f/3,max/2,min/2,p/1,f#/3,max#/2,min#/2,p#/1} / {0/0,s/1,c_1/1,c_2/1,c_3/1,c_4/8,c_5/0,c_6/0,c_7/1,c_8/0 ,c_9/0,c_10/1,c_11/0} - Obligation: innermost runtime complexity wrt. defined symbols {f#,max#,min#,p#} and constructors {0,s} + Applied Processor: RemoveWeakSuffixes + Details: Consider the dependency graph 1:S:f#(x,y,0()) -> c_1(max#(x,y)) -->_1 max#(s(x),s(y)) -> c_7(max#(x,y)):5 -->_1 max#(0(),y) -> c_6():8 -->_1 max#(x,0()) -> c_5():7 2:S:f#(x,0(),z) -> c_2(max#(x,z)) -->_1 max#(s(x),s(y)) -> c_7(max#(x,y)):5 -->_1 max#(0(),y) -> c_6():8 -->_1 max#(x,0()) -> c_5():7 3:S:f#(0(),y,z) -> c_3(max#(y,z)) -->_1 max#(s(x),s(y)) -> c_7(max#(x,y)):5 -->_1 max#(0(),y) -> c_6():8 -->_1 max#(x,0()) -> c_5():7 4:S:f#(s(x),s(y),s(z)) -> c_4(f#(max(s(x),max(s(y),s(z))) ,p(min(s(x),max(s(y),s(z)))) ,min(s(x),min(s(y),s(z)))) ,max#(s(x),max(s(y),s(z))) ,max#(s(y),s(z)) ,p#(min(s(x),max(s(y),s(z)))) ,min#(s(x),max(s(y),s(z))) ,max#(s(y),s(z)) ,min#(s(x),min(s(y),s(z))) ,min#(s(y),s(z))) -->_8 min#(s(x),s(y)) -> c_10(min#(x,y)):6 -->_7 min#(s(x),s(y)) -> c_10(min#(x,y)):6 -->_5 min#(s(x),s(y)) -> c_10(min#(x,y)):6 -->_6 max#(s(x),s(y)) -> c_7(max#(x,y)):5 -->_3 max#(s(x),s(y)) -> c_7(max#(x,y)):5 -->_2 max#(s(x),s(y)) -> c_7(max#(x,y)):5 -->_4 p#(s(x)) -> c_11():11 -->_7 min#(x,0()) -> c_8():9 -->_5 min#(x,0()) -> c_8():9 -->_2 max#(x,0()) -> c_5():7 -->_1 f#(s(x),s(y),s(z)) -> c_4(f#(max(s(x),max(s(y),s(z))) ,p(min(s(x),max(s(y),s(z)))) ,min(s(x),min(s(y),s(z)))) ,max#(s(x),max(s(y),s(z))) ,max#(s(y),s(z)) ,p#(min(s(x),max(s(y),s(z)))) ,min#(s(x),max(s(y),s(z))) ,max#(s(y),s(z)) ,min#(s(x),min(s(y),s(z))) ,min#(s(y),s(z))):4 -->_1 f#(0(),y,z) -> c_3(max#(y,z)):3 -->_1 f#(x,0(),z) -> c_2(max#(x,z)):2 -->_1 f#(x,y,0()) -> c_1(max#(x,y)):1 5:S:max#(s(x),s(y)) -> c_7(max#(x,y)) -->_1 max#(0(),y) -> c_6():8 -->_1 max#(x,0()) -> c_5():7 -->_1 max#(s(x),s(y)) -> c_7(max#(x,y)):5 6:S:min#(s(x),s(y)) -> c_10(min#(x,y)) -->_1 min#(0(),y) -> c_9():10 -->_1 min#(x,0()) -> c_8():9 -->_1 min#(s(x),s(y)) -> c_10(min#(x,y)):6 7:W:max#(x,0()) -> c_5() 8:W:max#(0(),y) -> c_6() 9:W:min#(x,0()) -> c_8() 10:W:min#(0(),y) -> c_9() 11:W:p#(s(x)) -> c_11() The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed. 11: p#(s(x)) -> c_11() 9: min#(x,0()) -> c_8() 10: min#(0(),y) -> c_9() 7: max#(x,0()) -> c_5() 8: max#(0(),y) -> c_6() * Step 5: SimplifyRHS MAYBE + Considered Problem: - Strict DPs: f#(x,y,0()) -> c_1(max#(x,y)) f#(x,0(),z) -> c_2(max#(x,z)) f#(0(),y,z) -> c_3(max#(y,z)) f#(s(x),s(y),s(z)) -> c_4(f#(max(s(x),max(s(y),s(z))),p(min(s(x),max(s(y),s(z)))),min(s(x),min(s(y),s(z)))) ,max#(s(x),max(s(y),s(z))) ,max#(s(y),s(z)) ,p#(min(s(x),max(s(y),s(z)))) ,min#(s(x),max(s(y),s(z))) ,max#(s(y),s(z)) ,min#(s(x),min(s(y),s(z))) ,min#(s(y),s(z))) max#(s(x),s(y)) -> c_7(max#(x,y)) min#(s(x),s(y)) -> c_10(min#(x,y)) - Weak TRS: max(x,0()) -> x max(0(),y) -> y max(s(x),s(y)) -> s(max(x,y)) min(x,0()) -> 0() min(0(),y) -> 0() min(s(x),s(y)) -> s(min(x,y)) p(s(x)) -> x - Signature: {f/3,max/2,min/2,p/1,f#/3,max#/2,min#/2,p#/1} / {0/0,s/1,c_1/1,c_2/1,c_3/1,c_4/8,c_5/0,c_6/0,c_7/1,c_8/0 ,c_9/0,c_10/1,c_11/0} - Obligation: innermost runtime complexity wrt. defined symbols {f#,max#,min#,p#} and constructors {0,s} + Applied Processor: SimplifyRHS + Details: Consider the dependency graph 1:S:f#(x,y,0()) -> c_1(max#(x,y)) -->_1 max#(s(x),s(y)) -> c_7(max#(x,y)):5 2:S:f#(x,0(),z) -> c_2(max#(x,z)) -->_1 max#(s(x),s(y)) -> c_7(max#(x,y)):5 3:S:f#(0(),y,z) -> c_3(max#(y,z)) -->_1 max#(s(x),s(y)) -> c_7(max#(x,y)):5 4:S:f#(s(x),s(y),s(z)) -> c_4(f#(max(s(x),max(s(y),s(z))) ,p(min(s(x),max(s(y),s(z)))) ,min(s(x),min(s(y),s(z)))) ,max#(s(x),max(s(y),s(z))) ,max#(s(y),s(z)) ,p#(min(s(x),max(s(y),s(z)))) ,min#(s(x),max(s(y),s(z))) ,max#(s(y),s(z)) ,min#(s(x),min(s(y),s(z))) ,min#(s(y),s(z))) -->_8 min#(s(x),s(y)) -> c_10(min#(x,y)):6 -->_7 min#(s(x),s(y)) -> c_10(min#(x,y)):6 -->_5 min#(s(x),s(y)) -> c_10(min#(x,y)):6 -->_6 max#(s(x),s(y)) -> c_7(max#(x,y)):5 -->_3 max#(s(x),s(y)) -> c_7(max#(x,y)):5 -->_2 max#(s(x),s(y)) -> c_7(max#(x,y)):5 -->_1 f#(s(x),s(y),s(z)) -> c_4(f#(max(s(x),max(s(y),s(z))) ,p(min(s(x),max(s(y),s(z)))) ,min(s(x),min(s(y),s(z)))) ,max#(s(x),max(s(y),s(z))) ,max#(s(y),s(z)) ,p#(min(s(x),max(s(y),s(z)))) ,min#(s(x),max(s(y),s(z))) ,max#(s(y),s(z)) ,min#(s(x),min(s(y),s(z))) ,min#(s(y),s(z))):4 -->_1 f#(0(),y,z) -> c_3(max#(y,z)):3 -->_1 f#(x,0(),z) -> c_2(max#(x,z)):2 -->_1 f#(x,y,0()) -> c_1(max#(x,y)):1 5:S:max#(s(x),s(y)) -> c_7(max#(x,y)) -->_1 max#(s(x),s(y)) -> c_7(max#(x,y)):5 6:S:min#(s(x),s(y)) -> c_10(min#(x,y)) -->_1 min#(s(x),s(y)) -> c_10(min#(x,y)):6 Due to missing edges in the depndency graph, the right-hand sides of following rules could be simplified: f#(s(x),s(y),s(z)) -> c_4(f#(max(s(x),max(s(y),s(z))) ,p(min(s(x),max(s(y),s(z)))) ,min(s(x),min(s(y),s(z)))) ,max#(s(x),max(s(y),s(z))) ,max#(s(y),s(z)) ,min#(s(x),max(s(y),s(z))) ,max#(s(y),s(z)) ,min#(s(x),min(s(y),s(z))) ,min#(s(y),s(z))) * Step 6: NaturalMI MAYBE + Considered Problem: - Strict DPs: f#(x,y,0()) -> c_1(max#(x,y)) f#(x,0(),z) -> c_2(max#(x,z)) f#(0(),y,z) -> c_3(max#(y,z)) f#(s(x),s(y),s(z)) -> c_4(f#(max(s(x),max(s(y),s(z))),p(min(s(x),max(s(y),s(z)))),min(s(x),min(s(y),s(z)))) ,max#(s(x),max(s(y),s(z))) ,max#(s(y),s(z)) ,min#(s(x),max(s(y),s(z))) ,max#(s(y),s(z)) ,min#(s(x),min(s(y),s(z))) ,min#(s(y),s(z))) max#(s(x),s(y)) -> c_7(max#(x,y)) min#(s(x),s(y)) -> c_10(min#(x,y)) - Weak TRS: max(x,0()) -> x max(0(),y) -> y max(s(x),s(y)) -> s(max(x,y)) min(x,0()) -> 0() min(0(),y) -> 0() min(s(x),s(y)) -> s(min(x,y)) p(s(x)) -> x - Signature: {f/3,max/2,min/2,p/1,f#/3,max#/2,min#/2,p#/1} / {0/0,s/1,c_1/1,c_2/1,c_3/1,c_4/7,c_5/0,c_6/0,c_7/1,c_8/0 ,c_9/0,c_10/1,c_11/0} - Obligation: innermost runtime complexity wrt. defined symbols {f#,max#,min#,p#} and constructors {0,s} + Applied Processor: NaturalMI {miDimension = 1, miDegree = 0, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Just any strict-rules} + Details: We apply a matrix interpretation of kind constructor based matrix interpretation (containing no more than 0 non-zero interpretation-entries in the diagonal of the component-wise maxima): The following argument positions are considered usable: uargs(c_1) = {1}, uargs(c_2) = {1}, uargs(c_3) = {1}, uargs(c_4) = {1,2,3,4,5,6,7}, uargs(c_7) = {1}, uargs(c_10) = {1} Following symbols are considered usable: {min,f#,max#,min#,p#} TcT has computed the following interpretation: p(0) = [0] p(f) = [2] x1 + [4] x2 + [1] x3 + [1] p(max) = [0] p(min) = [1] x1 + [0] p(p) = [0] p(s) = [2] p(f#) = [4] x3 + [4] p(max#) = [0] p(min#) = [0] p(p#) = [2] p(c_1) = [4] x1 + [3] p(c_2) = [2] x1 + [3] p(c_3) = [4] x1 + [0] p(c_4) = [1] x1 + [2] x2 + [1] x3 + [1] x4 + [4] x5 + [4] x6 + [4] x7 + [0] p(c_5) = [2] p(c_6) = [0] p(c_7) = [1] x1 + [0] p(c_8) = [1] p(c_9) = [0] p(c_10) = [2] x1 + [0] p(c_11) = [0] Following rules are strictly oriented: f#(x,y,0()) = [4] > [3] = c_1(max#(x,y)) f#(x,0(),z) = [4] z + [4] > [3] = c_2(max#(x,z)) f#(0(),y,z) = [4] z + [4] > [0] = c_3(max#(y,z)) Following rules are (at-least) weakly oriented: f#(s(x),s(y),s(z)) = [12] >= [12] = c_4(f#(max(s(x),max(s(y),s(z))),p(min(s(x),max(s(y),s(z)))),min(s(x),min(s(y),s(z)))) ,max#(s(x),max(s(y),s(z))) ,max#(s(y),s(z)) ,min#(s(x),max(s(y),s(z))) ,max#(s(y),s(z)) ,min#(s(x),min(s(y),s(z))) ,min#(s(y),s(z))) max#(s(x),s(y)) = [0] >= [0] = c_7(max#(x,y)) min#(s(x),s(y)) = [0] >= [0] = c_10(min#(x,y)) min(x,0()) = [1] x + [0] >= [0] = 0() min(0(),y) = [0] >= [0] = 0() min(s(x),s(y)) = [2] >= [2] = s(min(x,y)) * Step 7: Failure MAYBE + Considered Problem: - Strict DPs: f#(s(x),s(y),s(z)) -> c_4(f#(max(s(x),max(s(y),s(z))),p(min(s(x),max(s(y),s(z)))),min(s(x),min(s(y),s(z)))) ,max#(s(x),max(s(y),s(z))) ,max#(s(y),s(z)) ,min#(s(x),max(s(y),s(z))) ,max#(s(y),s(z)) ,min#(s(x),min(s(y),s(z))) ,min#(s(y),s(z))) max#(s(x),s(y)) -> c_7(max#(x,y)) min#(s(x),s(y)) -> c_10(min#(x,y)) - Weak DPs: f#(x,y,0()) -> c_1(max#(x,y)) f#(x,0(),z) -> c_2(max#(x,z)) f#(0(),y,z) -> c_3(max#(y,z)) - Weak TRS: max(x,0()) -> x max(0(),y) -> y max(s(x),s(y)) -> s(max(x,y)) min(x,0()) -> 0() min(0(),y) -> 0() min(s(x),s(y)) -> s(min(x,y)) p(s(x)) -> x - Signature: {f/3,max/2,min/2,p/1,f#/3,max#/2,min#/2,p#/1} / {0/0,s/1,c_1/1,c_2/1,c_3/1,c_4/7,c_5/0,c_6/0,c_7/1,c_8/0 ,c_9/0,c_10/1,c_11/0} - Obligation: innermost runtime complexity wrt. defined symbols {f#,max#,min#,p#} and constructors {0,s} + Applied Processor: EmptyProcessor + Details: The problem is still open. MAYBE