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, 308 ms] (4) IRSwT (5) IntTRSCompressionProof [EQUIVALENT, 45 ms] (6) IRSwT (7) IntTRSUnneededArgumentFilterProof [EQUIVALENT, 0 ms] (8) IRSwT (9) IRSwTChainingProof [EQUIVALENT, 0 ms] (10) IRSwT (11) IRSwTTerminationDigraphProof [EQUIVALENT, 22 ms] (12) IRSwT (13) IntTRSCompressionProof [EQUIVALENT, 0 ms] (14) IRSwT (15) IRSwTChainingProof [EQUIVALENT, 1 ms] (16) IRSwT (17) IRSwTTerminationDigraphProof [EQUIVALENT, 30 ms] (18) IRSwT (19) IntTRSCompressionProof [EQUIVALENT, 0 ms] (20) IRSwT (21) FilterProof [EQUIVALENT, 0 ms] (22) IntTRS (23) IntTRSCompressionProof [EQUIVALENT, 0 ms] (24) IntTRS (25) IntTRSPeriodicNontermProof [COMPLETE, 9 ms] (26) NO ---------------------------------------- (0) Obligation: Rules: l0(__disjvr_0HAT0, __disjvr_1HAT0, __disjvr_2HAT0, xHAT0, yHAT0) -> l1(__disjvr_0HATpost, __disjvr_1HATpost, __disjvr_2HATpost, xHATpost, yHATpost) :|: yHAT0 = yHATpost && __disjvr_2HAT0 = __disjvr_2HATpost && __disjvr_1HAT0 = __disjvr_1HATpost && __disjvr_0HAT0 = __disjvr_0HATpost && xHATpost = 1 + 3 * xHAT0 && xHAT0 <= 1 + 2 * yHAT0 && 1 + 2 * yHAT0 <= xHAT0 l0(x, x1, x2, x3, x4) -> l1(x5, x6, x7, x8, x9) :|: x4 = x9 && x2 = x7 && x1 = x6 && x = x5 && x8 = x4 && x3 <= 2 * x4 && 2 * x4 <= x3 l1(x10, x11, x12, x13, x14) -> l2(x15, x16, x17, x18, x19) :|: x14 = x19 && x13 = x18 && x12 = x17 && x11 = x16 && x10 = x15 && x15 = x10 l2(x20, x21, x22, x23, x24) -> l3(x25, x26, x27, x28, x29) :|: x24 = x29 && x23 = x28 && x22 = x27 && x21 = x26 && x20 = x25 && x26 = x21 l3(x30, x31, x32, x33, x34) -> l4(x35, x36, x37, x38, x39) :|: x34 = x39 && x33 = x38 && x32 = x37 && x31 = x36 && x30 = x35 && x37 = x32 l4(x40, x41, x42, x43, x44) -> l0(x45, x46, x47, x48, x49) :|: x43 = x48 && x42 = x47 && x41 = x46 && x40 = x45 && x49 = x49 l5(x50, x51, x52, x53, x54) -> l1(x55, x56, x57, x58, x59) :|: x54 = x59 && x52 = x57 && x51 = x56 && x50 = x55 && 1 <= x58 && x58 = x58 l6(x60, x61, x62, x63, x64) -> l5(x65, x66, x67, x68, x69) :|: x64 = x69 && x63 = x68 && x62 = x67 && x61 = x66 && x60 = x65 Start term: l6(__disjvr_0HAT0, __disjvr_1HAT0, __disjvr_2HAT0, xHAT0, yHAT0) ---------------------------------------- (1) IRSFormatTransformerProof (EQUIVALENT) Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). ---------------------------------------- (2) Obligation: Rules: l0(__disjvr_0HAT0, __disjvr_1HAT0, __disjvr_2HAT0, xHAT0, yHAT0) -> l1(__disjvr_0HATpost, __disjvr_1HATpost, __disjvr_2HATpost, xHATpost, yHATpost) :|: yHAT0 = yHATpost && __disjvr_2HAT0 = __disjvr_2HATpost && __disjvr_1HAT0 = __disjvr_1HATpost && __disjvr_0HAT0 = __disjvr_0HATpost && xHATpost = 1 + 3 * xHAT0 && xHAT0 <= 1 + 2 * yHAT0 && 1 + 2 * yHAT0 <= xHAT0 l0(x, x1, x2, x3, x4) -> l1(x5, x6, x7, x8, x9) :|: x4 = x9 && x2 = x7 && x1 = x6 && x = x5 && x8 = x4 && x3 <= 2 * x4 && 2 * x4 <= x3 l1(x10, x11, x12, x13, x14) -> l2(x15, x16, x17, x18, x19) :|: x14 = x19 && x13 = x18 && x12 = x17 && x11 = x16 && x10 = x15 && x15 = x10 l2(x20, x21, x22, x23, x24) -> l3(x25, x26, x27, x28, x29) :|: x24 = x29 && x23 = x28 && x22 = x27 && x21 = x26 && x20 = x25 && x26 = x21 l3(x30, x31, x32, x33, x34) -> l4(x35, x36, x37, x38, x39) :|: x34 = x39 && x33 = x38 && x32 = x37 && x31 = x36 && x30 = x35 && x37 = x32 l4(x40, x41, x42, x43, x44) -> l0(x45, x46, x47, x48, x49) :|: x43 = x48 && x42 = x47 && x41 = x46 && x40 = x45 && x49 = x49 l5(x50, x51, x52, x53, x54) -> l1(x55, x56, x57, x58, x59) :|: x54 = x59 && x52 = x57 && x51 = x56 && x50 = x55 && 1 <= x58 && x58 = x58 l6(x60, x61, x62, x63, x64) -> l5(x65, x66, x67, x68, x69) :|: x64 = x69 && x63 = x68 && x62 = x67 && x61 = x66 && x60 = x65 Start term: l6(__disjvr_0HAT0, __disjvr_1HAT0, __disjvr_2HAT0, xHAT0, yHAT0) ---------------------------------------- (3) IRSwTTerminationDigraphProof (EQUIVALENT) Constructed termination digraph! Nodes: (1) l0(__disjvr_0HAT0, __disjvr_1HAT0, __disjvr_2HAT0, xHAT0, yHAT0) -> l1(__disjvr_0HATpost, __disjvr_1HATpost, __disjvr_2HATpost, xHATpost, yHATpost) :|: yHAT0 = yHATpost && __disjvr_2HAT0 = __disjvr_2HATpost && __disjvr_1HAT0 = __disjvr_1HATpost && __disjvr_0HAT0 = __disjvr_0HATpost && xHATpost = 1 + 3 * xHAT0 && xHAT0 <= 1 + 2 * yHAT0 && 1 + 2 * yHAT0 <= xHAT0 (2) l0(x, x1, x2, x3, x4) -> l1(x5, x6, x7, x8, x9) :|: x4 = x9 && x2 = x7 && x1 = x6 && x = x5 && x8 = x4 && x3 <= 2 * x4 && 2 * x4 <= x3 (3) l1(x10, x11, x12, x13, x14) -> l2(x15, x16, x17, x18, x19) :|: x14 = x19 && x13 = x18 && x12 = x17 && x11 = x16 && x10 = x15 && x15 = x10 (4) l2(x20, x21, x22, x23, x24) -> l3(x25, x26, x27, x28, x29) :|: x24 = x29 && x23 = x28 && x22 = x27 && x21 = x26 && x20 = x25 && x26 = x21 (5) l3(x30, x31, x32, x33, x34) -> l4(x35, x36, x37, x38, x39) :|: x34 = x39 && x33 = x38 && x32 = x37 && x31 = x36 && x30 = x35 && x37 = x32 (6) l4(x40, x41, x42, x43, x44) -> l0(x45, x46, x47, x48, x49) :|: x43 = x48 && x42 = x47 && x41 = x46 && x40 = x45 && x49 = x49 (7) l5(x50, x51, x52, x53, x54) -> l1(x55, x56, x57, x58, x59) :|: x54 = x59 && x52 = x57 && x51 = x56 && x50 = x55 && 1 <= x58 && x58 = x58 (8) l6(x60, x61, x62, x63, x64) -> l5(x65, x66, x67, x68, x69) :|: x64 = x69 && x63 = x68 && x62 = x67 && x61 = x66 && x60 = x65 Arcs: (1) -> (3) (2) -> (3) (3) -> (4) (4) -> (5) (5) -> (6) (6) -> (1), (2) (7) -> (3) (8) -> (7) This digraph is fully evaluated! ---------------------------------------- (4) Obligation: Termination digraph: Nodes: (1) l0(__disjvr_0HAT0, __disjvr_1HAT0, __disjvr_2HAT0, xHAT0, yHAT0) -> l1(__disjvr_0HATpost, __disjvr_1HATpost, __disjvr_2HATpost, xHATpost, yHATpost) :|: yHAT0 = yHATpost && __disjvr_2HAT0 = __disjvr_2HATpost && __disjvr_1HAT0 = __disjvr_1HATpost && __disjvr_0HAT0 = __disjvr_0HATpost && xHATpost = 1 + 3 * xHAT0 && xHAT0 <= 1 + 2 * yHAT0 && 1 + 2 * yHAT0 <= xHAT0 (2) l4(x40, x41, x42, x43, x44) -> l0(x45, x46, x47, x48, x49) :|: x43 = x48 && x42 = x47 && x41 = x46 && x40 = x45 && x49 = x49 (3) l3(x30, x31, x32, x33, x34) -> l4(x35, x36, x37, x38, x39) :|: x34 = x39 && x33 = x38 && x32 = x37 && x31 = x36 && x30 = x35 && x37 = x32 (4) l2(x20, x21, x22, x23, x24) -> l3(x25, x26, x27, x28, x29) :|: x24 = x29 && x23 = x28 && x22 = x27 && x21 = x26 && x20 = x25 && x26 = x21 (5) l1(x10, x11, x12, x13, x14) -> l2(x15, x16, x17, x18, x19) :|: x14 = x19 && x13 = x18 && x12 = x17 && x11 = x16 && x10 = x15 && x15 = x10 (6) l0(x, x1, x2, x3, x4) -> l1(x5, x6, x7, x8, x9) :|: x4 = x9 && x2 = x7 && x1 = x6 && x = x5 && x8 = x4 && x3 <= 2 * x4 && 2 * x4 <= x3 Arcs: (1) -> (5) (2) -> (1), (6) (3) -> (2) (4) -> (3) (5) -> (4) (6) -> (5) This digraph is fully evaluated! ---------------------------------------- (5) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (6) Obligation: Rules: l2(__disjvr_0HATpost:0, __disjvr_1HATpost:0, __disjvr_2HATpost:0, sum~cons_1~times~cons_2~x19:0, x24:0) -> l2(__disjvr_0HATpost:0, __disjvr_1HATpost:0, __disjvr_2HATpost:0, 1 + 3 * (1 + 2 * x19:0), x19:0) :|: TRUE && sum~cons_1~times~cons_2~x19:0 = 1 + 2 * x19:0 l2(x, x1, x2, x3, x4) -> l2(x, x1, x2, x5, x5) :|: TRUE && x3 = 2 * x5 ---------------------------------------- (7) IntTRSUnneededArgumentFilterProof (EQUIVALENT) Some arguments are removed because they cannot influence termination. We removed arguments according to the following replacements: l2(x1, x2, x3, x4, x5) -> l2(x4) ---------------------------------------- (8) Obligation: Rules: l2(sum~cons_1~times~cons_2~x19:0) -> l2(1 + 3 * (1 + 2 * x19:0)) :|: TRUE && sum~cons_1~times~cons_2~x19:0 = 1 + 2 * x19:0 l2(x3) -> l2(x5) :|: TRUE && x3 = 2 * x5 ---------------------------------------- (9) IRSwTChainingProof (EQUIVALENT) Chaining! ---------------------------------------- (10) Obligation: Rules: l2(x) -> l2(4 + 6 * x4) :|: TRUE && x + -2 * x1 = 1 && 6 * x1 + -2 * x4 = -3 l2(x3) -> l2(x5) :|: TRUE && x3 = 2 * x5 l2(x6) -> l2(x9) :|: TRUE && x6 + -2 * x7 = 1 && 3 * x7 + -1 * x9 = -2 ---------------------------------------- (11) IRSwTTerminationDigraphProof (EQUIVALENT) Constructed termination digraph! Nodes: (1) l2(x) -> l2(4 + 6 * x4) :|: TRUE && x + -2 * x1 = 1 && 6 * x1 + -2 * x4 = -3 (2) l2(x3) -> l2(x5) :|: TRUE && x3 = 2 * x5 (3) l2(x6) -> l2(x9) :|: TRUE && x6 + -2 * x7 = 1 && 3 * x7 + -1 * x9 = -2 Arcs: (2) -> (2), (3) (3) -> (2), (3) This digraph is fully evaluated! ---------------------------------------- (12) Obligation: Termination digraph: Nodes: (1) l2(x3) -> l2(x5) :|: TRUE && x3 = 2 * x5 (2) l2(x6) -> l2(x9) :|: TRUE && x6 + -2 * x7 = 1 && 3 * x7 + -1 * x9 = -2 Arcs: (1) -> (1), (2) (2) -> (1), (2) This digraph is fully evaluated! ---------------------------------------- (13) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (14) Obligation: Rules: l2(times~cons_2~x5:0) -> l2(x5:0) :|: TRUE && times~cons_2~x5:0 = 2 * x5:0 l2(x6:0) -> l2(x9:0) :|: 3 * x7:0 + -1 * x9:0 = -2 && x6:0 + -2 * x7:0 = 1 ---------------------------------------- (15) IRSwTChainingProof (EQUIVALENT) Chaining! ---------------------------------------- (16) Obligation: Rules: l2(x) -> l2(x3) :|: TRUE && x + -2 * x1 = 0 && x1 + -2 * x3 = 0 l2(x6:0) -> l2(x9:0) :|: 3 * x7:0 + -1 * x9:0 = -2 && x6:0 + -2 * x7:0 = 1 l2(x4) -> l2(x7) :|: TRUE && x4 + -2 * x5 = 0 && 3 * x8 + -1 * x7 = -2 && x5 + -2 * x8 = 1 ---------------------------------------- (17) IRSwTTerminationDigraphProof (EQUIVALENT) Constructed termination digraph! Nodes: (1) l2(x) -> l2(x3) :|: TRUE && x + -2 * x1 = 0 && x1 + -2 * x3 = 0 (2) l2(x6:0) -> l2(x9:0) :|: 3 * x7:0 + -1 * x9:0 = -2 && x6:0 + -2 * x7:0 = 1 (3) l2(x4) -> l2(x7) :|: TRUE && x4 + -2 * x5 = 0 && 3 * x8 + -1 * x7 = -2 && x5 + -2 * x8 = 1 Arcs: (1) -> (1), (2), (3) (2) -> (1), (2), (3) (3) -> (1), (2), (3) This digraph is fully evaluated! ---------------------------------------- (18) Obligation: Termination digraph: Nodes: (1) l2(x) -> l2(x3) :|: TRUE && x + -2 * x1 = 0 && x1 + -2 * x3 = 0 (2) l2(x6:0) -> l2(x9:0) :|: 3 * x7:0 + -1 * x9:0 = -2 && x6:0 + -2 * x7:0 = 1 (3) l2(x4) -> l2(x7) :|: TRUE && x4 + -2 * x5 = 0 && 3 * x8 + -1 * x7 = -2 && x5 + -2 * x8 = 1 Arcs: (1) -> (1), (2), (3) (2) -> (1), (2), (3) (3) -> (1), (2), (3) This digraph is fully evaluated! ---------------------------------------- (19) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (20) Obligation: Rules: l2(x4:0) -> l2(x7:0) :|: 3 * x8:0 + -1 * x7:0 = -2 && x4:0 + -2 * x5:0 = 0 && x5:0 + -2 * x8:0 = 1 l2(x:0) -> l2(x3:0) :|: x1:0 + -2 * x3:0 = 0 && x:0 + -2 * x1:0 = 0 l2(x6:0:0) -> l2(x9:0:0) :|: 3 * x7:0:0 + -1 * x9:0:0 = -2 && x6:0:0 + -2 * x7:0:0 = 1 ---------------------------------------- (21) FilterProof (EQUIVALENT) Used the following sort dictionary for filtering: l2(INTEGER) Replaced non-predefined constructor symbols by 0. ---------------------------------------- (22) Obligation: Rules: l2(x4:0) -> l2(x7:0) :|: 3 * x8:0 + -1 * x7:0 = -2 && x4:0 + -2 * x5:0 = 0 && x5:0 + -2 * x8:0 = 1 l2(x:0) -> l2(x3:0) :|: x1:0 + -2 * x3:0 = 0 && x:0 + -2 * x1:0 = 0 l2(x6:0:0) -> l2(x9:0:0) :|: 3 * x7:0:0 + -1 * x9:0:0 = -2 && x6:0:0 + -2 * x7:0:0 = 1 ---------------------------------------- (23) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (24) Obligation: Rules: l2(x4:0:0) -> l2(x7:0:0) :|: 3 * x8:0:0 + -1 * x7:0:0 = -2 && x4:0:0 + -2 * x5:0:0 = 0 && x5:0:0 + -2 * x8:0:0 = 1 l2(x:0:0) -> l2(x3:0:0) :|: x1:0:0 + -2 * x3:0:0 = 0 && x:0:0 + -2 * x1:0:0 = 0 l2(x6:0:0:0) -> l2(x9:0:0:0) :|: 3 * x7:0:0:0 + -1 * x9:0:0:0 = -2 && x6:0:0:0 + -2 * x7:0:0:0 = 1 ---------------------------------------- (25) IntTRSPeriodicNontermProof (COMPLETE) Normalized system to the following form: f(pc, x4:0:0) -> f(1, x7:0:0) :|: pc = 1 && (3 * x8:0:0 + -1 * x7:0:0 = -2 && x4:0:0 + -2 * x5:0:0 = 0 && x5:0:0 + -2 * x8:0:0 = 1) f(pc, x:0:0) -> f(1, x3:0:0) :|: pc = 1 && (x1:0:0 + -2 * x3:0:0 = 0 && x:0:0 + -2 * x1:0:0 = 0) f(pc, x6:0:0:0) -> f(1, x9:0:0:0) :|: pc = 1 && (3 * x7:0:0:0 + -1 * x9:0:0:0 = -2 && x6:0:0:0 + -2 * x7:0:0:0 = 1) Witness term starting non-terminating reduction: f(1, -1) ---------------------------------------- (26) NO