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