MAYBE * Step 1: DependencyPairs MAYBE + Considered Problem: - Strict TRS: del(x,cons(y,z)) -> if2(eq(x,y),x,y,z) del(x,nil()) -> nil() eq(0(),0()) -> true() eq(0(),s(y)) -> false() eq(s(x),0()) -> false() eq(s(x),s(y)) -> eq(x,y) if1(false(),x,y,xs) -> min(y,xs) if1(true(),x,y,xs) -> min(x,xs) if2(false(),x,y,xs) -> cons(y,del(x,xs)) if2(true(),x,y,xs) -> xs le(0(),y) -> true() le(s(x),0()) -> false() le(s(x),s(y)) -> le(x,y) min(x,cons(y,z)) -> if1(le(x,y),x,y,z) min(x,nil()) -> x minsort(cons(x,y)) -> cons(min(x,y),minsort(del(min(x,y),cons(x,y)))) minsort(nil()) -> nil() - Signature: {del/2,eq/2,if1/4,if2/4,le/2,min/2,minsort/1} / {0/0,cons/2,false/0,nil/0,s/1,true/0} - Obligation: innermost runtime complexity wrt. defined symbols {del,eq,if1,if2,le,min,minsort} and constructors {0,cons ,false,nil,s,true} + Applied Processor: DependencyPairs {dpKind_ = DT} + Details: We add the following dependency tuples: Strict DPs del#(x,cons(y,z)) -> c_1(if2#(eq(x,y),x,y,z),eq#(x,y)) del#(x,nil()) -> c_2() eq#(0(),0()) -> c_3() eq#(0(),s(y)) -> c_4() eq#(s(x),0()) -> c_5() eq#(s(x),s(y)) -> c_6(eq#(x,y)) if1#(false(),x,y,xs) -> c_7(min#(y,xs)) if1#(true(),x,y,xs) -> c_8(min#(x,xs)) if2#(false(),x,y,xs) -> c_9(del#(x,xs)) if2#(true(),x,y,xs) -> c_10() le#(0(),y) -> c_11() le#(s(x),0()) -> c_12() le#(s(x),s(y)) -> c_13(le#(x,y)) min#(x,cons(y,z)) -> c_14(if1#(le(x,y),x,y,z),le#(x,y)) min#(x,nil()) -> c_15() minsort#(cons(x,y)) -> c_16(min#(x,y),minsort#(del(min(x,y),cons(x,y))),del#(min(x,y),cons(x,y)),min#(x,y)) minsort#(nil()) -> c_17() Weak DPs and mark the set of starting terms. * Step 2: UsableRules MAYBE + Considered Problem: - Strict DPs: del#(x,cons(y,z)) -> c_1(if2#(eq(x,y),x,y,z),eq#(x,y)) del#(x,nil()) -> c_2() eq#(0(),0()) -> c_3() eq#(0(),s(y)) -> c_4() eq#(s(x),0()) -> c_5() eq#(s(x),s(y)) -> c_6(eq#(x,y)) if1#(false(),x,y,xs) -> c_7(min#(y,xs)) if1#(true(),x,y,xs) -> c_8(min#(x,xs)) if2#(false(),x,y,xs) -> c_9(del#(x,xs)) if2#(true(),x,y,xs) -> c_10() le#(0(),y) -> c_11() le#(s(x),0()) -> c_12() le#(s(x),s(y)) -> c_13(le#(x,y)) min#(x,cons(y,z)) -> c_14(if1#(le(x,y),x,y,z),le#(x,y)) min#(x,nil()) -> c_15() minsort#(cons(x,y)) -> c_16(min#(x,y),minsort#(del(min(x,y),cons(x,y))),del#(min(x,y),cons(x,y)),min#(x,y)) minsort#(nil()) -> c_17() - Weak TRS: del(x,cons(y,z)) -> if2(eq(x,y),x,y,z) del(x,nil()) -> nil() eq(0(),0()) -> true() eq(0(),s(y)) -> false() eq(s(x),0()) -> false() eq(s(x),s(y)) -> eq(x,y) if1(false(),x,y,xs) -> min(y,xs) if1(true(),x,y,xs) -> min(x,xs) if2(false(),x,y,xs) -> cons(y,del(x,xs)) if2(true(),x,y,xs) -> xs le(0(),y) -> true() le(s(x),0()) -> false() le(s(x),s(y)) -> le(x,y) min(x,cons(y,z)) -> if1(le(x,y),x,y,z) min(x,nil()) -> x minsort(cons(x,y)) -> cons(min(x,y),minsort(del(min(x,y),cons(x,y)))) minsort(nil()) -> nil() - Signature: {del/2,eq/2,if1/4,if2/4,le/2,min/2,minsort/1,del#/2,eq#/2,if1#/4,if2#/4,le#/2,min#/2,minsort#/1} / {0/0 ,cons/2,false/0,nil/0,s/1,true/0,c_1/2,c_2/0,c_3/0,c_4/0,c_5/0,c_6/1,c_7/1,c_8/1,c_9/1,c_10/0,c_11/0,c_12/0 ,c_13/1,c_14/2,c_15/0,c_16/4,c_17/0} - Obligation: innermost runtime complexity wrt. defined symbols {del#,eq#,if1#,if2#,le#,min#,minsort#} and constructors {0 ,cons,false,nil,s,true} + Applied Processor: UsableRules + Details: We replace rewrite rules by usable rules: del(x,cons(y,z)) -> if2(eq(x,y),x,y,z) del(x,nil()) -> nil() eq(0(),0()) -> true() eq(0(),s(y)) -> false() eq(s(x),0()) -> false() eq(s(x),s(y)) -> eq(x,y) if1(false(),x,y,xs) -> min(y,xs) if1(true(),x,y,xs) -> min(x,xs) if2(false(),x,y,xs) -> cons(y,del(x,xs)) if2(true(),x,y,xs) -> xs le(0(),y) -> true() le(s(x),0()) -> false() le(s(x),s(y)) -> le(x,y) min(x,cons(y,z)) -> if1(le(x,y),x,y,z) min(x,nil()) -> x del#(x,cons(y,z)) -> c_1(if2#(eq(x,y),x,y,z),eq#(x,y)) del#(x,nil()) -> c_2() eq#(0(),0()) -> c_3() eq#(0(),s(y)) -> c_4() eq#(s(x),0()) -> c_5() eq#(s(x),s(y)) -> c_6(eq#(x,y)) if1#(false(),x,y,xs) -> c_7(min#(y,xs)) if1#(true(),x,y,xs) -> c_8(min#(x,xs)) if2#(false(),x,y,xs) -> c_9(del#(x,xs)) if2#(true(),x,y,xs) -> c_10() le#(0(),y) -> c_11() le#(s(x),0()) -> c_12() le#(s(x),s(y)) -> c_13(le#(x,y)) min#(x,cons(y,z)) -> c_14(if1#(le(x,y),x,y,z),le#(x,y)) min#(x,nil()) -> c_15() minsort#(cons(x,y)) -> c_16(min#(x,y),minsort#(del(min(x,y),cons(x,y))),del#(min(x,y),cons(x,y)),min#(x,y)) minsort#(nil()) -> c_17() * Step 3: PredecessorEstimation MAYBE + Considered Problem: - Strict DPs: del#(x,cons(y,z)) -> c_1(if2#(eq(x,y),x,y,z),eq#(x,y)) del#(x,nil()) -> c_2() eq#(0(),0()) -> c_3() eq#(0(),s(y)) -> c_4() eq#(s(x),0()) -> c_5() eq#(s(x),s(y)) -> c_6(eq#(x,y)) if1#(false(),x,y,xs) -> c_7(min#(y,xs)) if1#(true(),x,y,xs) -> c_8(min#(x,xs)) if2#(false(),x,y,xs) -> c_9(del#(x,xs)) if2#(true(),x,y,xs) -> c_10() le#(0(),y) -> c_11() le#(s(x),0()) -> c_12() le#(s(x),s(y)) -> c_13(le#(x,y)) min#(x,cons(y,z)) -> c_14(if1#(le(x,y),x,y,z),le#(x,y)) min#(x,nil()) -> c_15() minsort#(cons(x,y)) -> c_16(min#(x,y),minsort#(del(min(x,y),cons(x,y))),del#(min(x,y),cons(x,y)),min#(x,y)) minsort#(nil()) -> c_17() - Weak TRS: del(x,cons(y,z)) -> if2(eq(x,y),x,y,z) del(x,nil()) -> nil() eq(0(),0()) -> true() eq(0(),s(y)) -> false() eq(s(x),0()) -> false() eq(s(x),s(y)) -> eq(x,y) if1(false(),x,y,xs) -> min(y,xs) if1(true(),x,y,xs) -> min(x,xs) if2(false(),x,y,xs) -> cons(y,del(x,xs)) if2(true(),x,y,xs) -> xs le(0(),y) -> true() le(s(x),0()) -> false() le(s(x),s(y)) -> le(x,y) min(x,cons(y,z)) -> if1(le(x,y),x,y,z) min(x,nil()) -> x - Signature: {del/2,eq/2,if1/4,if2/4,le/2,min/2,minsort/1,del#/2,eq#/2,if1#/4,if2#/4,le#/2,min#/2,minsort#/1} / {0/0 ,cons/2,false/0,nil/0,s/1,true/0,c_1/2,c_2/0,c_3/0,c_4/0,c_5/0,c_6/1,c_7/1,c_8/1,c_9/1,c_10/0,c_11/0,c_12/0 ,c_13/1,c_14/2,c_15/0,c_16/4,c_17/0} - Obligation: innermost runtime complexity wrt. defined symbols {del#,eq#,if1#,if2#,le#,min#,minsort#} and constructors {0 ,cons,false,nil,s,true} + Applied Processor: PredecessorEstimation {onSelection = all simple predecessor estimation selector} + Details: We estimate the number of application of {2,3,4,5,10,11,12,15,17} by application of Pre({2,3,4,5,10,11,12,15,17}) = {1,6,7,8,9,13,14,16}. Here rules are labelled as follows: 1: del#(x,cons(y,z)) -> c_1(if2#(eq(x,y),x,y,z),eq#(x,y)) 2: del#(x,nil()) -> c_2() 3: eq#(0(),0()) -> c_3() 4: eq#(0(),s(y)) -> c_4() 5: eq#(s(x),0()) -> c_5() 6: eq#(s(x),s(y)) -> c_6(eq#(x,y)) 7: if1#(false(),x,y,xs) -> c_7(min#(y,xs)) 8: if1#(true(),x,y,xs) -> c_8(min#(x,xs)) 9: if2#(false(),x,y,xs) -> c_9(del#(x,xs)) 10: if2#(true(),x,y,xs) -> c_10() 11: le#(0(),y) -> c_11() 12: le#(s(x),0()) -> c_12() 13: le#(s(x),s(y)) -> c_13(le#(x,y)) 14: min#(x,cons(y,z)) -> c_14(if1#(le(x,y),x,y,z),le#(x,y)) 15: min#(x,nil()) -> c_15() 16: minsort#(cons(x,y)) -> c_16(min#(x,y) ,minsort#(del(min(x,y),cons(x,y))) ,del#(min(x,y),cons(x,y)) ,min#(x,y)) 17: minsort#(nil()) -> c_17() * Step 4: RemoveWeakSuffixes MAYBE + Considered Problem: - Strict DPs: del#(x,cons(y,z)) -> c_1(if2#(eq(x,y),x,y,z),eq#(x,y)) eq#(s(x),s(y)) -> c_6(eq#(x,y)) if1#(false(),x,y,xs) -> c_7(min#(y,xs)) if1#(true(),x,y,xs) -> c_8(min#(x,xs)) if2#(false(),x,y,xs) -> c_9(del#(x,xs)) le#(s(x),s(y)) -> c_13(le#(x,y)) min#(x,cons(y,z)) -> c_14(if1#(le(x,y),x,y,z),le#(x,y)) minsort#(cons(x,y)) -> c_16(min#(x,y),minsort#(del(min(x,y),cons(x,y))),del#(min(x,y),cons(x,y)),min#(x,y)) - Weak DPs: del#(x,nil()) -> c_2() eq#(0(),0()) -> c_3() eq#(0(),s(y)) -> c_4() eq#(s(x),0()) -> c_5() if2#(true(),x,y,xs) -> c_10() le#(0(),y) -> c_11() le#(s(x),0()) -> c_12() min#(x,nil()) -> c_15() minsort#(nil()) -> c_17() - Weak TRS: del(x,cons(y,z)) -> if2(eq(x,y),x,y,z) del(x,nil()) -> nil() eq(0(),0()) -> true() eq(0(),s(y)) -> false() eq(s(x),0()) -> false() eq(s(x),s(y)) -> eq(x,y) if1(false(),x,y,xs) -> min(y,xs) if1(true(),x,y,xs) -> min(x,xs) if2(false(),x,y,xs) -> cons(y,del(x,xs)) if2(true(),x,y,xs) -> xs le(0(),y) -> true() le(s(x),0()) -> false() le(s(x),s(y)) -> le(x,y) min(x,cons(y,z)) -> if1(le(x,y),x,y,z) min(x,nil()) -> x - Signature: {del/2,eq/2,if1/4,if2/4,le/2,min/2,minsort/1,del#/2,eq#/2,if1#/4,if2#/4,le#/2,min#/2,minsort#/1} / {0/0 ,cons/2,false/0,nil/0,s/1,true/0,c_1/2,c_2/0,c_3/0,c_4/0,c_5/0,c_6/1,c_7/1,c_8/1,c_9/1,c_10/0,c_11/0,c_12/0 ,c_13/1,c_14/2,c_15/0,c_16/4,c_17/0} - Obligation: innermost runtime complexity wrt. defined symbols {del#,eq#,if1#,if2#,le#,min#,minsort#} and constructors {0 ,cons,false,nil,s,true} + Applied Processor: RemoveWeakSuffixes + Details: Consider the dependency graph 1:S:del#(x,cons(y,z)) -> c_1(if2#(eq(x,y),x,y,z),eq#(x,y)) -->_1 if2#(false(),x,y,xs) -> c_9(del#(x,xs)):5 -->_2 eq#(s(x),s(y)) -> c_6(eq#(x,y)):2 -->_1 if2#(true(),x,y,xs) -> c_10():13 -->_2 eq#(s(x),0()) -> c_5():12 -->_2 eq#(0(),s(y)) -> c_4():11 -->_2 eq#(0(),0()) -> c_3():10 2:S:eq#(s(x),s(y)) -> c_6(eq#(x,y)) -->_1 eq#(s(x),0()) -> c_5():12 -->_1 eq#(0(),s(y)) -> c_4():11 -->_1 eq#(0(),0()) -> c_3():10 -->_1 eq#(s(x),s(y)) -> c_6(eq#(x,y)):2 3:S:if1#(false(),x,y,xs) -> c_7(min#(y,xs)) -->_1 min#(x,cons(y,z)) -> c_14(if1#(le(x,y),x,y,z),le#(x,y)):7 -->_1 min#(x,nil()) -> c_15():16 4:S:if1#(true(),x,y,xs) -> c_8(min#(x,xs)) -->_1 min#(x,cons(y,z)) -> c_14(if1#(le(x,y),x,y,z),le#(x,y)):7 -->_1 min#(x,nil()) -> c_15():16 5:S:if2#(false(),x,y,xs) -> c_9(del#(x,xs)) -->_1 del#(x,nil()) -> c_2():9 -->_1 del#(x,cons(y,z)) -> c_1(if2#(eq(x,y),x,y,z),eq#(x,y)):1 6:S:le#(s(x),s(y)) -> c_13(le#(x,y)) -->_1 le#(s(x),0()) -> c_12():15 -->_1 le#(0(),y) -> c_11():14 -->_1 le#(s(x),s(y)) -> c_13(le#(x,y)):6 7:S:min#(x,cons(y,z)) -> c_14(if1#(le(x,y),x,y,z),le#(x,y)) -->_2 le#(s(x),0()) -> c_12():15 -->_2 le#(0(),y) -> c_11():14 -->_2 le#(s(x),s(y)) -> c_13(le#(x,y)):6 -->_1 if1#(true(),x,y,xs) -> c_8(min#(x,xs)):4 -->_1 if1#(false(),x,y,xs) -> c_7(min#(y,xs)):3 8:S:minsort#(cons(x,y)) -> c_16(min#(x,y) ,minsort#(del(min(x,y),cons(x,y))) ,del#(min(x,y),cons(x,y)) ,min#(x,y)) -->_2 minsort#(nil()) -> c_17():17 -->_4 min#(x,nil()) -> c_15():16 -->_1 min#(x,nil()) -> c_15():16 -->_2 minsort#(cons(x,y)) -> c_16(min#(x,y) ,minsort#(del(min(x,y),cons(x,y))) ,del#(min(x,y),cons(x,y)) ,min#(x,y)):8 -->_4 min#(x,cons(y,z)) -> c_14(if1#(le(x,y),x,y,z),le#(x,y)):7 -->_1 min#(x,cons(y,z)) -> c_14(if1#(le(x,y),x,y,z),le#(x,y)):7 -->_3 del#(x,cons(y,z)) -> c_1(if2#(eq(x,y),x,y,z),eq#(x,y)):1 9:W:del#(x,nil()) -> c_2() 10:W:eq#(0(),0()) -> c_3() 11:W:eq#(0(),s(y)) -> c_4() 12:W:eq#(s(x),0()) -> c_5() 13:W:if2#(true(),x,y,xs) -> c_10() 14:W:le#(0(),y) -> c_11() 15:W:le#(s(x),0()) -> c_12() 16:W:min#(x,nil()) -> c_15() 17:W:minsort#(nil()) -> c_17() The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed. 17: minsort#(nil()) -> c_17() 16: min#(x,nil()) -> c_15() 14: le#(0(),y) -> c_11() 15: le#(s(x),0()) -> c_12() 13: if2#(true(),x,y,xs) -> c_10() 10: eq#(0(),0()) -> c_3() 11: eq#(0(),s(y)) -> c_4() 12: eq#(s(x),0()) -> c_5() 9: del#(x,nil()) -> c_2() * Step 5: Failure MAYBE + Considered Problem: - Strict DPs: del#(x,cons(y,z)) -> c_1(if2#(eq(x,y),x,y,z),eq#(x,y)) eq#(s(x),s(y)) -> c_6(eq#(x,y)) if1#(false(),x,y,xs) -> c_7(min#(y,xs)) if1#(true(),x,y,xs) -> c_8(min#(x,xs)) if2#(false(),x,y,xs) -> c_9(del#(x,xs)) le#(s(x),s(y)) -> c_13(le#(x,y)) min#(x,cons(y,z)) -> c_14(if1#(le(x,y),x,y,z),le#(x,y)) minsort#(cons(x,y)) -> c_16(min#(x,y),minsort#(del(min(x,y),cons(x,y))),del#(min(x,y),cons(x,y)),min#(x,y)) - Weak TRS: del(x,cons(y,z)) -> if2(eq(x,y),x,y,z) del(x,nil()) -> nil() eq(0(),0()) -> true() eq(0(),s(y)) -> false() eq(s(x),0()) -> false() eq(s(x),s(y)) -> eq(x,y) if1(false(),x,y,xs) -> min(y,xs) if1(true(),x,y,xs) -> min(x,xs) if2(false(),x,y,xs) -> cons(y,del(x,xs)) if2(true(),x,y,xs) -> xs le(0(),y) -> true() le(s(x),0()) -> false() le(s(x),s(y)) -> le(x,y) min(x,cons(y,z)) -> if1(le(x,y),x,y,z) min(x,nil()) -> x - Signature: {del/2,eq/2,if1/4,if2/4,le/2,min/2,minsort/1,del#/2,eq#/2,if1#/4,if2#/4,le#/2,min#/2,minsort#/1} / {0/0 ,cons/2,false/0,nil/0,s/1,true/0,c_1/2,c_2/0,c_3/0,c_4/0,c_5/0,c_6/1,c_7/1,c_8/1,c_9/1,c_10/0,c_11/0,c_12/0 ,c_13/1,c_14/2,c_15/0,c_16/4,c_17/0} - Obligation: innermost runtime complexity wrt. defined symbols {del#,eq#,if1#,if2#,le#,min#,minsort#} and constructors {0 ,cons,false,nil,s,true} + Applied Processor: EmptyProcessor + Details: The problem is still open. MAYBE