*** 1 Progress [(O(1),O(n^1))] *** Considered Problem: Strict DP Rules: Strict TRS Rules: minus(x,0()) -> x minus(s(x),s(y)) -> minus(x,y) quot(0(),s(y)) -> 0() quot(s(x),s(y)) -> s(quot(minus(x,y),s(y))) Weak DP Rules: Weak TRS Rules: Signature: {minus/2,quot/2} / {0/0,s/1} Obligation: Full basic terms: {minus,quot}/{0,s} Applied Processor: DependencyPairs {dpKind_ = DT} Proof: We add the following weak dependency pairs: Strict DPs minus#(x,0()) -> c_1(x) minus#(s(x),s(y)) -> c_2(minus#(x,y)) quot#(0(),s(y)) -> c_3() quot#(s(x),s(y)) -> c_4(quot#(minus(x,y),s(y))) Weak DPs and mark the set of starting terms. *** 1.1 Progress [(O(1),O(n^1))] *** Considered Problem: Strict DP Rules: minus#(x,0()) -> c_1(x) minus#(s(x),s(y)) -> c_2(minus#(x,y)) quot#(0(),s(y)) -> c_3() quot#(s(x),s(y)) -> c_4(quot#(minus(x,y),s(y))) Strict TRS Rules: minus(x,0()) -> x minus(s(x),s(y)) -> minus(x,y) quot(0(),s(y)) -> 0() quot(s(x),s(y)) -> s(quot(minus(x,y),s(y))) Weak DP Rules: Weak TRS Rules: Signature: {minus/2,quot/2,minus#/2,quot#/2} / {0/0,s/1,c_1/1,c_2/1,c_3/0,c_4/1} Obligation: Full basic terms: {minus#,quot#}/{0,s} Applied Processor: UsableRules Proof: We replace rewrite rules by usable rules: minus(x,0()) -> x minus(s(x),s(y)) -> minus(x,y) minus#(x,0()) -> c_1(x) minus#(s(x),s(y)) -> c_2(minus#(x,y)) quot#(0(),s(y)) -> c_3() quot#(s(x),s(y)) -> c_4(quot#(minus(x,y),s(y))) *** 1.1.1 Progress [(O(1),O(n^1))] *** Considered Problem: Strict DP Rules: minus#(x,0()) -> c_1(x) minus#(s(x),s(y)) -> c_2(minus#(x,y)) quot#(0(),s(y)) -> c_3() quot#(s(x),s(y)) -> c_4(quot#(minus(x,y),s(y))) Strict TRS Rules: minus(x,0()) -> x minus(s(x),s(y)) -> minus(x,y) Weak DP Rules: Weak TRS Rules: Signature: {minus/2,quot/2,minus#/2,quot#/2} / {0/0,s/1,c_1/1,c_2/1,c_3/0,c_4/1} Obligation: Full basic terms: {minus#,quot#}/{0,s} Applied Processor: PredecessorEstimation {onSelection = all simple predecessor estimation selector} Proof: We estimate the number of application of {3} by application of Pre({3}) = {1,4}. Here rules are labelled as follows: 1: minus#(x,0()) -> c_1(x) 2: minus#(s(x),s(y)) -> c_2(minus#(x,y)) 3: quot#(0(),s(y)) -> c_3() 4: quot#(s(x),s(y)) -> c_4(quot#(minus(x,y),s(y))) *** 1.1.1.1 Progress [(O(1),O(n^1))] *** Considered Problem: Strict DP Rules: minus#(x,0()) -> c_1(x) minus#(s(x),s(y)) -> c_2(minus#(x,y)) quot#(s(x),s(y)) -> c_4(quot#(minus(x,y),s(y))) Strict TRS Rules: minus(x,0()) -> x minus(s(x),s(y)) -> minus(x,y) Weak DP Rules: quot#(0(),s(y)) -> c_3() Weak TRS Rules: Signature: {minus/2,quot/2,minus#/2,quot#/2} / {0/0,s/1,c_1/1,c_2/1,c_3/0,c_4/1} Obligation: Full basic terms: {minus#,quot#}/{0,s} Applied Processor: WeightGap {wgDimension = 1, wgDegree = 0, wgKind = Algebraic, wgUArgs = UArgs, wgOn = WgOnAny} Proof: 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(quot#) = {1}, uargs(c_2) = {1}, uargs(c_4) = {1} Following symbols are considered usable: {} TcT has computed the following interpretation: p(0) = [0] p(minus) = [1] x1 + [0] p(quot) = [0] p(s) = [1] x1 + [1] p(minus#) = [8] x1 + [5] x2 + [0] p(quot#) = [1] x1 + [8] x2 + [7] p(c_1) = [8] x1 + [8] p(c_2) = [1] x1 + [0] p(c_3) = [15] p(c_4) = [1] x1 + [0] Following rules are strictly oriented: minus#(s(x),s(y)) = [8] x + [5] y + [13] > [8] x + [5] y + [0] = c_2(minus#(x,y)) quot#(s(x),s(y)) = [1] x + [8] y + [16] > [1] x + [8] y + [15] = c_4(quot#(minus(x,y),s(y))) minus(s(x),s(y)) = [1] x + [1] > [1] x + [0] = minus(x,y) Following rules are (at-least) weakly oriented: minus#(x,0()) = [8] x + [0] >= [8] x + [8] = c_1(x) quot#(0(),s(y)) = [8] y + [15] >= [15] = c_3() minus(x,0()) = [1] x + [0] >= [1] x + [0] = x Further, it can be verified that all rules not oriented are covered by the weightgap condition. *** 1.1.1.1.1 Progress [(O(1),O(n^1))] *** Considered Problem: Strict DP Rules: minus#(x,0()) -> c_1(x) Strict TRS Rules: minus(x,0()) -> x Weak DP Rules: minus#(s(x),s(y)) -> c_2(minus#(x,y)) quot#(0(),s(y)) -> c_3() quot#(s(x),s(y)) -> c_4(quot#(minus(x,y),s(y))) Weak TRS Rules: minus(s(x),s(y)) -> minus(x,y) Signature: {minus/2,quot/2,minus#/2,quot#/2} / {0/0,s/1,c_1/1,c_2/1,c_3/0,c_4/1} Obligation: Full basic terms: {minus#,quot#}/{0,s} Applied Processor: WeightGap {wgDimension = 1, wgDegree = 0, wgKind = Algebraic, wgUArgs = UArgs, wgOn = WgOnAny} Proof: 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(quot#) = {1}, uargs(c_2) = {1}, uargs(c_4) = {1} Following symbols are considered usable: {} TcT has computed the following interpretation: p(0) = [14] p(minus) = [1] x1 + [0] p(quot) = [8] x1 + [1] x2 + [1] p(s) = [1] x1 + [6] p(minus#) = [2] x1 + [11] p(quot#) = [1] x1 + [0] p(c_1) = [2] x1 + [2] p(c_2) = [1] x1 + [1] p(c_3) = [8] p(c_4) = [1] x1 + [6] Following rules are strictly oriented: minus#(x,0()) = [2] x + [11] > [2] x + [2] = c_1(x) Following rules are (at-least) weakly oriented: minus#(s(x),s(y)) = [2] x + [23] >= [2] x + [12] = c_2(minus#(x,y)) quot#(0(),s(y)) = [14] >= [8] = c_3() quot#(s(x),s(y)) = [1] x + [6] >= [1] x + [6] = c_4(quot#(minus(x,y),s(y))) minus(x,0()) = [1] x + [0] >= [1] x + [0] = x minus(s(x),s(y)) = [1] x + [6] >= [1] x + [0] = minus(x,y) Further, it can be verified that all rules not oriented are covered by the weightgap condition. *** 1.1.1.1.1.1 Progress [(O(1),O(n^1))] *** Considered Problem: Strict DP Rules: Strict TRS Rules: minus(x,0()) -> x Weak DP Rules: minus#(x,0()) -> c_1(x) minus#(s(x),s(y)) -> c_2(minus#(x,y)) quot#(0(),s(y)) -> c_3() quot#(s(x),s(y)) -> c_4(quot#(minus(x,y),s(y))) Weak TRS Rules: minus(s(x),s(y)) -> minus(x,y) Signature: {minus/2,quot/2,minus#/2,quot#/2} / {0/0,s/1,c_1/1,c_2/1,c_3/0,c_4/1} Obligation: Full basic terms: {minus#,quot#}/{0,s} Applied Processor: WeightGap {wgDimension = 1, wgDegree = 0, wgKind = Algebraic, wgUArgs = UArgs, wgOn = WgOnAny} Proof: 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(quot#) = {1}, uargs(c_2) = {1}, uargs(c_4) = {1} Following symbols are considered usable: {} TcT has computed the following interpretation: p(0) = [15] p(minus) = [1] x1 + [1] p(quot) = [1] x2 + [0] p(s) = [1] x1 + [2] p(minus#) = [1] p(quot#) = [1] x1 + [0] p(c_1) = [1] p(c_2) = [1] x1 + [0] p(c_3) = [2] p(c_4) = [1] x1 + [1] Following rules are strictly oriented: minus(x,0()) = [1] x + [1] > [1] x + [0] = x Following rules are (at-least) weakly oriented: minus#(x,0()) = [1] >= [1] = c_1(x) minus#(s(x),s(y)) = [1] >= [1] = c_2(minus#(x,y)) quot#(0(),s(y)) = [15] >= [2] = c_3() quot#(s(x),s(y)) = [1] x + [2] >= [1] x + [2] = c_4(quot#(minus(x,y),s(y))) minus(s(x),s(y)) = [1] x + [3] >= [1] x + [1] = minus(x,y) Further, it can be verified that all rules not oriented are covered by the weightgap condition. *** 1.1.1.1.1.1.1 Progress [(O(1),O(1))] *** Considered Problem: Strict DP Rules: Strict TRS Rules: Weak DP Rules: minus#(x,0()) -> c_1(x) minus#(s(x),s(y)) -> c_2(minus#(x,y)) quot#(0(),s(y)) -> c_3() quot#(s(x),s(y)) -> c_4(quot#(minus(x,y),s(y))) Weak TRS Rules: minus(x,0()) -> x minus(s(x),s(y)) -> minus(x,y) Signature: {minus/2,quot/2,minus#/2,quot#/2} / {0/0,s/1,c_1/1,c_2/1,c_3/0,c_4/1} Obligation: Full basic terms: {minus#,quot#}/{0,s} Applied Processor: EmptyProcessor Proof: The problem is already closed. The intended complexity is O(1).