MAYBE We are left with following problem, upon which TcT provides the certificate MAYBE. Strict Trs: { eq(0(), 0()) -> true() , eq(0(), s(x)) -> false() , eq(s(x), 0()) -> false() , eq(s(x), s(y)) -> eq(x, y) , le(0(), y) -> true() , le(s(x), 0()) -> false() , le(s(x), s(y)) -> le(x, y) , app(nil(), y) -> y , app(add(n, x), y) -> add(n, app(x, y)) , min(add(n, nil())) -> n , min(add(n, add(m, x))) -> if_min(le(n, m), add(n, add(m, x))) , if_min(true(), add(n, add(m, x))) -> min(add(n, x)) , if_min(false(), add(n, add(m, x))) -> min(add(m, x)) , rm(n, nil()) -> nil() , rm(n, add(m, x)) -> if_rm(eq(n, m), n, add(m, x)) , if_rm(true(), n, add(m, x)) -> rm(n, x) , if_rm(false(), n, add(m, x)) -> add(m, rm(n, x)) , minsort(nil(), nil()) -> nil() , minsort(add(n, x), y) -> if_minsort(eq(n, min(add(n, x))), add(n, x), y) , if_minsort(true(), add(n, x), y) -> add(n, minsort(app(rm(n, x), y), nil())) , if_minsort(false(), add(n, x), y) -> minsort(x, add(n, y)) } Obligation: innermost runtime complexity Answer: MAYBE We add following dependency tuples: Strict DPs: { eq^#(0(), 0()) -> c_1() , eq^#(0(), s(x)) -> c_2() , eq^#(s(x), 0()) -> c_3() , eq^#(s(x), s(y)) -> c_4(eq^#(x, y)) , le^#(0(), y) -> c_5() , le^#(s(x), 0()) -> c_6() , le^#(s(x), s(y)) -> c_7(le^#(x, y)) , app^#(nil(), y) -> c_8() , app^#(add(n, x), y) -> c_9(app^#(x, y)) , min^#(add(n, nil())) -> c_10() , min^#(add(n, add(m, x))) -> c_11(if_min^#(le(n, m), add(n, add(m, x))), le^#(n, m)) , if_min^#(true(), add(n, add(m, x))) -> c_12(min^#(add(n, x))) , if_min^#(false(), add(n, add(m, x))) -> c_13(min^#(add(m, x))) , rm^#(n, nil()) -> c_14() , rm^#(n, add(m, x)) -> c_15(if_rm^#(eq(n, m), n, add(m, x)), eq^#(n, m)) , if_rm^#(true(), n, add(m, x)) -> c_16(rm^#(n, x)) , if_rm^#(false(), n, add(m, x)) -> c_17(rm^#(n, x)) , minsort^#(nil(), nil()) -> c_18() , minsort^#(add(n, x), y) -> c_19(if_minsort^#(eq(n, min(add(n, x))), add(n, x), y), eq^#(n, min(add(n, x))), min^#(add(n, x))) , if_minsort^#(true(), add(n, x), y) -> c_20(minsort^#(app(rm(n, x), y), nil()), app^#(rm(n, x), y), rm^#(n, x)) , if_minsort^#(false(), add(n, x), y) -> c_21(minsort^#(x, add(n, y))) } and mark the set of starting terms. We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { eq^#(0(), 0()) -> c_1() , eq^#(0(), s(x)) -> c_2() , eq^#(s(x), 0()) -> c_3() , eq^#(s(x), s(y)) -> c_4(eq^#(x, y)) , le^#(0(), y) -> c_5() , le^#(s(x), 0()) -> c_6() , le^#(s(x), s(y)) -> c_7(le^#(x, y)) , app^#(nil(), y) -> c_8() , app^#(add(n, x), y) -> c_9(app^#(x, y)) , min^#(add(n, nil())) -> c_10() , min^#(add(n, add(m, x))) -> c_11(if_min^#(le(n, m), add(n, add(m, x))), le^#(n, m)) , if_min^#(true(), add(n, add(m, x))) -> c_12(min^#(add(n, x))) , if_min^#(false(), add(n, add(m, x))) -> c_13(min^#(add(m, x))) , rm^#(n, nil()) -> c_14() , rm^#(n, add(m, x)) -> c_15(if_rm^#(eq(n, m), n, add(m, x)), eq^#(n, m)) , if_rm^#(true(), n, add(m, x)) -> c_16(rm^#(n, x)) , if_rm^#(false(), n, add(m, x)) -> c_17(rm^#(n, x)) , minsort^#(nil(), nil()) -> c_18() , minsort^#(add(n, x), y) -> c_19(if_minsort^#(eq(n, min(add(n, x))), add(n, x), y), eq^#(n, min(add(n, x))), min^#(add(n, x))) , if_minsort^#(true(), add(n, x), y) -> c_20(minsort^#(app(rm(n, x), y), nil()), app^#(rm(n, x), y), rm^#(n, x)) , if_minsort^#(false(), add(n, x), y) -> c_21(minsort^#(x, add(n, y))) } Weak Trs: { eq(0(), 0()) -> true() , eq(0(), s(x)) -> false() , eq(s(x), 0()) -> false() , eq(s(x), s(y)) -> eq(x, y) , le(0(), y) -> true() , le(s(x), 0()) -> false() , le(s(x), s(y)) -> le(x, y) , app(nil(), y) -> y , app(add(n, x), y) -> add(n, app(x, y)) , min(add(n, nil())) -> n , min(add(n, add(m, x))) -> if_min(le(n, m), add(n, add(m, x))) , if_min(true(), add(n, add(m, x))) -> min(add(n, x)) , if_min(false(), add(n, add(m, x))) -> min(add(m, x)) , rm(n, nil()) -> nil() , rm(n, add(m, x)) -> if_rm(eq(n, m), n, add(m, x)) , if_rm(true(), n, add(m, x)) -> rm(n, x) , if_rm(false(), n, add(m, x)) -> add(m, rm(n, x)) , minsort(nil(), nil()) -> nil() , minsort(add(n, x), y) -> if_minsort(eq(n, min(add(n, x))), add(n, x), y) , if_minsort(true(), add(n, x), y) -> add(n, minsort(app(rm(n, x), y), nil())) , if_minsort(false(), add(n, x), y) -> minsort(x, add(n, y)) } Obligation: innermost runtime complexity Answer: MAYBE We estimate the number of application of {1,2,3,5,6,8,10,14,18} by applications of Pre({1,2,3,5,6,8,10,14,18}) = {4,7,9,11,12,13,15,16,17,19,20}. Here rules are labeled as follows: DPs: { 1: eq^#(0(), 0()) -> c_1() , 2: eq^#(0(), s(x)) -> c_2() , 3: eq^#(s(x), 0()) -> c_3() , 4: eq^#(s(x), s(y)) -> c_4(eq^#(x, y)) , 5: le^#(0(), y) -> c_5() , 6: le^#(s(x), 0()) -> c_6() , 7: le^#(s(x), s(y)) -> c_7(le^#(x, y)) , 8: app^#(nil(), y) -> c_8() , 9: app^#(add(n, x), y) -> c_9(app^#(x, y)) , 10: min^#(add(n, nil())) -> c_10() , 11: min^#(add(n, add(m, x))) -> c_11(if_min^#(le(n, m), add(n, add(m, x))), le^#(n, m)) , 12: if_min^#(true(), add(n, add(m, x))) -> c_12(min^#(add(n, x))) , 13: if_min^#(false(), add(n, add(m, x))) -> c_13(min^#(add(m, x))) , 14: rm^#(n, nil()) -> c_14() , 15: rm^#(n, add(m, x)) -> c_15(if_rm^#(eq(n, m), n, add(m, x)), eq^#(n, m)) , 16: if_rm^#(true(), n, add(m, x)) -> c_16(rm^#(n, x)) , 17: if_rm^#(false(), n, add(m, x)) -> c_17(rm^#(n, x)) , 18: minsort^#(nil(), nil()) -> c_18() , 19: minsort^#(add(n, x), y) -> c_19(if_minsort^#(eq(n, min(add(n, x))), add(n, x), y), eq^#(n, min(add(n, x))), min^#(add(n, x))) , 20: if_minsort^#(true(), add(n, x), y) -> c_20(minsort^#(app(rm(n, x), y), nil()), app^#(rm(n, x), y), rm^#(n, x)) , 21: if_minsort^#(false(), add(n, x), y) -> c_21(minsort^#(x, add(n, y))) } We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { eq^#(s(x), s(y)) -> c_4(eq^#(x, y)) , le^#(s(x), s(y)) -> c_7(le^#(x, y)) , app^#(add(n, x), y) -> c_9(app^#(x, y)) , min^#(add(n, add(m, x))) -> c_11(if_min^#(le(n, m), add(n, add(m, x))), le^#(n, m)) , if_min^#(true(), add(n, add(m, x))) -> c_12(min^#(add(n, x))) , if_min^#(false(), add(n, add(m, x))) -> c_13(min^#(add(m, x))) , rm^#(n, add(m, x)) -> c_15(if_rm^#(eq(n, m), n, add(m, x)), eq^#(n, m)) , if_rm^#(true(), n, add(m, x)) -> c_16(rm^#(n, x)) , if_rm^#(false(), n, add(m, x)) -> c_17(rm^#(n, x)) , minsort^#(add(n, x), y) -> c_19(if_minsort^#(eq(n, min(add(n, x))), add(n, x), y), eq^#(n, min(add(n, x))), min^#(add(n, x))) , if_minsort^#(true(), add(n, x), y) -> c_20(minsort^#(app(rm(n, x), y), nil()), app^#(rm(n, x), y), rm^#(n, x)) , if_minsort^#(false(), add(n, x), y) -> c_21(minsort^#(x, add(n, y))) } Weak DPs: { eq^#(0(), 0()) -> c_1() , eq^#(0(), s(x)) -> c_2() , eq^#(s(x), 0()) -> c_3() , le^#(0(), y) -> c_5() , le^#(s(x), 0()) -> c_6() , app^#(nil(), y) -> c_8() , min^#(add(n, nil())) -> c_10() , rm^#(n, nil()) -> c_14() , minsort^#(nil(), nil()) -> c_18() } Weak Trs: { eq(0(), 0()) -> true() , eq(0(), s(x)) -> false() , eq(s(x), 0()) -> false() , eq(s(x), s(y)) -> eq(x, y) , le(0(), y) -> true() , le(s(x), 0()) -> false() , le(s(x), s(y)) -> le(x, y) , app(nil(), y) -> y , app(add(n, x), y) -> add(n, app(x, y)) , min(add(n, nil())) -> n , min(add(n, add(m, x))) -> if_min(le(n, m), add(n, add(m, x))) , if_min(true(), add(n, add(m, x))) -> min(add(n, x)) , if_min(false(), add(n, add(m, x))) -> min(add(m, x)) , rm(n, nil()) -> nil() , rm(n, add(m, x)) -> if_rm(eq(n, m), n, add(m, x)) , if_rm(true(), n, add(m, x)) -> rm(n, x) , if_rm(false(), n, add(m, x)) -> add(m, rm(n, x)) , minsort(nil(), nil()) -> nil() , minsort(add(n, x), y) -> if_minsort(eq(n, min(add(n, x))), add(n, x), y) , if_minsort(true(), add(n, x), y) -> add(n, minsort(app(rm(n, x), y), nil())) , if_minsort(false(), add(n, x), y) -> minsort(x, add(n, y)) } Obligation: innermost runtime complexity Answer: MAYBE The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed. { eq^#(0(), 0()) -> c_1() , eq^#(0(), s(x)) -> c_2() , eq^#(s(x), 0()) -> c_3() , le^#(0(), y) -> c_5() , le^#(s(x), 0()) -> c_6() , app^#(nil(), y) -> c_8() , min^#(add(n, nil())) -> c_10() , rm^#(n, nil()) -> c_14() , minsort^#(nil(), nil()) -> c_18() } We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { eq^#(s(x), s(y)) -> c_4(eq^#(x, y)) , le^#(s(x), s(y)) -> c_7(le^#(x, y)) , app^#(add(n, x), y) -> c_9(app^#(x, y)) , min^#(add(n, add(m, x))) -> c_11(if_min^#(le(n, m), add(n, add(m, x))), le^#(n, m)) , if_min^#(true(), add(n, add(m, x))) -> c_12(min^#(add(n, x))) , if_min^#(false(), add(n, add(m, x))) -> c_13(min^#(add(m, x))) , rm^#(n, add(m, x)) -> c_15(if_rm^#(eq(n, m), n, add(m, x)), eq^#(n, m)) , if_rm^#(true(), n, add(m, x)) -> c_16(rm^#(n, x)) , if_rm^#(false(), n, add(m, x)) -> c_17(rm^#(n, x)) , minsort^#(add(n, x), y) -> c_19(if_minsort^#(eq(n, min(add(n, x))), add(n, x), y), eq^#(n, min(add(n, x))), min^#(add(n, x))) , if_minsort^#(true(), add(n, x), y) -> c_20(minsort^#(app(rm(n, x), y), nil()), app^#(rm(n, x), y), rm^#(n, x)) , if_minsort^#(false(), add(n, x), y) -> c_21(minsort^#(x, add(n, y))) } Weak Trs: { eq(0(), 0()) -> true() , eq(0(), s(x)) -> false() , eq(s(x), 0()) -> false() , eq(s(x), s(y)) -> eq(x, y) , le(0(), y) -> true() , le(s(x), 0()) -> false() , le(s(x), s(y)) -> le(x, y) , app(nil(), y) -> y , app(add(n, x), y) -> add(n, app(x, y)) , min(add(n, nil())) -> n , min(add(n, add(m, x))) -> if_min(le(n, m), add(n, add(m, x))) , if_min(true(), add(n, add(m, x))) -> min(add(n, x)) , if_min(false(), add(n, add(m, x))) -> min(add(m, x)) , rm(n, nil()) -> nil() , rm(n, add(m, x)) -> if_rm(eq(n, m), n, add(m, x)) , if_rm(true(), n, add(m, x)) -> rm(n, x) , if_rm(false(), n, add(m, x)) -> add(m, rm(n, x)) , minsort(nil(), nil()) -> nil() , minsort(add(n, x), y) -> if_minsort(eq(n, min(add(n, x))), add(n, x), y) , if_minsort(true(), add(n, x), y) -> add(n, minsort(app(rm(n, x), y), nil())) , if_minsort(false(), add(n, x), y) -> minsort(x, add(n, y)) } Obligation: innermost runtime complexity Answer: MAYBE We replace rewrite rules by usable rules: Weak Usable Rules: { eq(0(), 0()) -> true() , eq(0(), s(x)) -> false() , eq(s(x), 0()) -> false() , eq(s(x), s(y)) -> eq(x, y) , le(0(), y) -> true() , le(s(x), 0()) -> false() , le(s(x), s(y)) -> le(x, y) , app(nil(), y) -> y , app(add(n, x), y) -> add(n, app(x, y)) , min(add(n, nil())) -> n , min(add(n, add(m, x))) -> if_min(le(n, m), add(n, add(m, x))) , if_min(true(), add(n, add(m, x))) -> min(add(n, x)) , if_min(false(), add(n, add(m, x))) -> min(add(m, x)) , rm(n, nil()) -> nil() , rm(n, add(m, x)) -> if_rm(eq(n, m), n, add(m, x)) , if_rm(true(), n, add(m, x)) -> rm(n, x) , if_rm(false(), n, add(m, x)) -> add(m, rm(n, x)) } We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { eq^#(s(x), s(y)) -> c_4(eq^#(x, y)) , le^#(s(x), s(y)) -> c_7(le^#(x, y)) , app^#(add(n, x), y) -> c_9(app^#(x, y)) , min^#(add(n, add(m, x))) -> c_11(if_min^#(le(n, m), add(n, add(m, x))), le^#(n, m)) , if_min^#(true(), add(n, add(m, x))) -> c_12(min^#(add(n, x))) , if_min^#(false(), add(n, add(m, x))) -> c_13(min^#(add(m, x))) , rm^#(n, add(m, x)) -> c_15(if_rm^#(eq(n, m), n, add(m, x)), eq^#(n, m)) , if_rm^#(true(), n, add(m, x)) -> c_16(rm^#(n, x)) , if_rm^#(false(), n, add(m, x)) -> c_17(rm^#(n, x)) , minsort^#(add(n, x), y) -> c_19(if_minsort^#(eq(n, min(add(n, x))), add(n, x), y), eq^#(n, min(add(n, x))), min^#(add(n, x))) , if_minsort^#(true(), add(n, x), y) -> c_20(minsort^#(app(rm(n, x), y), nil()), app^#(rm(n, x), y), rm^#(n, x)) , if_minsort^#(false(), add(n, x), y) -> c_21(minsort^#(x, add(n, y))) } Weak Trs: { eq(0(), 0()) -> true() , eq(0(), s(x)) -> false() , eq(s(x), 0()) -> false() , eq(s(x), s(y)) -> eq(x, y) , le(0(), y) -> true() , le(s(x), 0()) -> false() , le(s(x), s(y)) -> le(x, y) , app(nil(), y) -> y , app(add(n, x), y) -> add(n, app(x, y)) , min(add(n, nil())) -> n , min(add(n, add(m, x))) -> if_min(le(n, m), add(n, add(m, x))) , if_min(true(), add(n, add(m, x))) -> min(add(n, x)) , if_min(false(), add(n, add(m, x))) -> min(add(m, x)) , rm(n, nil()) -> nil() , rm(n, add(m, x)) -> if_rm(eq(n, m), n, add(m, x)) , if_rm(true(), n, add(m, x)) -> rm(n, x) , if_rm(false(), n, add(m, x)) -> add(m, rm(n, x)) } Obligation: innermost runtime complexity Answer: MAYBE The input cannot be shown compatible Arrrr..