MAYBE 867.22/297.04 MAYBE 867.22/297.04 867.22/297.04 We are left with following problem, upon which TcT provides the 867.22/297.04 certificate MAYBE. 867.22/297.04 867.22/297.04 Strict Trs: 867.22/297.04 { minsort(Nil()) -> Nil() 867.22/297.04 , minsort(Cons(x, xs)) -> appmin(x, xs, Cons(x, xs)) 867.22/297.04 , appmin(min, Nil(), xs) -> Cons(min, minsort(remove(min, xs))) 867.22/297.04 , appmin(min, Cons(x, xs), xs') -> 867.22/297.04 appmin[Ite][True][Ite](<(x, min), min, Cons(x, xs), xs') 867.22/297.04 , remove(x', Cons(x, xs)) -> 867.22/297.04 remove[Ite](!EQ(x', x), x', Cons(x, xs)) 867.22/297.04 , notEmpty(Nil()) -> False() 867.22/297.04 , notEmpty(Cons(x, xs)) -> True() } 867.22/297.04 Weak Trs: 867.22/297.04 { remove[Ite](True(), x', Cons(x, xs)) -> xs 867.22/297.04 , remove[Ite](False(), x', Cons(x, xs)) -> Cons(x, remove(x', xs)) 867.22/297.04 , !EQ(S(x), S(y)) -> !EQ(x, y) 867.22/297.04 , !EQ(S(x), 0()) -> False() 867.22/297.04 , !EQ(0(), S(y)) -> False() 867.22/297.04 , !EQ(0(), 0()) -> True() 867.22/297.04 , <(x, 0()) -> False() 867.22/297.04 , <(S(x), S(y)) -> <(x, y) 867.22/297.04 , <(0(), S(y)) -> True() 867.22/297.04 , appmin[Ite][True][Ite](True(), min, Cons(x, xs), xs') -> 867.22/297.04 appmin(x, xs, xs') 867.22/297.04 , appmin[Ite][True][Ite](False(), min, Cons(x, xs), xs') -> 867.22/297.04 appmin(min, xs, xs') } 867.22/297.04 Obligation: 867.22/297.04 innermost runtime complexity 867.22/297.04 Answer: 867.22/297.04 MAYBE 867.22/297.04 867.22/297.04 None of the processors succeeded. 867.22/297.04 867.22/297.04 Details of failed attempt(s): 867.22/297.04 ----------------------------- 867.22/297.04 1) 'empty' failed due to the following reason: 867.22/297.04 867.22/297.04 Empty strict component of the problem is NOT empty. 867.22/297.04 867.22/297.04 2) 'Best' failed due to the following reason: 867.22/297.04 867.22/297.04 None of the processors succeeded. 867.22/297.04 867.22/297.04 Details of failed attempt(s): 867.22/297.04 ----------------------------- 867.22/297.04 1) 'With Problem ... (timeout of 297 seconds)' failed due to the 867.22/297.04 following reason: 867.22/297.04 867.22/297.04 Computation stopped due to timeout after 297.0 seconds. 867.22/297.04 867.22/297.04 2) 'Best' failed due to the following reason: 867.22/297.04 867.22/297.04 None of the processors succeeded. 867.22/297.04 867.22/297.04 Details of failed attempt(s): 867.22/297.04 ----------------------------- 867.22/297.04 1) 'With Problem ... (timeout of 148 seconds) (timeout of 297 867.22/297.04 seconds)' failed due to the following reason: 867.22/297.04 867.22/297.04 The weightgap principle applies (using the following nonconstant 867.22/297.04 growth matrix-interpretation) 867.22/297.04 867.22/297.04 The following argument positions are usable: 867.22/297.04 Uargs(minsort) = {1}, Uargs(remove[Ite]) = {1}, Uargs(Cons) = {2}, 867.22/297.04 Uargs(appmin[Ite][True][Ite]) = {1} 867.22/297.04 867.22/297.04 TcT has computed the following matrix interpretation satisfying 867.22/297.04 not(EDA) and not(IDA(1)). 867.22/297.04 867.22/297.04 [minsort](x1) = [1] x1 + [0] 867.22/297.04 867.22/297.04 [True] = [1] 867.22/297.04 867.22/297.04 [Nil] = [1] 867.22/297.04 867.22/297.04 [appmin](x1, x2, x3) = [1] x3 + [1] 867.22/297.04 867.22/297.04 [remove[Ite]](x1, x2, x3) = [1] x1 + [1] x3 + [0] 867.22/297.04 867.22/297.04 [!EQ](x1, x2) = [1] 867.22/297.04 867.22/297.04 [<](x1, x2) = [4] 867.22/297.04 867.22/297.04 [S](x1) = [1] x1 + [7] 867.22/297.04 867.22/297.04 [Cons](x1, x2) = [1] x2 + [0] 867.22/297.04 867.22/297.04 [appmin[Ite][True][Ite]](x1, x2, x3, x4) = [1] x1 + [1] x4 + [0] 867.22/297.04 867.22/297.04 [0] = [7] 867.22/297.04 867.22/297.04 [remove](x1, x2) = [1] x2 + [0] 867.22/297.04 867.22/297.04 [notEmpty](x1) = [0] 867.22/297.04 867.22/297.04 [False] = [1] 867.22/297.04 867.22/297.04 The order satisfies the following ordering constraints: 867.22/297.04 867.22/297.04 [minsort(Nil())] = [1] 867.22/297.04 >= [1] 867.22/297.04 = [Nil()] 867.22/297.04 867.22/297.04 [minsort(Cons(x, xs))] = [1] xs + [0] 867.22/297.04 ? [1] xs + [1] 867.22/297.04 = [appmin(x, xs, Cons(x, xs))] 867.22/297.04 867.22/297.04 [appmin(min, Nil(), xs)] = [1] xs + [1] 867.22/297.04 > [1] xs + [0] 867.22/297.04 = [Cons(min, minsort(remove(min, xs)))] 867.22/297.04 867.22/297.04 [appmin(min, Cons(x, xs), xs')] = [1] xs' + [1] 867.22/297.04 ? [1] xs' + [4] 867.22/297.04 = [appmin[Ite][True][Ite](<(x, min), min, Cons(x, xs), xs')] 867.22/297.04 867.22/297.04 [remove[Ite](True(), x', Cons(x, xs))] = [1] xs + [1] 867.22/297.04 > [1] xs + [0] 867.22/297.04 = [xs] 867.22/297.04 867.22/297.04 [remove[Ite](False(), x', Cons(x, xs))] = [1] xs + [1] 867.22/297.04 > [1] xs + [0] 867.22/297.04 = [Cons(x, remove(x', xs))] 867.22/297.04 867.22/297.04 [!EQ(S(x), S(y))] = [1] 867.22/297.04 >= [1] 867.22/297.04 = [!EQ(x, y)] 867.22/297.04 867.22/297.04 [!EQ(S(x), 0())] = [1] 867.22/297.04 >= [1] 867.22/297.04 = [False()] 867.22/297.04 867.22/297.04 [!EQ(0(), S(y))] = [1] 867.22/297.04 >= [1] 867.22/297.04 = [False()] 867.22/297.04 867.22/297.04 [!EQ(0(), 0())] = [1] 867.22/297.04 >= [1] 867.22/297.04 = [True()] 867.22/297.04 867.22/297.04 [<(x, 0())] = [4] 867.22/297.04 > [1] 867.22/297.04 = [False()] 867.22/297.04 867.22/297.04 [<(S(x), S(y))] = [4] 867.22/297.04 >= [4] 867.22/297.04 = [<(x, y)] 867.22/297.04 867.22/297.04 [<(0(), S(y))] = [4] 867.22/297.04 > [1] 867.22/297.04 = [True()] 867.22/297.04 867.22/297.04 [appmin[Ite][True][Ite](True(), min, Cons(x, xs), xs')] = [1] xs' + [1] 867.22/297.04 >= [1] xs' + [1] 867.22/297.04 = [appmin(x, xs, xs')] 867.22/297.04 867.22/297.04 [appmin[Ite][True][Ite](False(), min, Cons(x, xs), xs')] = [1] xs' + [1] 867.22/297.04 >= [1] xs' + [1] 867.22/297.04 = [appmin(min, xs, xs')] 867.22/297.04 867.22/297.04 [remove(x', Cons(x, xs))] = [1] xs + [0] 867.22/297.04 ? [1] xs + [1] 867.22/297.04 = [remove[Ite](!EQ(x', x), x', Cons(x, xs))] 867.22/297.04 867.22/297.04 [notEmpty(Nil())] = [0] 867.22/297.04 ? [1] 867.22/297.04 = [False()] 867.22/297.04 867.22/297.04 [notEmpty(Cons(x, xs))] = [0] 867.22/297.04 ? [1] 867.22/297.04 = [True()] 867.22/297.04 867.22/297.04 867.22/297.04 Further, it can be verified that all rules not oriented are covered by the weightgap condition. 867.22/297.04 867.22/297.04 We are left with following problem, upon which TcT provides the 867.22/297.04 certificate MAYBE. 867.22/297.04 867.22/297.04 Strict Trs: 867.22/297.04 { minsort(Nil()) -> Nil() 867.22/297.04 , minsort(Cons(x, xs)) -> appmin(x, xs, Cons(x, xs)) 867.22/297.04 , appmin(min, Cons(x, xs), xs') -> 867.22/297.04 appmin[Ite][True][Ite](<(x, min), min, Cons(x, xs), xs') 867.22/297.04 , remove(x', Cons(x, xs)) -> 867.22/297.04 remove[Ite](!EQ(x', x), x', Cons(x, xs)) 867.22/297.04 , notEmpty(Nil()) -> False() 867.22/297.04 , notEmpty(Cons(x, xs)) -> True() } 867.22/297.04 Weak Trs: 867.22/297.04 { appmin(min, Nil(), xs) -> Cons(min, minsort(remove(min, xs))) 867.22/297.04 , remove[Ite](True(), x', Cons(x, xs)) -> xs 867.22/297.04 , remove[Ite](False(), x', Cons(x, xs)) -> Cons(x, remove(x', xs)) 867.22/297.04 , !EQ(S(x), S(y)) -> !EQ(x, y) 867.22/297.04 , !EQ(S(x), 0()) -> False() 867.22/297.04 , !EQ(0(), S(y)) -> False() 867.22/297.04 , !EQ(0(), 0()) -> True() 867.22/297.04 , <(x, 0()) -> False() 867.22/297.04 , <(S(x), S(y)) -> <(x, y) 867.22/297.04 , <(0(), S(y)) -> True() 867.22/297.04 , appmin[Ite][True][Ite](True(), min, Cons(x, xs), xs') -> 867.22/297.04 appmin(x, xs, xs') 867.22/297.04 , appmin[Ite][True][Ite](False(), min, Cons(x, xs), xs') -> 867.22/297.04 appmin(min, xs, xs') } 867.22/297.04 Obligation: 867.22/297.04 innermost runtime complexity 867.22/297.04 Answer: 867.22/297.04 MAYBE 867.22/297.04 867.22/297.04 The weightgap principle applies (using the following nonconstant 867.22/297.04 growth matrix-interpretation) 867.22/297.04 867.22/297.04 The following argument positions are usable: 867.22/297.04 Uargs(minsort) = {1}, Uargs(remove[Ite]) = {1}, Uargs(Cons) = {2}, 867.22/297.04 Uargs(appmin[Ite][True][Ite]) = {1} 867.22/297.04 867.22/297.04 TcT has computed the following matrix interpretation satisfying 867.22/297.04 not(EDA) and not(IDA(1)). 867.22/297.04 867.22/297.04 [minsort](x1) = [1] x1 + [0] 867.22/297.04 867.22/297.04 [True] = [0] 867.22/297.04 867.22/297.04 [Nil] = [4] 867.22/297.04 867.22/297.04 [appmin](x1, x2, x3) = [1] x3 + [0] 867.22/297.04 867.22/297.04 [remove[Ite]](x1, x2, x3) = [1] x1 + [1] x3 + [0] 867.22/297.04 867.22/297.04 [!EQ](x1, x2) = [0] 867.22/297.04 867.22/297.04 [<](x1, x2) = [0] 867.22/297.04 867.22/297.04 [S](x1) = [1] x1 + [7] 867.22/297.04 867.22/297.04 [Cons](x1, x2) = [1] x2 + [0] 867.22/297.04 867.22/297.04 [appmin[Ite][True][Ite]](x1, x2, x3, x4) = [1] x1 + [1] x4 + [0] 867.22/297.04 867.22/297.04 [0] = [7] 867.22/297.04 867.22/297.04 [remove](x1, x2) = [1] x2 + [0] 867.22/297.04 867.22/297.04 [notEmpty](x1) = [1] x1 + [0] 867.22/297.04 867.22/297.04 [False] = [0] 867.22/297.04 867.22/297.04 The order satisfies the following ordering constraints: 867.22/297.04 867.22/297.04 [minsort(Nil())] = [4] 867.22/297.04 >= [4] 867.22/297.04 = [Nil()] 867.22/297.04 867.22/297.04 [minsort(Cons(x, xs))] = [1] xs + [0] 867.22/297.04 >= [1] xs + [0] 867.22/297.04 = [appmin(x, xs, Cons(x, xs))] 867.22/297.04 867.22/297.04 [appmin(min, Nil(), xs)] = [1] xs + [0] 867.22/297.04 >= [1] xs + [0] 867.22/297.04 = [Cons(min, minsort(remove(min, xs)))] 867.22/297.04 867.22/297.04 [appmin(min, Cons(x, xs), xs')] = [1] xs' + [0] 867.22/297.04 >= [1] xs' + [0] 867.22/297.04 = [appmin[Ite][True][Ite](<(x, min), min, Cons(x, xs), xs')] 867.22/297.04 867.22/297.04 [remove[Ite](True(), x', Cons(x, xs))] = [1] xs + [0] 867.22/297.04 >= [1] xs + [0] 867.22/297.04 = [xs] 867.22/297.04 867.22/297.04 [remove[Ite](False(), x', Cons(x, xs))] = [1] xs + [0] 867.22/297.04 >= [1] xs + [0] 867.22/297.04 = [Cons(x, remove(x', xs))] 867.22/297.04 867.22/297.04 [!EQ(S(x), S(y))] = [0] 867.22/297.04 >= [0] 867.22/297.04 = [!EQ(x, y)] 867.22/297.04 867.22/297.04 [!EQ(S(x), 0())] = [0] 867.22/297.04 >= [0] 867.22/297.04 = [False()] 867.22/297.04 867.22/297.04 [!EQ(0(), S(y))] = [0] 867.22/297.04 >= [0] 867.22/297.04 = [False()] 867.22/297.04 867.22/297.04 [!EQ(0(), 0())] = [0] 867.22/297.04 >= [0] 867.22/297.04 = [True()] 867.22/297.04 867.22/297.04 [<(x, 0())] = [0] 867.22/297.04 >= [0] 867.22/297.04 = [False()] 867.22/297.04 867.22/297.04 [<(S(x), S(y))] = [0] 867.22/297.04 >= [0] 867.22/297.04 = [<(x, y)] 867.22/297.04 867.22/297.04 [<(0(), S(y))] = [0] 867.22/297.04 >= [0] 867.22/297.04 = [True()] 867.22/297.04 867.22/297.04 [appmin[Ite][True][Ite](True(), min, Cons(x, xs), xs')] = [1] xs' + [0] 867.22/297.04 >= [1] xs' + [0] 867.22/297.04 = [appmin(x, xs, xs')] 867.22/297.04 867.22/297.04 [appmin[Ite][True][Ite](False(), min, Cons(x, xs), xs')] = [1] xs' + [0] 867.22/297.04 >= [1] xs' + [0] 867.22/297.04 = [appmin(min, xs, xs')] 867.22/297.04 867.22/297.04 [remove(x', Cons(x, xs))] = [1] xs + [0] 867.22/297.04 >= [1] xs + [0] 867.22/297.04 = [remove[Ite](!EQ(x', x), x', Cons(x, xs))] 867.22/297.04 867.22/297.04 [notEmpty(Nil())] = [4] 867.22/297.04 > [0] 867.22/297.04 = [False()] 867.22/297.04 867.22/297.04 [notEmpty(Cons(x, xs))] = [1] xs + [0] 867.22/297.04 >= [0] 867.22/297.04 = [True()] 867.22/297.04 867.22/297.04 867.22/297.04 Further, it can be verified that all rules not oriented are covered by the weightgap condition. 867.22/297.04 867.22/297.04 We are left with following problem, upon which TcT provides the 867.22/297.04 certificate MAYBE. 867.22/297.04 867.22/297.04 Strict Trs: 867.22/297.04 { minsort(Nil()) -> Nil() 867.22/297.04 , minsort(Cons(x, xs)) -> appmin(x, xs, Cons(x, xs)) 867.22/297.04 , appmin(min, Cons(x, xs), xs') -> 867.22/297.04 appmin[Ite][True][Ite](<(x, min), min, Cons(x, xs), xs') 867.22/297.04 , remove(x', Cons(x, xs)) -> 867.22/297.04 remove[Ite](!EQ(x', x), x', Cons(x, xs)) 867.22/297.04 , notEmpty(Cons(x, xs)) -> True() } 867.22/297.04 Weak Trs: 867.22/297.04 { appmin(min, Nil(), xs) -> Cons(min, minsort(remove(min, xs))) 867.22/297.04 , remove[Ite](True(), x', Cons(x, xs)) -> xs 867.22/297.04 , remove[Ite](False(), x', Cons(x, xs)) -> Cons(x, remove(x', xs)) 867.22/297.04 , !EQ(S(x), S(y)) -> !EQ(x, y) 867.22/297.04 , !EQ(S(x), 0()) -> False() 867.22/297.04 , !EQ(0(), S(y)) -> False() 867.22/297.04 , !EQ(0(), 0()) -> True() 867.22/297.04 , <(x, 0()) -> False() 867.22/297.04 , <(S(x), S(y)) -> <(x, y) 867.22/297.04 , <(0(), S(y)) -> True() 867.22/297.04 , appmin[Ite][True][Ite](True(), min, Cons(x, xs), xs') -> 867.22/297.04 appmin(x, xs, xs') 867.22/297.04 , appmin[Ite][True][Ite](False(), min, Cons(x, xs), xs') -> 867.22/297.04 appmin(min, xs, xs') 867.22/297.04 , notEmpty(Nil()) -> False() } 867.22/297.04 Obligation: 867.22/297.04 innermost runtime complexity 867.22/297.04 Answer: 867.22/297.04 MAYBE 867.22/297.04 867.22/297.04 The weightgap principle applies (using the following nonconstant 867.22/297.04 growth matrix-interpretation) 867.22/297.04 867.22/297.04 The following argument positions are usable: 867.22/297.04 Uargs(minsort) = {1}, Uargs(remove[Ite]) = {1}, Uargs(Cons) = {2}, 867.22/297.04 Uargs(appmin[Ite][True][Ite]) = {1} 867.22/297.04 867.22/297.04 TcT has computed the following matrix interpretation satisfying 867.22/297.04 not(EDA) and not(IDA(1)). 867.22/297.04 867.22/297.04 [minsort](x1) = [1] x1 + [0] 867.22/297.04 867.22/297.04 [True] = [0] 867.22/297.04 867.22/297.04 [Nil] = [1] 867.22/297.04 867.22/297.04 [appmin](x1, x2, x3) = [1] x3 + [0] 867.22/297.04 867.22/297.04 [remove[Ite]](x1, x2, x3) = [1] x1 + [1] x3 + [0] 867.22/297.04 867.22/297.04 [!EQ](x1, x2) = [0] 867.22/297.04 867.22/297.04 [<](x1, x2) = [0] 867.22/297.04 867.22/297.04 [S](x1) = [1] x1 + [7] 867.22/297.04 867.22/297.04 [Cons](x1, x2) = [1] x2 + [0] 867.22/297.04 867.22/297.04 [appmin[Ite][True][Ite]](x1, x2, x3, x4) = [1] x1 + [1] x4 + [0] 867.22/297.04 867.22/297.04 [0] = [7] 867.22/297.04 867.22/297.04 [remove](x1, x2) = [1] x2 + [0] 867.22/297.04 867.22/297.04 [notEmpty](x1) = [4] 867.22/297.04 867.22/297.04 [False] = [0] 867.22/297.04 867.22/297.04 The order satisfies the following ordering constraints: 867.22/297.04 867.22/297.04 [minsort(Nil())] = [1] 867.22/297.04 >= [1] 867.22/297.04 = [Nil()] 867.22/297.04 867.22/297.04 [minsort(Cons(x, xs))] = [1] xs + [0] 867.22/297.04 >= [1] xs + [0] 867.22/297.05 = [appmin(x, xs, Cons(x, xs))] 867.22/297.05 867.22/297.05 [appmin(min, Nil(), xs)] = [1] xs + [0] 867.22/297.05 >= [1] xs + [0] 867.22/297.05 = [Cons(min, minsort(remove(min, xs)))] 867.22/297.05 867.22/297.05 [appmin(min, Cons(x, xs), xs')] = [1] xs' + [0] 867.22/297.05 >= [1] xs' + [0] 867.22/297.05 = [appmin[Ite][True][Ite](<(x, min), min, Cons(x, xs), xs')] 867.22/297.05 867.22/297.05 [remove[Ite](True(), x', Cons(x, xs))] = [1] xs + [0] 867.22/297.05 >= [1] xs + [0] 867.22/297.05 = [xs] 867.22/297.05 867.22/297.05 [remove[Ite](False(), x', Cons(x, xs))] = [1] xs + [0] 867.22/297.05 >= [1] xs + [0] 867.22/297.05 = [Cons(x, remove(x', xs))] 867.22/297.05 867.22/297.05 [!EQ(S(x), S(y))] = [0] 867.22/297.05 >= [0] 867.22/297.05 = [!EQ(x, y)] 867.22/297.05 867.22/297.05 [!EQ(S(x), 0())] = [0] 867.22/297.05 >= [0] 867.22/297.05 = [False()] 867.22/297.05 867.22/297.05 [!EQ(0(), S(y))] = [0] 867.22/297.05 >= [0] 867.22/297.05 = [False()] 867.22/297.05 867.22/297.05 [!EQ(0(), 0())] = [0] 867.22/297.05 >= [0] 867.22/297.05 = [True()] 867.22/297.05 867.22/297.05 [<(x, 0())] = [0] 867.22/297.05 >= [0] 867.22/297.05 = [False()] 867.22/297.05 867.22/297.05 [<(S(x), S(y))] = [0] 867.22/297.05 >= [0] 867.22/297.05 = [<(x, y)] 867.22/297.05 867.22/297.05 [<(0(), S(y))] = [0] 867.22/297.05 >= [0] 867.22/297.05 = [True()] 867.22/297.05 867.22/297.05 [appmin[Ite][True][Ite](True(), min, Cons(x, xs), xs')] = [1] xs' + [0] 867.22/297.05 >= [1] xs' + [0] 867.22/297.05 = [appmin(x, xs, xs')] 867.22/297.05 867.22/297.05 [appmin[Ite][True][Ite](False(), min, Cons(x, xs), xs')] = [1] xs' + [0] 867.22/297.05 >= [1] xs' + [0] 867.22/297.05 = [appmin(min, xs, xs')] 867.22/297.05 867.22/297.05 [remove(x', Cons(x, xs))] = [1] xs + [0] 867.22/297.05 >= [1] xs + [0] 867.22/297.05 = [remove[Ite](!EQ(x', x), x', Cons(x, xs))] 867.22/297.05 867.22/297.05 [notEmpty(Nil())] = [4] 867.22/297.05 > [0] 867.22/297.05 = [False()] 867.22/297.05 867.22/297.05 [notEmpty(Cons(x, xs))] = [4] 867.22/297.05 > [0] 867.22/297.05 = [True()] 867.22/297.05 867.22/297.05 867.22/297.05 Further, it can be verified that all rules not oriented are covered by the weightgap condition. 867.22/297.05 867.22/297.05 We are left with following problem, upon which TcT provides the 867.22/297.05 certificate MAYBE. 867.22/297.05 867.22/297.05 Strict Trs: 867.22/297.05 { minsort(Nil()) -> Nil() 867.22/297.05 , minsort(Cons(x, xs)) -> appmin(x, xs, Cons(x, xs)) 867.22/297.05 , appmin(min, Cons(x, xs), xs') -> 867.22/297.05 appmin[Ite][True][Ite](<(x, min), min, Cons(x, xs), xs') 867.22/297.05 , remove(x', Cons(x, xs)) -> 867.22/297.05 remove[Ite](!EQ(x', x), x', Cons(x, xs)) } 867.22/297.05 Weak Trs: 867.22/297.05 { appmin(min, Nil(), xs) -> Cons(min, minsort(remove(min, xs))) 867.22/297.05 , remove[Ite](True(), x', Cons(x, xs)) -> xs 867.22/297.05 , remove[Ite](False(), x', Cons(x, xs)) -> Cons(x, remove(x', xs)) 867.22/297.05 , !EQ(S(x), S(y)) -> !EQ(x, y) 867.22/297.05 , !EQ(S(x), 0()) -> False() 867.22/297.05 , !EQ(0(), S(y)) -> False() 867.22/297.05 , !EQ(0(), 0()) -> True() 867.22/297.05 , <(x, 0()) -> False() 867.22/297.05 , <(S(x), S(y)) -> <(x, y) 867.22/297.05 , <(0(), S(y)) -> True() 867.22/297.05 , appmin[Ite][True][Ite](True(), min, Cons(x, xs), xs') -> 867.22/297.05 appmin(x, xs, xs') 867.22/297.05 , appmin[Ite][True][Ite](False(), min, Cons(x, xs), xs') -> 867.22/297.05 appmin(min, xs, xs') 867.22/297.05 , notEmpty(Nil()) -> False() 867.22/297.05 , notEmpty(Cons(x, xs)) -> True() } 867.22/297.05 Obligation: 867.22/297.05 innermost runtime complexity 867.22/297.05 Answer: 867.22/297.05 MAYBE 867.22/297.05 867.22/297.05 The weightgap principle applies (using the following nonconstant 867.22/297.05 growth matrix-interpretation) 867.22/297.05 867.22/297.05 The following argument positions are usable: 867.22/297.05 Uargs(minsort) = {1}, Uargs(remove[Ite]) = {1}, Uargs(Cons) = {2}, 867.22/297.05 Uargs(appmin[Ite][True][Ite]) = {1} 867.22/297.05 867.22/297.05 TcT has computed the following matrix interpretation satisfying 867.22/297.05 not(EDA) and not(IDA(1)). 867.22/297.05 867.22/297.05 [minsort](x1) = [1] x1 + [4] 867.22/297.05 867.22/297.05 [True] = [0] 867.22/297.05 867.22/297.05 [Nil] = [1] 867.22/297.05 867.22/297.05 [appmin](x1, x2, x3) = [1] x3 + [7] 867.22/297.05 867.22/297.05 [remove[Ite]](x1, x2, x3) = [1] x1 + [1] x3 + [0] 867.22/297.05 867.22/297.05 [!EQ](x1, x2) = [0] 867.22/297.05 867.22/297.05 [<](x1, x2) = [1] 867.22/297.05 867.22/297.05 [S](x1) = [1] x1 + [7] 867.22/297.05 867.22/297.05 [Cons](x1, x2) = [1] x2 + [1] 867.22/297.05 867.22/297.05 [appmin[Ite][True][Ite]](x1, x2, x3, x4) = [1] x1 + [1] x4 + [7] 867.22/297.05 867.22/297.05 [0] = [7] 867.22/297.05 867.22/297.05 [remove](x1, x2) = [1] x2 + [0] 867.22/297.05 867.22/297.05 [notEmpty](x1) = [4] 867.22/297.05 867.22/297.05 [False] = [0] 867.22/297.05 867.22/297.05 The order satisfies the following ordering constraints: 867.22/297.05 867.22/297.05 [minsort(Nil())] = [5] 867.22/297.05 > [1] 867.22/297.05 = [Nil()] 867.22/297.05 867.22/297.05 [minsort(Cons(x, xs))] = [1] xs + [5] 867.22/297.05 ? [1] xs + [8] 867.22/297.05 = [appmin(x, xs, Cons(x, xs))] 867.22/297.05 867.22/297.05 [appmin(min, Nil(), xs)] = [1] xs + [7] 867.22/297.05 > [1] xs + [5] 867.22/297.05 = [Cons(min, minsort(remove(min, xs)))] 867.22/297.05 867.22/297.05 [appmin(min, Cons(x, xs), xs')] = [1] xs' + [7] 867.22/297.05 ? [1] xs' + [8] 867.22/297.05 = [appmin[Ite][True][Ite](<(x, min), min, Cons(x, xs), xs')] 867.22/297.05 867.22/297.05 [remove[Ite](True(), x', Cons(x, xs))] = [1] xs + [1] 867.22/297.05 > [1] xs + [0] 867.22/297.05 = [xs] 867.22/297.05 867.22/297.05 [remove[Ite](False(), x', Cons(x, xs))] = [1] xs + [1] 867.22/297.05 >= [1] xs + [1] 867.22/297.05 = [Cons(x, remove(x', xs))] 867.22/297.05 867.22/297.05 [!EQ(S(x), S(y))] = [0] 867.22/297.05 >= [0] 867.22/297.05 = [!EQ(x, y)] 867.22/297.05 867.22/297.05 [!EQ(S(x), 0())] = [0] 867.22/297.05 >= [0] 867.22/297.05 = [False()] 867.22/297.05 867.22/297.05 [!EQ(0(), S(y))] = [0] 867.22/297.05 >= [0] 867.22/297.05 = [False()] 867.22/297.05 867.22/297.05 [!EQ(0(), 0())] = [0] 867.22/297.05 >= [0] 867.22/297.05 = [True()] 867.22/297.05 867.22/297.05 [<(x, 0())] = [1] 867.22/297.05 > [0] 867.22/297.05 = [False()] 867.22/297.05 867.22/297.05 [<(S(x), S(y))] = [1] 867.22/297.05 >= [1] 867.22/297.05 = [<(x, y)] 867.22/297.05 867.22/297.05 [<(0(), S(y))] = [1] 867.22/297.05 > [0] 867.22/297.05 = [True()] 867.22/297.05 867.22/297.05 [appmin[Ite][True][Ite](True(), min, Cons(x, xs), xs')] = [1] xs' + [7] 867.22/297.05 >= [1] xs' + [7] 867.22/297.05 = [appmin(x, xs, xs')] 867.22/297.05 867.22/297.05 [appmin[Ite][True][Ite](False(), min, Cons(x, xs), xs')] = [1] xs' + [7] 867.22/297.05 >= [1] xs' + [7] 867.22/297.05 = [appmin(min, xs, xs')] 867.22/297.05 867.22/297.05 [remove(x', Cons(x, xs))] = [1] xs + [1] 867.22/297.05 >= [1] xs + [1] 867.22/297.05 = [remove[Ite](!EQ(x', x), x', Cons(x, xs))] 867.22/297.05 867.22/297.05 [notEmpty(Nil())] = [4] 867.22/297.05 > [0] 867.22/297.05 = [False()] 867.22/297.05 867.22/297.05 [notEmpty(Cons(x, xs))] = [4] 867.22/297.05 > [0] 867.22/297.05 = [True()] 867.22/297.05 867.22/297.05 867.22/297.05 Further, it can be verified that all rules not oriented are covered by the weightgap condition. 867.22/297.05 867.22/297.05 We are left with following problem, upon which TcT provides the 867.22/297.05 certificate MAYBE. 867.22/297.05 867.22/297.05 Strict Trs: 867.22/297.05 { minsort(Cons(x, xs)) -> appmin(x, xs, Cons(x, xs)) 867.22/297.05 , appmin(min, Cons(x, xs), xs') -> 867.22/297.05 appmin[Ite][True][Ite](<(x, min), min, Cons(x, xs), xs') 867.22/297.05 , remove(x', Cons(x, xs)) -> 867.22/297.05 remove[Ite](!EQ(x', x), x', Cons(x, xs)) } 867.22/297.05 Weak Trs: 867.22/297.05 { minsort(Nil()) -> Nil() 867.22/297.05 , appmin(min, Nil(), xs) -> Cons(min, minsort(remove(min, xs))) 867.22/297.05 , remove[Ite](True(), x', Cons(x, xs)) -> xs 867.22/297.05 , remove[Ite](False(), x', Cons(x, xs)) -> Cons(x, remove(x', xs)) 867.22/297.05 , !EQ(S(x), S(y)) -> !EQ(x, y) 867.22/297.05 , !EQ(S(x), 0()) -> False() 867.22/297.05 , !EQ(0(), S(y)) -> False() 867.22/297.05 , !EQ(0(), 0()) -> True() 867.22/297.05 , <(x, 0()) -> False() 867.22/297.05 , <(S(x), S(y)) -> <(x, y) 867.22/297.05 , <(0(), S(y)) -> True() 867.22/297.05 , appmin[Ite][True][Ite](True(), min, Cons(x, xs), xs') -> 867.22/297.05 appmin(x, xs, xs') 867.22/297.05 , appmin[Ite][True][Ite](False(), min, Cons(x, xs), xs') -> 867.22/297.05 appmin(min, xs, xs') 867.22/297.05 , notEmpty(Nil()) -> False() 867.22/297.05 , notEmpty(Cons(x, xs)) -> True() } 867.22/297.05 Obligation: 867.22/297.05 innermost runtime complexity 867.22/297.05 Answer: 867.22/297.05 MAYBE 867.22/297.05 867.22/297.05 None of the processors succeeded. 867.22/297.05 867.22/297.05 Details of failed attempt(s): 867.22/297.05 ----------------------------- 867.22/297.05 1) 'empty' failed due to the following reason: 867.22/297.05 867.22/297.05 Empty strict component of the problem is NOT empty. 867.22/297.05 867.22/297.05 2) 'With Problem ...' failed due to the following reason: 867.22/297.05 867.22/297.05 None of the processors succeeded. 867.22/297.05 867.22/297.05 Details of failed attempt(s): 867.22/297.05 ----------------------------- 867.22/297.05 1) 'empty' failed due to the following reason: 867.22/297.05 867.22/297.05 Empty strict component of the problem is NOT empty. 867.22/297.05 867.22/297.05 2) 'Fastest' failed due to the following reason: 867.22/297.05 867.22/297.05 None of the processors succeeded. 867.22/297.05 867.22/297.05 Details of failed attempt(s): 867.22/297.05 ----------------------------- 867.22/297.05 1) 'With Problem ...' failed due to the following reason: 867.22/297.05 867.22/297.05 None of the processors succeeded. 867.22/297.05 867.22/297.05 Details of failed attempt(s): 867.22/297.05 ----------------------------- 867.22/297.05 1) 'empty' failed due to the following reason: 867.22/297.05 867.22/297.05 Empty strict component of the problem is NOT empty. 867.22/297.05 867.22/297.05 2) 'With Problem ...' failed due to the following reason: 867.22/297.05 867.22/297.05 The weightgap principle applies (using the following nonconstant 867.22/297.05 growth matrix-interpretation) 867.22/297.05 867.22/297.05 The following argument positions are usable: 867.22/297.05 Uargs(minsort) = {1}, Uargs(remove[Ite]) = {1}, Uargs(Cons) = {2}, 867.22/297.05 Uargs(appmin[Ite][True][Ite]) = {1} 867.22/297.05 867.22/297.05 TcT has computed the following matrix interpretation satisfying 867.22/297.05 not(EDA) and not(IDA(1)). 867.22/297.05 867.22/297.05 [minsort](x1) = [1 4] x1 + [1] 867.22/297.05 [0 0] [2] 867.22/297.05 867.22/297.05 [True] = [0] 867.22/297.05 [0] 867.22/297.05 867.22/297.05 [Nil] = [0] 867.22/297.05 [2] 867.22/297.05 867.22/297.05 [appmin](x1, x2, x3) = [0 4] x2 + [1 867.22/297.05 0] x3 + [0] 867.22/297.05 [0 0] [0 867.22/297.05 0] [2] 867.22/297.05 867.22/297.05 [remove[Ite]](x1, x2, x3) = [1 0] x1 + [1 867.22/297.05 0] x3 + [0] 867.22/297.05 [0 0] [0 867.22/297.05 1] [4] 867.22/297.05 867.22/297.05 [!EQ](x1, x2) = [0] 867.22/297.05 [4] 867.22/297.05 867.22/297.05 [<](x1, x2) = [0] 867.22/297.05 [4] 867.22/297.05 867.22/297.05 [S](x1) = [0] 867.22/297.05 [0] 867.22/297.05 867.22/297.05 [Cons](x1, x2) = [1 0] x2 + [0] 867.22/297.05 [0 1] [0] 867.22/297.05 867.22/297.05 [appmin[Ite][True][Ite]](x1, x2, x3, x4) = [1 0] x1 + [0 4] x3 + [1 867.22/297.05 0] x4 + [0] 867.22/297.05 [0 0] [0 0] [0 867.22/297.05 0] [4] 867.22/297.05 867.22/297.05 [0] = [0] 867.22/297.05 [0] 867.22/297.05 867.22/297.05 [remove](x1, x2) = [1 0] x2 + [0] 867.22/297.05 [0 0] [0] 867.22/297.05 867.22/297.05 [notEmpty](x1) = [4] 867.22/297.05 [4] 867.22/297.05 867.22/297.05 [False] = [0] 867.22/297.05 [0] 867.22/297.05 867.22/297.05 The order satisfies the following ordering constraints: 867.22/297.05 867.22/297.05 [minsort(Nil())] = [9] 867.22/297.05 [2] 867.22/297.05 > [0] 867.22/297.05 [2] 867.22/297.05 = [Nil()] 867.22/297.05 867.22/297.05 [minsort(Cons(x, xs))] = [1 4] xs + [1] 867.22/297.05 [0 0] [2] 867.22/297.05 > [1 4] xs + [0] 867.22/297.05 [0 0] [2] 867.22/297.05 = [appmin(x, xs, Cons(x, xs))] 867.22/297.05 867.22/297.05 [appmin(min, Nil(), xs)] = [1 0] xs + [8] 867.22/297.05 [0 0] [2] 867.22/297.05 > [1 0] xs + [1] 867.22/297.05 [0 0] [2] 867.22/297.05 = [Cons(min, minsort(remove(min, xs)))] 867.22/297.05 867.22/297.05 [appmin(min, Cons(x, xs), xs')] = [0 4] xs + [1 0] xs' + [0] 867.22/297.05 [0 0] [0 0] [2] 867.22/297.05 ? [0 4] xs + [1 0] xs' + [0] 867.22/297.05 [0 0] [0 0] [4] 867.22/297.05 = [appmin[Ite][True][Ite](<(x, min), min, Cons(x, xs), xs')] 867.22/297.05 867.22/297.05 [remove[Ite](True(), x', Cons(x, xs))] = [1 0] xs + [0] 867.22/297.05 [0 1] [4] 867.22/297.05 >= [1 0] xs + [0] 867.22/297.05 [0 1] [0] 867.22/297.05 = [xs] 867.22/297.05 867.22/297.05 [remove[Ite](False(), x', Cons(x, xs))] = [1 0] xs + [0] 867.22/297.05 [0 1] [4] 867.22/297.05 >= [1 0] xs + [0] 867.22/297.05 [0 0] [0] 867.22/297.05 = [Cons(x, remove(x', xs))] 867.22/297.05 867.22/297.05 [!EQ(S(x), S(y))] = [0] 867.22/297.05 [4] 867.22/297.05 >= [0] 867.22/297.05 [4] 867.22/297.05 = [!EQ(x, y)] 867.22/297.05 867.22/297.05 [!EQ(S(x), 0())] = [0] 867.22/297.05 [4] 867.22/297.05 >= [0] 867.22/297.05 [0] 867.22/297.05 = [False()] 867.22/297.05 867.22/297.05 [!EQ(0(), S(y))] = [0] 867.22/297.05 [4] 867.22/297.05 >= [0] 867.22/297.05 [0] 867.22/297.05 = [False()] 867.22/297.05 867.22/297.05 [!EQ(0(), 0())] = [0] 867.22/297.05 [4] 867.22/297.05 >= [0] 867.22/297.05 [0] 867.22/297.05 = [True()] 867.22/297.05 867.22/297.05 [<(x, 0())] = [0] 867.22/297.05 [4] 867.22/297.05 >= [0] 867.22/297.05 [0] 867.22/297.05 = [False()] 867.22/297.05 867.22/297.05 [<(S(x), S(y))] = [0] 867.22/297.06 [4] 867.22/297.06 >= [0] 867.22/297.06 [4] 867.22/297.06 = [<(x, y)] 867.22/297.06 867.22/297.06 [<(0(), S(y))] = [0] 867.22/297.06 [4] 867.22/297.06 >= [0] 867.22/297.06 [0] 867.22/297.06 = [True()] 867.22/297.06 867.22/297.06 [appmin[Ite][True][Ite](True(), min, Cons(x, xs), xs')] = [0 4] xs + [1 0] xs' + [0] 867.22/297.06 [0 0] [0 0] [4] 867.22/297.06 >= [0 4] xs + [1 0] xs' + [0] 867.22/297.06 [0 0] [0 0] [2] 867.22/297.06 = [appmin(x, xs, xs')] 867.22/297.06 867.22/297.06 [appmin[Ite][True][Ite](False(), min, Cons(x, xs), xs')] = [0 4] xs + [1 0] xs' + [0] 867.22/297.06 [0 0] [0 0] [4] 867.22/297.06 >= [0 4] xs + [1 0] xs' + [0] 867.22/297.06 [0 0] [0 0] [2] 867.22/297.06 = [appmin(min, xs, xs')] 867.22/297.06 867.22/297.06 [remove(x', Cons(x, xs))] = [1 0] xs + [0] 867.22/297.06 [0 0] [0] 867.22/297.06 ? [1 0] xs + [0] 867.22/297.06 [0 1] [4] 867.22/297.06 = [remove[Ite](!EQ(x', x), x', Cons(x, xs))] 867.22/297.06 867.22/297.06 [notEmpty(Nil())] = [4] 867.22/297.06 [4] 867.22/297.06 > [0] 867.22/297.06 [0] 867.22/297.06 = [False()] 867.22/297.06 867.22/297.06 [notEmpty(Cons(x, xs))] = [4] 867.22/297.06 [4] 867.22/297.06 > [0] 867.22/297.06 [0] 867.22/297.06 = [True()] 867.22/297.06 867.22/297.06 867.22/297.06 Further, it can be verified that all rules not oriented are covered by the weightgap condition. 867.22/297.06 867.22/297.06 We are left with following problem, upon which TcT provides the 867.22/297.06 certificate MAYBE. 867.22/297.06 867.22/297.06 Strict Trs: 867.22/297.06 { appmin(min, Cons(x, xs), xs') -> 867.22/297.06 appmin[Ite][True][Ite](<(x, min), min, Cons(x, xs), xs') 867.22/297.06 , remove(x', Cons(x, xs)) -> 867.22/297.06 remove[Ite](!EQ(x', x), x', Cons(x, xs)) } 867.22/297.06 Weak Trs: 867.22/297.06 { minsort(Nil()) -> Nil() 867.22/297.06 , minsort(Cons(x, xs)) -> appmin(x, xs, Cons(x, xs)) 867.22/297.06 , appmin(min, Nil(), xs) -> Cons(min, minsort(remove(min, xs))) 867.22/297.06 , remove[Ite](True(), x', Cons(x, xs)) -> xs 867.22/297.06 , remove[Ite](False(), x', Cons(x, xs)) -> Cons(x, remove(x', xs)) 867.22/297.06 , !EQ(S(x), S(y)) -> !EQ(x, y) 867.22/297.06 , !EQ(S(x), 0()) -> False() 867.22/297.06 , !EQ(0(), S(y)) -> False() 867.22/297.06 , !EQ(0(), 0()) -> True() 867.22/297.06 , <(x, 0()) -> False() 867.22/297.06 , <(S(x), S(y)) -> <(x, y) 867.22/297.06 , <(0(), S(y)) -> True() 867.22/297.06 , appmin[Ite][True][Ite](True(), min, Cons(x, xs), xs') -> 867.22/297.06 appmin(x, xs, xs') 867.22/297.06 , appmin[Ite][True][Ite](False(), min, Cons(x, xs), xs') -> 867.22/297.06 appmin(min, xs, xs') 867.22/297.06 , notEmpty(Nil()) -> False() 867.22/297.06 , notEmpty(Cons(x, xs)) -> True() } 867.22/297.06 Obligation: 867.22/297.06 innermost runtime complexity 867.22/297.06 Answer: 867.22/297.06 MAYBE 867.22/297.06 867.22/297.06 None of the processors succeeded. 867.22/297.06 867.22/297.06 Details of failed attempt(s): 867.22/297.06 ----------------------------- 867.22/297.06 1) 'empty' failed due to the following reason: 867.22/297.06 867.22/297.06 Empty strict component of the problem is NOT empty. 867.22/297.06 867.22/297.06 2) 'With Problem ...' failed due to the following reason: 867.22/297.06 867.22/297.06 None of the processors succeeded. 867.22/297.06 867.22/297.06 Details of failed attempt(s): 867.22/297.06 ----------------------------- 867.22/297.06 1) 'empty' failed due to the following reason: 867.22/297.06 867.22/297.06 Empty strict component of the problem is NOT empty. 867.22/297.06 867.22/297.06 2) 'With Problem ...' failed due to the following reason: 867.22/297.06 867.22/297.06 Empty strict component of the problem is NOT empty. 867.22/297.06 867.22/297.06 867.22/297.06 867.22/297.06 867.22/297.06 2) 'With Problem ...' failed due to the following reason: 867.22/297.06 867.22/297.06 None of the processors succeeded. 867.22/297.06 867.22/297.06 Details of failed attempt(s): 867.22/297.06 ----------------------------- 867.22/297.06 1) 'empty' failed due to the following reason: 867.22/297.06 867.22/297.06 Empty strict component of the problem is NOT empty. 867.22/297.06 867.22/297.06 2) 'With Problem ...' failed due to the following reason: 867.22/297.06 867.22/297.06 Empty strict component of the problem is NOT empty. 867.22/297.06 867.22/297.06 867.22/297.06 867.22/297.06 867.22/297.06 867.22/297.06 2) 'Best' failed due to the following reason: 867.22/297.06 867.22/297.06 None of the processors succeeded. 867.22/297.06 867.22/297.06 Details of failed attempt(s): 867.22/297.06 ----------------------------- 867.22/297.06 1) 'Polynomial Path Order (PS) (timeout of 297 seconds)' failed due 867.22/297.06 to the following reason: 867.22/297.06 867.22/297.06 The input cannot be shown compatible 867.22/297.06 867.22/297.06 2) 'bsearch-popstar (timeout of 297 seconds)' failed due to the 867.22/297.06 following reason: 867.22/297.06 867.22/297.06 The input cannot be shown compatible 867.22/297.06 867.22/297.06 867.22/297.06 3) 'Fastest (timeout of 24 seconds) (timeout of 297 seconds)' 867.22/297.06 failed due to the following reason: 867.22/297.06 867.22/297.06 None of the processors succeeded. 867.22/297.06 867.22/297.06 Details of failed attempt(s): 867.22/297.06 ----------------------------- 867.22/297.06 1) 'Bounds with minimal-enrichment and initial automaton 'match'' 867.22/297.06 failed due to the following reason: 867.22/297.06 867.22/297.06 match-boundness of the problem could not be verified. 867.22/297.06 867.22/297.06 2) 'Bounds with perSymbol-enrichment and initial automaton 'match'' 867.22/297.06 failed due to the following reason: 867.22/297.06 867.22/297.06 match-boundness of the problem could not be verified. 867.22/297.06 867.22/297.06 867.22/297.06 867.22/297.06 867.22/297.06 867.22/297.06 Arrrr.. 867.51/297.29 EOF