NO proof of /export/starexec/sandbox2/benchmark/theBenchmark.c # AProVE Commit ID: 794c25de1cacf0d048858bcd21c9a779e1221865 marcel 20200619 unpublished dirty Termination of the given C Problem could be disproven: (0) C Problem (1) CToIRSProof [EQUIVALENT, 0 ms] (2) IntTRS (3) IRS2T2 [EQUIVALENT, 0 ms] (4) T2IntSys (5) T2 [COMPLETE, 1487 ms] (6) NO ---------------------------------------- (0) Obligation: c file /export/starexec/sandbox2/benchmark/theBenchmark.c ---------------------------------------- (1) CToIRSProof (EQUIVALENT) Parsed C Integer Program as IRS. ---------------------------------------- (2) Obligation: Rules: f1(a, b, am, bm) -> f2(a, b, a, bm) :|: TRUE f2(x, x1, x2, x3) -> f3(x, x1, x2, x1) :|: TRUE f5(x4, x5, x6, x7) -> f8(x4, x5, x6, arith) :|: TRUE && arith = x7 + x5 f6(x40, x41, x42, x43) -> f9(x40, x41, x44, x43) :|: TRUE && x44 = x42 + x40 f4(x12, x13, x14, x15) -> f5(x12, x13, x14, x15) :|: x14 > x15 f4(x16, x17, x18, x19) -> f6(x16, x17, x18, x19) :|: x18 <= x19 f8(x20, x21, x22, x23) -> f7(x20, x21, x22, x23) :|: TRUE f9(x24, x25, x26, x27) -> f7(x24, x25, x26, x27) :|: TRUE f3(x28, x29, x30, x31) -> f4(x28, x29, x30, x31) :|: x30 < x31 f3(x45, x46, x47, x48) -> f4(x45, x46, x47, x48) :|: x47 > x48 f7(x32, x33, x34, x35) -> f3(x32, x33, x34, x35) :|: TRUE f3(x36, x37, x38, x39) -> f10(x36, x37, x38, x39) :|: x38 = x39 Start term: f1(a, b, am, bm) ---------------------------------------- (3) IRS2T2 (EQUIVALENT) Transformed input IRS into an integer transition system.Used the following mapping from defined symbols to location IDs: (f1_4,1) (f2_4,2) (f3_4,3) (f5_4,4) (f8_4,5) (f6_4,6) (f9_4,7) (f4_4,8) (f7_4,9) (f10_4,10) ---------------------------------------- (4) Obligation: START: 1; FROM: 1; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; assume(0 = 0); x0 := oldX0; x1 := oldX1; x2 := oldX0; x3 := oldX3; TO: 2; FROM: 2; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; assume(0 = 0); x0 := oldX0; x1 := oldX1; x2 := oldX2; x3 := oldX1; TO: 3; FROM: 4; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX4 := -(-(oldX3 + oldX1)); assume(0 = 0 && oldX4 = oldX3 + oldX1); x0 := oldX0; x1 := oldX1; x2 := oldX2; x3 := -(-(oldX3 + oldX1)); TO: 5; FROM: 6; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; oldX4 := -(-(oldX2 + oldX0)); assume(0 = 0 && oldX4 = oldX2 + oldX0); x0 := oldX0; x1 := oldX1; x2 := -(-(oldX2 + oldX0)); x3 := oldX3; TO: 7; FROM: 8; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; assume(oldX2 > oldX3); x0 := oldX0; x1 := oldX1; x2 := oldX2; x3 := oldX3; TO: 4; FROM: 8; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; assume(oldX2 <= oldX3); x0 := oldX0; x1 := oldX1; x2 := oldX2; x3 := oldX3; TO: 6; FROM: 5; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; assume(0 = 0); x0 := oldX0; x1 := oldX1; x2 := oldX2; x3 := oldX3; TO: 9; FROM: 7; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; assume(0 = 0); x0 := oldX0; x1 := oldX1; x2 := oldX2; x3 := oldX3; TO: 9; FROM: 3; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; assume(oldX2 < oldX3); x0 := oldX0; x1 := oldX1; x2 := oldX2; x3 := oldX3; TO: 8; FROM: 3; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; assume(oldX2 > oldX3); x0 := oldX0; x1 := oldX1; x2 := oldX2; x3 := oldX3; TO: 8; FROM: 9; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; assume(0 = 0); x0 := oldX0; x1 := oldX1; x2 := oldX2; x3 := oldX3; TO: 3; FROM: 3; oldX0 := x0; oldX1 := x1; oldX2 := x2; oldX3 := x3; assume(oldX2 = oldX3); x0 := oldX0; x1 := oldX1; x2 := oldX2; x3 := oldX3; TO: 10; ---------------------------------------- (5) T2 (COMPLETE) Found this recurrent set for cutpoint 8: oldX0 == 0 and oldX1 == 1 and x0 == 0 and x1 == 1 and x2 == 0 and x3 == 1 ---------------------------------------- (6) NO