NO ### Pre-processing the ITS problem ### Initial linear ITS problem Start location: l5 0: l0 -> l1 : N^0'=N^post_1, p^0'=p^post_1, q^0'=q^post_1, r^0'=r^post_1, [ r^post_1==p^0 && N^0==N^post_1 && p^0==p^post_1 && q^0==q^post_1 ], cost: 1 1: l0 -> l1 : N^0'=N^post_2, p^0'=p^post_2, q^0'=q^post_2, r^0'=r^post_2, [ q^post_2==p^0 && N^0==N^post_2 && p^0==p^post_2 && r^0==r^post_2 ], cost: 1 4: l1 -> l2 : N^0'=N^post_5, p^0'=p^post_5, q^0'=q^post_5, r^0'=r^post_5, [ N^0==N^post_5 && p^0==p^post_5 && q^0==q^post_5 && r^0==r^post_5 ], cost: 1 2: l2 -> l3 : N^0'=N^post_3, p^0'=p^post_3, q^0'=q^post_3, r^0'=r^post_3, [ q^0<=1+r^0 && N^0==N^post_3 && p^0==p^post_3 && q^0==q^post_3 && r^0==r^post_3 ], cost: 1 3: l2 -> l0 : N^0'=N^post_4, p^0'=p^post_4, q^0'=q^post_4, r^0'=r^post_4, [ 2+r^0<=q^0 && p^post_4==p^post_4 && N^0==N^post_4 && q^0==q^post_4 && r^0==r^post_4 ], cost: 1 5: l4 -> l1 : N^0'=N^post_6, p^0'=p^post_6, q^0'=q^post_6, r^0'=r^post_6, [ r^post_6==1 && q^post_6==N^0 && N^0==N^post_6 && p^0==p^post_6 ], cost: 1 6: l5 -> l4 : N^0'=N^post_7, p^0'=p^post_7, q^0'=q^post_7, r^0'=r^post_7, [ N^0==N^post_7 && p^0==p^post_7 && q^0==q^post_7 && r^0==r^post_7 ], cost: 1 Checking for constant complexity: The following rule is satisfiable with cost >= 1, yielding constant complexity: 6: l5 -> l4 : N^0'=N^post_7, p^0'=p^post_7, q^0'=q^post_7, r^0'=r^post_7, [ N^0==N^post_7 && p^0==p^post_7 && q^0==q^post_7 && r^0==r^post_7 ], cost: 1 Removed unreachable and leaf rules: Start location: l5 0: l0 -> l1 : N^0'=N^post_1, p^0'=p^post_1, q^0'=q^post_1, r^0'=r^post_1, [ r^post_1==p^0 && N^0==N^post_1 && p^0==p^post_1 && q^0==q^post_1 ], cost: 1 1: l0 -> l1 : N^0'=N^post_2, p^0'=p^post_2, q^0'=q^post_2, r^0'=r^post_2, [ q^post_2==p^0 && N^0==N^post_2 && p^0==p^post_2 && r^0==r^post_2 ], cost: 1 4: l1 -> l2 : N^0'=N^post_5, p^0'=p^post_5, q^0'=q^post_5, r^0'=r^post_5, [ N^0==N^post_5 && p^0==p^post_5 && q^0==q^post_5 && r^0==r^post_5 ], cost: 1 3: l2 -> l0 : N^0'=N^post_4, p^0'=p^post_4, q^0'=q^post_4, r^0'=r^post_4, [ 2+r^0<=q^0 && p^post_4==p^post_4 && N^0==N^post_4 && q^0==q^post_4 && r^0==r^post_4 ], cost: 1 5: l4 -> l1 : N^0'=N^post_6, p^0'=p^post_6, q^0'=q^post_6, r^0'=r^post_6, [ r^post_6==1 && q^post_6==N^0 && N^0==N^post_6 && p^0==p^post_6 ], cost: 1 6: l5 -> l4 : N^0'=N^post_7, p^0'=p^post_7, q^0'=q^post_7, r^0'=r^post_7, [ N^0==N^post_7 && p^0==p^post_7 && q^0==q^post_7 && r^0==r^post_7 ], cost: 1 Simplified all rules, resulting in: Start location: l5 0: l0 -> l1 : r^0'=p^0, [], cost: 1 1: l0 -> l1 : q^0'=p^0, [], cost: 1 4: l1 -> l2 : [], cost: 1 3: l2 -> l0 : p^0'=p^post_4, [ 2+r^0<=q^0 ], cost: 1 5: l4 -> l1 : q^0'=N^0, r^0'=1, [], cost: 1 6: l5 -> l4 : [], cost: 1 ### Simplification by acceleration and chaining ### Eliminated locations (on linear paths): Start location: l5 0: l0 -> l1 : r^0'=p^0, [], cost: 1 1: l0 -> l1 : q^0'=p^0, [], cost: 1 8: l1 -> l0 : p^0'=p^post_4, [ 2+r^0<=q^0 ], cost: 2 7: l5 -> l1 : q^0'=N^0, r^0'=1, [], cost: 2 Eliminated locations (on tree-shaped paths): Start location: l5 9: l1 -> l1 : p^0'=p^post_4, r^0'=p^post_4, [ 2+r^0<=q^0 ], cost: 3 10: l1 -> l1 : p^0'=p^post_4, q^0'=p^post_4, [ 2+r^0<=q^0 ], cost: 3 7: l5 -> l1 : q^0'=N^0, r^0'=1, [], cost: 2 Accelerating simple loops of location 1. Accelerating the following rules: 9: l1 -> l1 : p^0'=p^post_4, r^0'=p^post_4, [ 2+r^0<=q^0 ], cost: 3 10: l1 -> l1 : p^0'=p^post_4, q^0'=p^post_4, [ 2+r^0<=q^0 ], cost: 3 [test] deduced pseudo-invariant p^post_4-r^0<=0, also trying -p^post_4+r^0<=-1 Accelerated rule 9 with non-termination, yielding the new rule 11. Accelerated rule 9 with non-termination, yielding the new rule 12. Accelerated rule 9 with backward acceleration, yielding the new rule 13. [test] deduced pseudo-invariant q^0-p^post_4<=0, also trying -q^0+p^post_4<=-1 Accelerated rule 10 with non-termination, yielding the new rule 14. Accelerated rule 10 with non-termination, yielding the new rule 15. Accelerated rule 10 with backward acceleration, yielding the new rule 16. [accelerate] Nesting with 0 inner and 2 outer candidates Also removing duplicate rules: 12 15. Accelerated all simple loops using metering functions (where possible): Start location: l5 9: l1 -> l1 : p^0'=p^post_4, r^0'=p^post_4, [ 2+r^0<=q^0 ], cost: 3 10: l1 -> l1 : p^0'=p^post_4, q^0'=p^post_4, [ 2+r^0<=q^0 ], cost: 3 11: l1 -> [6] : [ 2+r^0<=q^0 && 2+p^post_4<=q^0 ], cost: NONTERM 13: l1 -> [6] : [ 2+r^0<=q^0 && p^post_4-r^0<=0 ], cost: NONTERM 14: l1 -> [6] : [ 2+r^0<=q^0 && 2+r^0<=p^post_4 ], cost: NONTERM 16: l1 -> [6] : [ 2+r^0<=q^0 && q^0-p^post_4<=0 ], cost: NONTERM 7: l5 -> l1 : q^0'=N^0, r^0'=1, [], cost: 2 Chained accelerated rules (with incoming rules): Start location: l5 7: l5 -> l1 : q^0'=N^0, r^0'=1, [], cost: 2 17: l5 -> l1 : p^0'=p^post_4, q^0'=N^0, r^0'=p^post_4, [ 3<=N^0 ], cost: 5 18: l5 -> l1 : p^0'=p^post_4, q^0'=p^post_4, r^0'=1, [ 3<=N^0 ], cost: 5 19: l5 -> [6] : [ 3<=N^0 ], cost: NONTERM 20: l5 -> [6] : [ 3<=N^0 ], cost: NONTERM 21: l5 -> [6] : [ 3<=N^0 ], cost: NONTERM 22: l5 -> [6] : [ 3<=N^0 ], cost: NONTERM Removed unreachable locations (and leaf rules with constant cost): Start location: l5 19: l5 -> [6] : [ 3<=N^0 ], cost: NONTERM 20: l5 -> [6] : [ 3<=N^0 ], cost: NONTERM 21: l5 -> [6] : [ 3<=N^0 ], cost: NONTERM 22: l5 -> [6] : [ 3<=N^0 ], cost: NONTERM ### Computing asymptotic complexity ### Fully simplified ITS problem Start location: l5 22: l5 -> [6] : [ 3<=N^0 ], cost: NONTERM Computing asymptotic complexity for rule 22 Guard is satisfiable, yielding nontermination Resulting cost NONTERM has complexity: Nonterm Found new complexity Nonterm. Obtained the following overall complexity (w.r.t. the length of the input n): Complexity: Nonterm Cpx degree: Nonterm Solved cost: NONTERM Rule cost: NONTERM Rule guard: [ 3<=N^0 ] NO