NO proof of prog.inttrs # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty Termination of the given IRSwT could be disproven: (0) IRSwT (1) IRSFormatTransformerProof [EQUIVALENT, 0 ms] (2) IRSwT (3) IRSwTTerminationDigraphProof [EQUIVALENT, 135 ms] (4) IRSwT (5) IntTRSCompressionProof [EQUIVALENT, 38 ms] (6) IRSwT (7) IRSwTChainingProof [EQUIVALENT, 0 ms] (8) IRSwT (9) IRSwTTerminationDigraphProof [EQUIVALENT, 23 ms] (10) AND (11) IRSwT (12) IntTRSCompressionProof [EQUIVALENT, 0 ms] (13) IRSwT (14) TempFilterProof [SOUND, 6 ms] (15) IntTRS (16) RankingReductionPairProof [EQUIVALENT, 0 ms] (17) YES (18) IRSwT (19) TempFilterProof [SOUND, 3 ms] (20) IntTRS (21) PolynomialOrderProcessor [EQUIVALENT, 0 ms] (22) YES (23) IRSwT (24) IntTRSCompressionProof [EQUIVALENT, 0 ms] (25) IRSwT (26) FilterProof [EQUIVALENT, 0 ms] (27) IntTRS (28) IntTRSCompressionProof [EQUIVALENT, 0 ms] (29) IntTRS (30) IntTRSPeriodicNontermProof [COMPLETE, 0 ms] (31) NO ---------------------------------------- (0) Obligation: Rules: f1_0_main_ConstantStackPush(arg1, arg2) -> f79_0_main_GE(arg1P, arg2P) :|: 100 = arg2P && 0 = arg1P f79_0_main_GE(x, x1) -> f79_0_main_GE(x2, x3) :|: x1 + 1 = x3 && x - 1 = x2 && x <= x1 - 1 && x1 <= 51 f79_0_main_GE(x4, x5) -> f79_0_main_GE(x6, x7) :|: x5 - 1 = x7 && x4 + 1 = x6 && x4 <= x5 - 1 && 51 <= x5 - 1 __init(x8, x9) -> f1_0_main_ConstantStackPush(x10, x11) :|: 0 <= 0 Start term: __init(arg1, arg2) ---------------------------------------- (1) IRSFormatTransformerProof (EQUIVALENT) Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). ---------------------------------------- (2) Obligation: Rules: f1_0_main_ConstantStackPush(arg1, arg2) -> f79_0_main_GE(arg1P, arg2P) :|: 100 = arg2P && 0 = arg1P f79_0_main_GE(x, x1) -> f79_0_main_GE(x2, x3) :|: x1 + 1 = x3 && x - 1 = x2 && x <= x1 - 1 && x1 <= 51 f79_0_main_GE(x4, x5) -> f79_0_main_GE(x6, x7) :|: x5 - 1 = x7 && x4 + 1 = x6 && x4 <= x5 - 1 && 51 <= x5 - 1 __init(x8, x9) -> f1_0_main_ConstantStackPush(x10, x11) :|: 0 <= 0 Start term: __init(arg1, arg2) ---------------------------------------- (3) IRSwTTerminationDigraphProof (EQUIVALENT) Constructed termination digraph! Nodes: (1) f1_0_main_ConstantStackPush(arg1, arg2) -> f79_0_main_GE(arg1P, arg2P) :|: 100 = arg2P && 0 = arg1P (2) f79_0_main_GE(x, x1) -> f79_0_main_GE(x2, x3) :|: x1 + 1 = x3 && x - 1 = x2 && x <= x1 - 1 && x1 <= 51 (3) f79_0_main_GE(x4, x5) -> f79_0_main_GE(x6, x7) :|: x5 - 1 = x7 && x4 + 1 = x6 && x4 <= x5 - 1 && 51 <= x5 - 1 (4) __init(x8, x9) -> f1_0_main_ConstantStackPush(x10, x11) :|: 0 <= 0 Arcs: (1) -> (3) (2) -> (2), (3) (3) -> (2), (3) (4) -> (1) This digraph is fully evaluated! ---------------------------------------- (4) Obligation: Termination digraph: Nodes: (1) f79_0_main_GE(x4, x5) -> f79_0_main_GE(x6, x7) :|: x5 - 1 = x7 && x4 + 1 = x6 && x4 <= x5 - 1 && 51 <= x5 - 1 (2) f79_0_main_GE(x, x1) -> f79_0_main_GE(x2, x3) :|: x1 + 1 = x3 && x - 1 = x2 && x <= x1 - 1 && x1 <= 51 Arcs: (1) -> (1), (2) (2) -> (1), (2) This digraph is fully evaluated! ---------------------------------------- (5) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (6) Obligation: Rules: f79_0_main_GE(x:0, x1:0) -> f79_0_main_GE(x:0 - 1, x1:0 + 1) :|: x1:0 < 52 && x:0 <= x1:0 - 1 f79_0_main_GE(x4:0, x5:0) -> f79_0_main_GE(x4:0 + 1, x5:0 - 1) :|: x5:0 > 51 && x5:0 - 1 >= x4:0 ---------------------------------------- (7) IRSwTChainingProof (EQUIVALENT) Chaining! ---------------------------------------- (8) Obligation: Rules: f79_0_main_GE(x, x1) -> f79_0_main_GE(x + -2, x1 + 2) :|: TRUE && x + -1 * x1 <= -1 && x1 <= 50 f79_0_main_GE(x4:0, x5:0) -> f79_0_main_GE(x4:0 + 1, x5:0 - 1) :|: x5:0 > 51 && x5:0 - 1 >= x4:0 f79_0_main_GE(x4, x5) -> f79_0_main_GE(x4, x5) :|: TRUE && x5 <= 51 && x4 + -1 * x5 <= -1 && x5 >= 51 ---------------------------------------- (9) IRSwTTerminationDigraphProof (EQUIVALENT) Constructed termination digraph! Nodes: (1) f79_0_main_GE(x, x1) -> f79_0_main_GE(x + -2, x1 + 2) :|: TRUE && x + -1 * x1 <= -1 && x1 <= 50 (2) f79_0_main_GE(x4:0, x5:0) -> f79_0_main_GE(x4:0 + 1, x5:0 - 1) :|: x5:0 > 51 && x5:0 - 1 >= x4:0 (3) f79_0_main_GE(x4, x5) -> f79_0_main_GE(x4, x5) :|: TRUE && x5 <= 51 && x4 + -1 * x5 <= -1 && x5 >= 51 Arcs: (1) -> (1), (2), (3) (2) -> (2), (3) (3) -> (3) This digraph is fully evaluated! ---------------------------------------- (10) Complex Obligation (AND) ---------------------------------------- (11) Obligation: Termination digraph: Nodes: (1) f79_0_main_GE(x, x1) -> f79_0_main_GE(x + -2, x1 + 2) :|: TRUE && x + -1 * x1 <= -1 && x1 <= 50 Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (12) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (13) Obligation: Rules: f79_0_main_GE(x:0, x1:0) -> f79_0_main_GE(x:0 - 2, x1:0 + 2) :|: x1:0 < 51 && x:0 + -1 * x1:0 <= -1 ---------------------------------------- (14) TempFilterProof (SOUND) Used the following sort dictionary for filtering: f79_0_main_GE(INTEGER, INTEGER) Replaced non-predefined constructor symbols by 0. ---------------------------------------- (15) Obligation: Rules: f79_0_main_GE(x:0, x1:0) -> f79_0_main_GE(c, c1) :|: c1 = x1:0 + 2 && c = x:0 - 2 && (x1:0 < 51 && x:0 + -1 * x1:0 <= -1) ---------------------------------------- (16) RankingReductionPairProof (EQUIVALENT) Interpretation: [ f79_0_main_GE ] = -1/2*f79_0_main_GE_2 The following rules are decreasing: f79_0_main_GE(x:0, x1:0) -> f79_0_main_GE(c, c1) :|: c1 = x1:0 + 2 && c = x:0 - 2 && (x1:0 < 51 && x:0 + -1 * x1:0 <= -1) The following rules are bounded: f79_0_main_GE(x:0, x1:0) -> f79_0_main_GE(c, c1) :|: c1 = x1:0 + 2 && c = x:0 - 2 && (x1:0 < 51 && x:0 + -1 * x1:0 <= -1) ---------------------------------------- (17) YES ---------------------------------------- (18) Obligation: Termination digraph: Nodes: (1) f79_0_main_GE(x4:0, x5:0) -> f79_0_main_GE(x4:0 + 1, x5:0 - 1) :|: x5:0 > 51 && x5:0 - 1 >= x4:0 Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (19) TempFilterProof (SOUND) Used the following sort dictionary for filtering: f79_0_main_GE(INTEGER, INTEGER) Replaced non-predefined constructor symbols by 0. ---------------------------------------- (20) Obligation: Rules: f79_0_main_GE(x4:0, x5:0) -> f79_0_main_GE(c, c1) :|: c1 = x5:0 - 1 && c = x4:0 + 1 && (x5:0 > 51 && x5:0 - 1 >= x4:0) ---------------------------------------- (21) PolynomialOrderProcessor (EQUIVALENT) Found the following polynomial interpretation: [f79_0_main_GE(x, x1)] = -1 - x + x1 The following rules are decreasing: f79_0_main_GE(x4:0, x5:0) -> f79_0_main_GE(c, c1) :|: c1 = x5:0 - 1 && c = x4:0 + 1 && (x5:0 > 51 && x5:0 - 1 >= x4:0) The following rules are bounded: f79_0_main_GE(x4:0, x5:0) -> f79_0_main_GE(c, c1) :|: c1 = x5:0 - 1 && c = x4:0 + 1 && (x5:0 > 51 && x5:0 - 1 >= x4:0) ---------------------------------------- (22) YES ---------------------------------------- (23) Obligation: Termination digraph: Nodes: (1) f79_0_main_GE(x4, x5) -> f79_0_main_GE(x4, x5) :|: TRUE && x5 <= 51 && x4 + -1 * x5 <= -1 && x5 >= 51 Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (24) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (25) Obligation: Rules: f79_0_main_GE(x4:0, x5:0) -> f79_0_main_GE(x4:0, x5:0) :|: x4:0 + -1 * x5:0 <= -1 && x5:0 < 52 && x5:0 > 50 ---------------------------------------- (26) FilterProof (EQUIVALENT) Used the following sort dictionary for filtering: f79_0_main_GE(INTEGER, INTEGER) Replaced non-predefined constructor symbols by 0. ---------------------------------------- (27) Obligation: Rules: f79_0_main_GE(x4:0, x5:0) -> f79_0_main_GE(x4:0, x5:0) :|: x4:0 + -1 * x5:0 <= -1 && x5:0 < 52 && x5:0 > 50 ---------------------------------------- (28) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (29) Obligation: Rules: f79_0_main_GE(x4:0:0, x5:0:0) -> f79_0_main_GE(x4:0:0, x5:0:0) :|: x4:0:0 + -1 * x5:0:0 <= -1 && x5:0:0 < 52 && x5:0:0 > 50 ---------------------------------------- (30) IntTRSPeriodicNontermProof (COMPLETE) Normalized system to the following form: f(pc, x4:0:0, x5:0:0) -> f(1, x4:0:0, x5:0:0) :|: pc = 1 && (x4:0:0 + -1 * x5:0:0 <= -1 && x5:0:0 < 52 && x5:0:0 > 50) Witness term starting non-terminating reduction: f(1, -64, 51) ---------------------------------------- (31) NO