MAYBE * Step 1: WeightGap MAYBE + Considered Problem: - Strict TRS: id_inc(x) -> x id_inc(x) -> s(x) if(false(),x,y) -> y if(true(),x,y) -> rand(p(x),id_inc(y)) nonZero(0()) -> false() nonZero(s(x)) -> true() p(0()) -> 0() p(s(x)) -> x rand(x,y) -> if(nonZero(x),x,y) random(x) -> rand(x,0()) - Signature: {id_inc/1,if/3,nonZero/1,p/1,rand/2,random/1} / {0/0,false/0,s/1,true/0} - Obligation: innermost runtime complexity wrt. defined symbols {id_inc,if,nonZero,p,rand,random} and constructors {0 ,false,s,true} + Applied Processor: WeightGap {wgDimension = 1, wgDegree = 1, wgKind = Algebraic, wgUArgs = UArgs, wgOn = WgOnAny} + Details: The weightgap principle applies using the following nonconstant growth matrix-interpretation: We apply a matrix interpretation of kind constructor based matrix interpretation: The following argument positions are considered usable: uargs(if) = {1}, uargs(rand) = {1,2} Following symbols are considered usable: all TcT has computed the following interpretation: p(0) = [5] p(false) = [0] p(id_inc) = [1] x1 + [0] p(if) = [1] x1 + [1] x2 + [1] x3 + [0] p(nonZero) = [0] p(p) = [1] x1 + [0] p(rand) = [1] x1 + [1] x2 + [1] p(random) = [2] x1 + [7] p(s) = [1] x1 + [0] p(true) = [0] Following rules are strictly oriented: rand(x,y) = [1] x + [1] y + [1] > [1] x + [1] y + [0] = if(nonZero(x),x,y) random(x) = [2] x + [7] > [1] x + [6] = rand(x,0()) Following rules are (at-least) weakly oriented: id_inc(x) = [1] x + [0] >= [1] x + [0] = x id_inc(x) = [1] x + [0] >= [1] x + [0] = s(x) if(false(),x,y) = [1] x + [1] y + [0] >= [1] y + [0] = y if(true(),x,y) = [1] x + [1] y + [0] >= [1] x + [1] y + [1] = rand(p(x),id_inc(y)) nonZero(0()) = [0] >= [0] = false() nonZero(s(x)) = [0] >= [0] = true() p(0()) = [5] >= [5] = 0() p(s(x)) = [1] x + [0] >= [1] x + [0] = x Further, it can be verified that all rules not oriented are covered by the weightgap condition. * Step 2: WeightGap MAYBE + Considered Problem: - Strict TRS: id_inc(x) -> x id_inc(x) -> s(x) if(false(),x,y) -> y if(true(),x,y) -> rand(p(x),id_inc(y)) nonZero(0()) -> false() nonZero(s(x)) -> true() p(0()) -> 0() p(s(x)) -> x - Weak TRS: rand(x,y) -> if(nonZero(x),x,y) random(x) -> rand(x,0()) - Signature: {id_inc/1,if/3,nonZero/1,p/1,rand/2,random/1} / {0/0,false/0,s/1,true/0} - Obligation: innermost runtime complexity wrt. defined symbols {id_inc,if,nonZero,p,rand,random} and constructors {0 ,false,s,true} + Applied Processor: WeightGap {wgDimension = 1, wgDegree = 1, wgKind = Algebraic, wgUArgs = UArgs, wgOn = WgOnAny} + Details: The weightgap principle applies using the following nonconstant growth matrix-interpretation: We apply a matrix interpretation of kind constructor based matrix interpretation: The following argument positions are considered usable: uargs(if) = {1}, uargs(rand) = {1,2} Following symbols are considered usable: all TcT has computed the following interpretation: p(0) = [0] p(false) = [0] p(id_inc) = [1] x1 + [0] p(if) = [1] x1 + [1] x2 + [1] x3 + [0] p(nonZero) = [0] p(p) = [1] x1 + [0] p(rand) = [1] x1 + [1] x2 + [0] p(random) = [2] x1 + [0] p(s) = [1] x1 + [9] p(true) = [0] Following rules are strictly oriented: p(s(x)) = [1] x + [9] > [1] x + [0] = x Following rules are (at-least) weakly oriented: id_inc(x) = [1] x + [0] >= [1] x + [0] = x id_inc(x) = [1] x + [0] >= [1] x + [9] = s(x) if(false(),x,y) = [1] x + [1] y + [0] >= [1] y + [0] = y if(true(),x,y) = [1] x + [1] y + [0] >= [1] x + [1] y + [0] = rand(p(x),id_inc(y)) nonZero(0()) = [0] >= [0] = false() nonZero(s(x)) = [0] >= [0] = true() p(0()) = [0] >= [0] = 0() rand(x,y) = [1] x + [1] y + [0] >= [1] x + [1] y + [0] = if(nonZero(x),x,y) random(x) = [2] x + [0] >= [1] x + [0] = rand(x,0()) Further, it can be verified that all rules not oriented are covered by the weightgap condition. * Step 3: WeightGap MAYBE + Considered Problem: - Strict TRS: id_inc(x) -> x id_inc(x) -> s(x) if(false(),x,y) -> y if(true(),x,y) -> rand(p(x),id_inc(y)) nonZero(0()) -> false() nonZero(s(x)) -> true() p(0()) -> 0() - Weak TRS: p(s(x)) -> x rand(x,y) -> if(nonZero(x),x,y) random(x) -> rand(x,0()) - Signature: {id_inc/1,if/3,nonZero/1,p/1,rand/2,random/1} / {0/0,false/0,s/1,true/0} - Obligation: innermost runtime complexity wrt. defined symbols {id_inc,if,nonZero,p,rand,random} and constructors {0 ,false,s,true} + Applied Processor: WeightGap {wgDimension = 1, wgDegree = 1, wgKind = Algebraic, wgUArgs = UArgs, wgOn = WgOnAny} + Details: The weightgap principle applies using the following nonconstant growth matrix-interpretation: We apply a matrix interpretation of kind constructor based matrix interpretation: The following argument positions are considered usable: uargs(if) = {1}, uargs(rand) = {1,2} Following symbols are considered usable: all TcT has computed the following interpretation: p(0) = [3] p(false) = [15] p(id_inc) = [1] x1 + [1] p(if) = [1] x1 + [1] x2 + [1] x3 + [2] p(nonZero) = [0] p(p) = [1] x1 + [0] p(rand) = [1] x1 + [1] x2 + [2] p(random) = [1] x1 + [5] p(s) = [1] x1 + [0] p(true) = [0] Following rules are strictly oriented: id_inc(x) = [1] x + [1] > [1] x + [0] = x id_inc(x) = [1] x + [1] > [1] x + [0] = s(x) if(false(),x,y) = [1] x + [1] y + [17] > [1] y + [0] = y Following rules are (at-least) weakly oriented: if(true(),x,y) = [1] x + [1] y + [2] >= [1] x + [1] y + [3] = rand(p(x),id_inc(y)) nonZero(0()) = [0] >= [15] = false() nonZero(s(x)) = [0] >= [0] = true() p(0()) = [3] >= [3] = 0() p(s(x)) = [1] x + [0] >= [1] x + [0] = x rand(x,y) = [1] x + [1] y + [2] >= [1] x + [1] y + [2] = if(nonZero(x),x,y) random(x) = [1] x + [5] >= [1] x + [5] = rand(x,0()) Further, it can be verified that all rules not oriented are covered by the weightgap condition. * Step 4: WeightGap MAYBE + Considered Problem: - Strict TRS: if(true(),x,y) -> rand(p(x),id_inc(y)) nonZero(0()) -> false() nonZero(s(x)) -> true() p(0()) -> 0() - Weak TRS: id_inc(x) -> x id_inc(x) -> s(x) if(false(),x,y) -> y p(s(x)) -> x rand(x,y) -> if(nonZero(x),x,y) random(x) -> rand(x,0()) - Signature: {id_inc/1,if/3,nonZero/1,p/1,rand/2,random/1} / {0/0,false/0,s/1,true/0} - Obligation: innermost runtime complexity wrt. defined symbols {id_inc,if,nonZero,p,rand,random} and constructors {0 ,false,s,true} + Applied Processor: WeightGap {wgDimension = 1, wgDegree = 1, wgKind = Algebraic, wgUArgs = UArgs, wgOn = WgOnAny} + Details: The weightgap principle applies using the following nonconstant growth matrix-interpretation: We apply a matrix interpretation of kind constructor based matrix interpretation: The following argument positions are considered usable: uargs(if) = {1}, uargs(rand) = {1,2} Following symbols are considered usable: all TcT has computed the following interpretation: p(0) = [0] p(false) = [1] p(id_inc) = [1] x1 + [0] p(if) = [1] x1 + [1] x2 + [1] x3 + [0] p(nonZero) = [0] p(p) = [1] x1 + [11] p(rand) = [1] x1 + [1] x2 + [0] p(random) = [2] x1 + [0] p(s) = [1] x1 + [0] p(true) = [0] Following rules are strictly oriented: p(0()) = [11] > [0] = 0() Following rules are (at-least) weakly oriented: id_inc(x) = [1] x + [0] >= [1] x + [0] = x id_inc(x) = [1] x + [0] >= [1] x + [0] = s(x) if(false(),x,y) = [1] x + [1] y + [1] >= [1] y + [0] = y if(true(),x,y) = [1] x + [1] y + [0] >= [1] x + [1] y + [11] = rand(p(x),id_inc(y)) nonZero(0()) = [0] >= [1] = false() nonZero(s(x)) = [0] >= [0] = true() p(s(x)) = [1] x + [11] >= [1] x + [0] = x rand(x,y) = [1] x + [1] y + [0] >= [1] x + [1] y + [0] = if(nonZero(x),x,y) random(x) = [2] x + [0] >= [1] x + [0] = rand(x,0()) Further, it can be verified that all rules not oriented are covered by the weightgap condition. * Step 5: WeightGap MAYBE + Considered Problem: - Strict TRS: if(true(),x,y) -> rand(p(x),id_inc(y)) nonZero(0()) -> false() nonZero(s(x)) -> true() - Weak TRS: id_inc(x) -> x id_inc(x) -> s(x) if(false(),x,y) -> y p(0()) -> 0() p(s(x)) -> x rand(x,y) -> if(nonZero(x),x,y) random(x) -> rand(x,0()) - Signature: {id_inc/1,if/3,nonZero/1,p/1,rand/2,random/1} / {0/0,false/0,s/1,true/0} - Obligation: innermost runtime complexity wrt. defined symbols {id_inc,if,nonZero,p,rand,random} and constructors {0 ,false,s,true} + Applied Processor: WeightGap {wgDimension = 1, wgDegree = 1, wgKind = Algebraic, wgUArgs = UArgs, wgOn = WgOnAny} + Details: The weightgap principle applies using the following nonconstant growth matrix-interpretation: We apply a matrix interpretation of kind constructor based matrix interpretation: The following argument positions are considered usable: uargs(if) = {1}, uargs(rand) = {1,2} Following symbols are considered usable: all TcT has computed the following interpretation: p(0) = [0] p(false) = [1] p(id_inc) = [1] x1 + [0] p(if) = [1] x1 + [1] x2 + [1] x3 + [0] p(nonZero) = [9] p(p) = [1] x1 + [0] p(rand) = [1] x1 + [1] x2 + [9] p(random) = [2] x1 + [9] p(s) = [1] x1 + [0] p(true) = [0] Following rules are strictly oriented: nonZero(0()) = [9] > [1] = false() nonZero(s(x)) = [9] > [0] = true() Following rules are (at-least) weakly oriented: id_inc(x) = [1] x + [0] >= [1] x + [0] = x id_inc(x) = [1] x + [0] >= [1] x + [0] = s(x) if(false(),x,y) = [1] x + [1] y + [1] >= [1] y + [0] = y if(true(),x,y) = [1] x + [1] y + [0] >= [1] x + [1] y + [9] = rand(p(x),id_inc(y)) p(0()) = [0] >= [0] = 0() p(s(x)) = [1] x + [0] >= [1] x + [0] = x rand(x,y) = [1] x + [1] y + [9] >= [1] x + [1] y + [9] = if(nonZero(x),x,y) random(x) = [2] x + [9] >= [1] x + [9] = rand(x,0()) Further, it can be verified that all rules not oriented are covered by the weightgap condition. * Step 6: Failure MAYBE + Considered Problem: - Strict TRS: if(true(),x,y) -> rand(p(x),id_inc(y)) - Weak TRS: id_inc(x) -> x id_inc(x) -> s(x) if(false(),x,y) -> y nonZero(0()) -> false() nonZero(s(x)) -> true() p(0()) -> 0() p(s(x)) -> x rand(x,y) -> if(nonZero(x),x,y) random(x) -> rand(x,0()) - Signature: {id_inc/1,if/3,nonZero/1,p/1,rand/2,random/1} / {0/0,false/0,s/1,true/0} - Obligation: innermost runtime complexity wrt. defined symbols {id_inc,if,nonZero,p,rand,random} and constructors {0 ,false,s,true} + Applied Processor: EmptyProcessor + Details: The problem is still open. MAYBE