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, 296 ms] (4) IRSwT (5) IntTRSCompressionProof [EQUIVALENT, 0 ms] (6) IRSwT (7) IntTRSUnneededArgumentFilterProof [EQUIVALENT, 0 ms] (8) IRSwT (9) IRSwTChainingProof [EQUIVALENT, 0 ms] (10) IRSwT (11) IRSwTTerminationDigraphProof [EQUIVALENT, 19 ms] (12) AND (13) IRSwT (14) TempFilterProof [SOUND, 9 ms] (15) IntTRS (16) RankingReductionPairProof [EQUIVALENT, 0 ms] (17) YES (18) IRSwT (19) IntTRSCompressionProof [EQUIVALENT, 0 ms] (20) IRSwT (21) TempFilterProof [SOUND, 9 ms] (22) IntTRS (23) RankingReductionPairProof [EQUIVALENT, 0 ms] (24) YES (25) IRSwT (26) FilterProof [EQUIVALENT, 0 ms] (27) IntTRS (28) IntTRSPeriodicNontermProof [COMPLETE, 0 ms] (29) NO ---------------------------------------- (0) Obligation: Rules: l0(__disjvr_0HAT0, c0HAT0, deltaextHAT0, deltaext_newHAT0, wntHAT0) -> l2(__disjvr_0HATpost, c0HATpost, deltaextHATpost, deltaext_newHATpost, wntHATpost) :|: wntHAT0 = wntHATpost && deltaext_newHAT0 = deltaext_newHATpost && deltaextHAT0 = deltaextHATpost && c0HAT0 = c0HATpost && __disjvr_0HAT0 = __disjvr_0HATpost && __disjvr_0HATpost = __disjvr_0HAT0 l2(x, x1, x2, x3, x4) -> l1(x5, x6, x7, x8, x9) :|: x4 = x9 && x3 = x8 && x1 = x6 && x = x5 && x7 = x3 l1(x10, x11, x12, x13, x14) -> l0(x15, x16, x17, x18, x19) :|: x14 = x19 && x12 = x17 && x11 = x16 && x10 = x15 && x18 = x12 && x11 + x14 <= 2 * x12 && -1 + 2 * x12 <= x11 + x14 l1(x20, x21, x22, x23, x24) -> l0(x25, x26, x27, x28, x29) :|: x24 = x29 && x22 = x27 && x21 = x26 && x20 = x25 && x28 = -1 + x22 && 1 + x21 + x24 <= -1 + 2 * x22 l1(x30, x31, x32, x33, x34) -> l0(x35, x36, x37, x38, x39) :|: x34 = x39 && x32 = x37 && x31 = x36 && x30 = x35 && x38 = 1 + x32 && 1 + 2 * x32 <= x31 + x34 l3(x40, x41, x42, x43, x44) -> l1(x45, x46, x47, x48, x49) :|: x44 = x49 && x43 = x48 && x42 = x47 && x40 = x45 && x46 = 2 && x42 <= 3 && 0 <= x42 && x44 <= 3 && 0 <= x44 l4(x50, x51, x52, x53, x54) -> l3(x55, x56, x57, x58, x59) :|: x54 = x59 && x53 = x58 && x52 = x57 && x51 = x56 && x50 = x55 Start term: l4(__disjvr_0HAT0, c0HAT0, deltaextHAT0, deltaext_newHAT0, wntHAT0) ---------------------------------------- (1) IRSFormatTransformerProof (EQUIVALENT) Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). ---------------------------------------- (2) Obligation: Rules: l0(__disjvr_0HAT0, c0HAT0, deltaextHAT0, deltaext_newHAT0, wntHAT0) -> l2(__disjvr_0HATpost, c0HATpost, deltaextHATpost, deltaext_newHATpost, wntHATpost) :|: wntHAT0 = wntHATpost && deltaext_newHAT0 = deltaext_newHATpost && deltaextHAT0 = deltaextHATpost && c0HAT0 = c0HATpost && __disjvr_0HAT0 = __disjvr_0HATpost && __disjvr_0HATpost = __disjvr_0HAT0 l2(x, x1, x2, x3, x4) -> l1(x5, x6, x7, x8, x9) :|: x4 = x9 && x3 = x8 && x1 = x6 && x = x5 && x7 = x3 l1(x10, x11, x12, x13, x14) -> l0(x15, x16, x17, x18, x19) :|: x14 = x19 && x12 = x17 && x11 = x16 && x10 = x15 && x18 = x12 && x11 + x14 <= 2 * x12 && -1 + 2 * x12 <= x11 + x14 l1(x20, x21, x22, x23, x24) -> l0(x25, x26, x27, x28, x29) :|: x24 = x29 && x22 = x27 && x21 = x26 && x20 = x25 && x28 = -1 + x22 && 1 + x21 + x24 <= -1 + 2 * x22 l1(x30, x31, x32, x33, x34) -> l0(x35, x36, x37, x38, x39) :|: x34 = x39 && x32 = x37 && x31 = x36 && x30 = x35 && x38 = 1 + x32 && 1 + 2 * x32 <= x31 + x34 l3(x40, x41, x42, x43, x44) -> l1(x45, x46, x47, x48, x49) :|: x44 = x49 && x43 = x48 && x42 = x47 && x40 = x45 && x46 = 2 && x42 <= 3 && 0 <= x42 && x44 <= 3 && 0 <= x44 l4(x50, x51, x52, x53, x54) -> l3(x55, x56, x57, x58, x59) :|: x54 = x59 && x53 = x58 && x52 = x57 && x51 = x56 && x50 = x55 Start term: l4(__disjvr_0HAT0, c0HAT0, deltaextHAT0, deltaext_newHAT0, wntHAT0) ---------------------------------------- (3) IRSwTTerminationDigraphProof (EQUIVALENT) Constructed termination digraph! Nodes: (1) l0(__disjvr_0HAT0, c0HAT0, deltaextHAT0, deltaext_newHAT0, wntHAT0) -> l2(__disjvr_0HATpost, c0HATpost, deltaextHATpost, deltaext_newHATpost, wntHATpost) :|: wntHAT0 = wntHATpost && deltaext_newHAT0 = deltaext_newHATpost && deltaextHAT0 = deltaextHATpost && c0HAT0 = c0HATpost && __disjvr_0HAT0 = __disjvr_0HATpost && __disjvr_0HATpost = __disjvr_0HAT0 (2) l2(x, x1, x2, x3, x4) -> l1(x5, x6, x7, x8, x9) :|: x4 = x9 && x3 = x8 && x1 = x6 && x = x5 && x7 = x3 (3) l1(x10, x11, x12, x13, x14) -> l0(x15, x16, x17, x18, x19) :|: x14 = x19 && x12 = x17 && x11 = x16 && x10 = x15 && x18 = x12 && x11 + x14 <= 2 * x12 && -1 + 2 * x12 <= x11 + x14 (4) l1(x20, x21, x22, x23, x24) -> l0(x25, x26, x27, x28, x29) :|: x24 = x29 && x22 = x27 && x21 = x26 && x20 = x25 && x28 = -1 + x22 && 1 + x21 + x24 <= -1 + 2 * x22 (5) l1(x30, x31, x32, x33, x34) -> l0(x35, x36, x37, x38, x39) :|: x34 = x39 && x32 = x37 && x31 = x36 && x30 = x35 && x38 = 1 + x32 && 1 + 2 * x32 <= x31 + x34 (6) l3(x40, x41, x42, x43, x44) -> l1(x45, x46, x47, x48, x49) :|: x44 = x49 && x43 = x48 && x42 = x47 && x40 = x45 && x46 = 2 && x42 <= 3 && 0 <= x42 && x44 <= 3 && 0 <= x44 (7) l4(x50, x51, x52, x53, x54) -> l3(x55, x56, x57, x58, x59) :|: x54 = x59 && x53 = x58 && x52 = x57 && x51 = x56 && x50 = x55 Arcs: (1) -> (2) (2) -> (3), (4), (5) (3) -> (1) (4) -> (1) (5) -> (1) (6) -> (3), (4), (5) (7) -> (6) This digraph is fully evaluated! ---------------------------------------- (4) Obligation: Termination digraph: Nodes: (1) l0(__disjvr_0HAT0, c0HAT0, deltaextHAT0, deltaext_newHAT0, wntHAT0) -> l2(__disjvr_0HATpost, c0HATpost, deltaextHATpost, deltaext_newHATpost, wntHATpost) :|: wntHAT0 = wntHATpost && deltaext_newHAT0 = deltaext_newHATpost && deltaextHAT0 = deltaextHATpost && c0HAT0 = c0HATpost && __disjvr_0HAT0 = __disjvr_0HATpost && __disjvr_0HATpost = __disjvr_0HAT0 (2) l1(x30, x31, x32, x33, x34) -> l0(x35, x36, x37, x38, x39) :|: x34 = x39 && x32 = x37 && x31 = x36 && x30 = x35 && x38 = 1 + x32 && 1 + 2 * x32 <= x31 + x34 (3) l1(x20, x21, x22, x23, x24) -> l0(x25, x26, x27, x28, x29) :|: x24 = x29 && x22 = x27 && x21 = x26 && x20 = x25 && x28 = -1 + x22 && 1 + x21 + x24 <= -1 + 2 * x22 (4) l1(x10, x11, x12, x13, x14) -> l0(x15, x16, x17, x18, x19) :|: x14 = x19 && x12 = x17 && x11 = x16 && x10 = x15 && x18 = x12 && x11 + x14 <= 2 * x12 && -1 + 2 * x12 <= x11 + x14 (5) l2(x, x1, x2, x3, x4) -> l1(x5, x6, x7, x8, x9) :|: x4 = x9 && x3 = x8 && x1 = x6 && x = x5 && x7 = x3 Arcs: (1) -> (5) (2) -> (1) (3) -> (1) (4) -> (1) (5) -> (2), (3), (4) This digraph is fully evaluated! ---------------------------------------- (5) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (6) Obligation: Rules: l1(__disjvr_0HATpost:0, c0HATpost:0, deltaextHATpost:0, x23:0, wntHATpost:0) -> l1(__disjvr_0HATpost:0, c0HATpost:0, -1 + deltaextHATpost:0, -1 + deltaextHATpost:0, wntHATpost:0) :|: 1 + c0HATpost:0 + wntHATpost:0 <= -1 + 2 * deltaextHATpost:0 l1(x, x1, x2, x3, x4) -> l1(x, x1, x2, x2, x4) :|: x1 + x4 >= -1 + 2 * x2 && x1 + x4 <= 2 * x2 l1(x5, x6, x7, x8, x9) -> l1(x5, x6, 1 + x7, 1 + x7, x9) :|: x6 + x9 >= 1 + 2 * x7 ---------------------------------------- (7) IntTRSUnneededArgumentFilterProof (EQUIVALENT) Some arguments are removed because they cannot influence termination. We removed arguments according to the following replacements: l1(x1, x2, x3, x4, x5) -> l1(x2, x3, x5) ---------------------------------------- (8) Obligation: Rules: l1(c0HATpost:0, deltaextHATpost:0, wntHATpost:0) -> l1(c0HATpost:0, -1 + deltaextHATpost:0, wntHATpost:0) :|: 1 + c0HATpost:0 + wntHATpost:0 <= -1 + 2 * deltaextHATpost:0 l1(x1, x2, x4) -> l1(x1, x2, x4) :|: x1 + x4 >= -1 + 2 * x2 && x1 + x4 <= 2 * x2 l1(x6, x7, x9) -> l1(x6, 1 + x7, x9) :|: x6 + x9 >= 1 + 2 * x7 ---------------------------------------- (9) IRSwTChainingProof (EQUIVALENT) Chaining! ---------------------------------------- (10) Obligation: Rules: l1(x, x3, x5) -> l1(x, -2 + x3, x5) :|: TRUE && x + x5 + -2 * x3 <= -4 l1(x1, x2, x4) -> l1(x1, x2, x4) :|: x1 + x4 >= -1 + 2 * x2 && x1 + x4 <= 2 * x2 l1(x12, x13, x14) -> l1(x12, -1 + x13, x14) :|: TRUE && x12 + x14 + -2 * x13 <= -2 && x12 + x14 + -2 * x13 >= -3 l1(x6, x7, x9) -> l1(x6, 1 + x7, x9) :|: x6 + x9 >= 1 + 2 * x7 ---------------------------------------- (11) IRSwTTerminationDigraphProof (EQUIVALENT) Constructed termination digraph! Nodes: (1) l1(x, x3, x5) -> l1(x, -2 + x3, x5) :|: TRUE && x + x5 + -2 * x3 <= -4 (2) l1(x1, x2, x4) -> l1(x1, x2, x4) :|: x1 + x4 >= -1 + 2 * x2 && x1 + x4 <= 2 * x2 (3) l1(x12, x13, x14) -> l1(x12, -1 + x13, x14) :|: TRUE && x12 + x14 + -2 * x13 <= -2 && x12 + x14 + -2 * x13 >= -3 (4) l1(x6, x7, x9) -> l1(x6, 1 + x7, x9) :|: x6 + x9 >= 1 + 2 * x7 Arcs: (1) -> (1), (2), (3) (2) -> (2) (3) -> (2) (4) -> (2), (4) This digraph is fully evaluated! ---------------------------------------- (12) Complex Obligation (AND) ---------------------------------------- (13) Obligation: Termination digraph: Nodes: (1) l1(x6, x7, x9) -> l1(x6, 1 + x7, x9) :|: x6 + x9 >= 1 + 2 * x7 Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (14) TempFilterProof (SOUND) Used the following sort dictionary for filtering: l1(INTEGER, INTEGER, INTEGER) Replaced non-predefined constructor symbols by 0. ---------------------------------------- (15) Obligation: Rules: l1(x6, x7, x9) -> l1(x6, c, x9) :|: c = 1 + x7 && x6 + x9 >= 1 + 2 * x7 ---------------------------------------- (16) RankingReductionPairProof (EQUIVALENT) Interpretation: [ l1 ] = 1/2*l1_1 + 1/2*l1_3 + -1*l1_2 The following rules are decreasing: l1(x6, x7, x9) -> l1(x6, c, x9) :|: c = 1 + x7 && x6 + x9 >= 1 + 2 * x7 The following rules are bounded: l1(x6, x7, x9) -> l1(x6, c, x9) :|: c = 1 + x7 && x6 + x9 >= 1 + 2 * x7 ---------------------------------------- (17) YES ---------------------------------------- (18) Obligation: Termination digraph: Nodes: (1) l1(x, x3, x5) -> l1(x, -2 + x3, x5) :|: TRUE && x + x5 + -2 * x3 <= -4 Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (19) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (20) Obligation: Rules: l1(x:0, x3:0, x5:0) -> l1(x:0, -2 + x3:0, x5:0) :|: x:0 + x5:0 + -2 * x3:0 <= -4 ---------------------------------------- (21) TempFilterProof (SOUND) Used the following sort dictionary for filtering: l1(INTEGER, INTEGER, INTEGER) Replaced non-predefined constructor symbols by 0. ---------------------------------------- (22) Obligation: Rules: l1(x:0, x3:0, x5:0) -> l1(x:0, c, x5:0) :|: c = -2 + x3:0 && x:0 + x5:0 + -2 * x3:0 <= -4 ---------------------------------------- (23) RankingReductionPairProof (EQUIVALENT) Interpretation: [ l1 ] = -1/4*l1_1 + -1/4*l1_3 + 1/2*l1_2 The following rules are decreasing: l1(x:0, x3:0, x5:0) -> l1(x:0, c, x5:0) :|: c = -2 + x3:0 && x:0 + x5:0 + -2 * x3:0 <= -4 The following rules are bounded: l1(x:0, x3:0, x5:0) -> l1(x:0, c, x5:0) :|: c = -2 + x3:0 && x:0 + x5:0 + -2 * x3:0 <= -4 ---------------------------------------- (24) YES ---------------------------------------- (25) Obligation: Termination digraph: Nodes: (1) l1(x1, x2, x4) -> l1(x1, x2, x4) :|: x1 + x4 >= -1 + 2 * x2 && x1 + x4 <= 2 * x2 Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (26) FilterProof (EQUIVALENT) Used the following sort dictionary for filtering: l1(INTEGER, INTEGER, INTEGER) Replaced non-predefined constructor symbols by 0. ---------------------------------------- (27) Obligation: Rules: l1(x1, x2, x4) -> l1(x1, x2, x4) :|: x1 + x4 >= -1 + 2 * x2 && x1 + x4 <= 2 * x2 ---------------------------------------- (28) IntTRSPeriodicNontermProof (COMPLETE) Normalized system to the following form: f(pc, x1, x2, x4) -> f(1, x1, x2, x4) :|: pc = 1 && (x1 + x4 >= -1 + 2 * x2 && x1 + x4 <= 2 * x2) Witness term starting non-terminating reduction: f(1, 5, 5, 5) ---------------------------------------- (29) NO