NO Initial ITS Start location: __init 0: f1_0_main_Load -> f1549_0_search_LT : arg2'=arg2P0, arg1'=arg1P0, arg3'=arg3P0, (1+arg2 > 0 /\ arg1 > 0 /\ -arg1P0 == 0), cost: 1 1: f1549_0_search_LT -> f1911_0_search_GE : arg2'=arg2P1, arg1'=arg1P1, arg3'=arg3P1, (-arg2P1 == 0 /\ -x20+arg1 < 0 /\ -arg1P1+arg1 == 0), cost: 1 5: f1549_0_search_LT -> f1944_0_displayChessboard_GE : arg2'=arg2P5, arg1'=arg1P5, arg3'=arg3P5, (arg1-x150 >= 0 /\ -arg1P5 == 0), cost: 1 2: f1911_0_search_GE -> f1911_0_search_GE : arg2'=arg2P2, arg1'=arg1P2, arg3'=arg3P2, (x40 > 0 /\ -arg1P2+arg1 == 0 /\ 1+arg2-arg2P2 == 0 /\ -x40+arg2 < 0), cost: 1 3: f1911_0_search_GE -> f1549_0_search_LT : arg2'=arg2P3, arg1'=arg1P3, arg3'=arg3P3, (x70 > 0 /\ 1 > 0 /\ 1+arg1 > 0 /\ x100 > 0 /\ 1+arg1-arg1P3 == 0 /\ -x70+arg1 < 0 /\ -x70+arg2 < 0), cost: 1 4: f1911_0_search_GE -> f1911_0_search_GE : arg2'=arg2P4, arg1'=arg1P4, arg3'=arg3P4, (1 > 0 /\ 1+arg1 > 0 /\ -x110+arg1 < 0 /\ x110 > 0 /\ x140 > 0 /\ arg2-x110 < 0 /\ 1+arg2-arg2P4 == 0 /\ -arg1P4+arg1 == 0), cost: 1 11: f1911_0_search_GE -> f1876_0_safeMove_GE : arg2'=arg2P11, arg1'=arg1P11, arg3'=arg3P11, (1-arg1P11 == 0 /\ arg1-arg3P11 == 0 /\ -arg2P11 == 0 /\ arg2-x290 < 0 /\ x290 > 0), cost: 1 6: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg2'=arg2P6, arg1'=arg1P6, arg3'=arg3P6, (-arg1P6+arg1 == 0 /\ -arg2P6 == 0 /\ arg1-x170 < 0), cost: 1 7: f2167_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg2'=arg2P7, arg1'=arg1P7, arg3'=arg3P7, (1-arg1P7+arg1 == 0 /\ -x190+arg2 >= 0), cost: 1 8: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg2'=arg2P8, arg1'=arg1P8, arg3'=arg3P8, (1+arg2-arg2P8 == 0 /\ -arg2+x250 < 0 /\ arg1-arg1P8 == 0 /\ arg2-x220 < 0 /\ -x220+arg1 < 0), cost: 1 9: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg2'=arg2P9, arg1'=arg1P9, arg3'=arg3P9, (-arg1P9+arg1 == 0 /\ 1-arg2P9+arg2 == 0 /\ -x490+arg1 < 0 /\ arg2-x490 < 0 /\ -arg2+x460 > 0), cost: 1 10: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg2'=arg2P10, arg1'=arg1P10, arg3'=arg3P10, (-x260+arg1 < 0 /\ arg2-x260 < 0 /\ 1+arg2-arg2P10 == 0 /\ arg1-arg1P10 == 0), cost: 1 12: f1876_0_safeMove_GE -> f1969_0_safeMove_NE : arg2'=arg2P12, arg1'=arg1P12, arg3'=arg3P12, (x320 > 0 /\ arg2-x320 < 0 /\ 1-arg3P12 == 0 /\ -arg1P12+arg3 == 0 /\ arg1 > 0 /\ arg3 > 0 /\ arg2-arg2P12 == 0 /\ -arg2+arg3 > 0), cost: 1 13: f1876_0_safeMove_GE -> f1969_0_safeMove_NE : arg2'=arg2P13, arg1'=arg1P13, arg3'=arg3P13, (x360 > 0 /\ arg1 > 0 /\ -arg3P13 == 0 /\ arg2-arg2P13 == 0 /\ arg3 > 0 /\ -x360+arg2 < 0 /\ -arg1P13+arg3 == 0 /\ -arg2+arg3 > 0), cost: 1 14: f1876_0_safeMove_GE -> f1876_0_safeMove_GE : arg2'=arg2P14, arg1'=arg1P14, arg3'=arg3P14, (-arg3P14+arg3 == 0 /\ -arg1P14 == 0 /\ 1-arg2P14+arg2 == 0 /\ -arg1 == 0 /\ -arg2+arg3 > 0), cost: 1 15: f1969_0_safeMove_NE -> f1876_0_safeMove_GE : arg2'=arg2P15, arg1'=arg1P15, arg3'=arg3P15, (1-arg3 == 0 /\ -arg1P15 == 0 /\ 1-arg2P15+arg2 == 0 /\ arg1-arg3P15 == 0), cost: 1 16: f1969_0_safeMove_NE -> f1876_0_safeMove_GE : arg2'=arg2P16, arg1'=arg1P16, arg3'=arg3P16, (-arg3 == 0 /\ 1-arg1P16 == 0 /\ arg1-arg3P16 == 0 /\ 1+arg2-arg2P16 == 0), cost: 1 17: __init -> f1_0_main_Load : arg2'=arg2P17, arg1'=arg1P17, arg3'=arg3P17, TRUE, cost: 1 Applied preprocessing Original rule: f1_0_main_Load -> f1549_0_search_LT : arg2'=arg2P0, arg1'=arg1P0, arg3'=arg3P0, (1+arg2 > 0 /\ arg1 > 0 /\ -arg1P0 == 0), cost: 1 New rule: f1_0_main_Load -> f1549_0_search_LT : arg2'=arg2P0, arg1'=0, arg3'=arg3P0, (1+arg2 > 0 /\ arg1 > 0), cost: 1 Applied preprocessing Original rule: f1549_0_search_LT -> f1911_0_search_GE : arg2'=arg2P1, arg1'=arg1P1, arg3'=arg3P1, (-arg2P1 == 0 /\ -x20+arg1 < 0 /\ -arg1P1+arg1 == 0), cost: 1 New rule: f1549_0_search_LT -> f1911_0_search_GE : arg2'=0, arg3'=arg3P1, TRUE, cost: 1 Applied preprocessing Original rule: f1911_0_search_GE -> f1911_0_search_GE : arg2'=arg2P2, arg1'=arg1P2, arg3'=arg3P2, (x40 > 0 /\ -arg1P2+arg1 == 0 /\ 1+arg2-arg2P2 == 0 /\ -x40+arg2 < 0), cost: 1 New rule: f1911_0_search_GE -> f1911_0_search_GE : arg2'=1+arg2, arg3'=arg3P2, TRUE, cost: 1 Applied preprocessing Original rule: f1911_0_search_GE -> f1549_0_search_LT : arg2'=arg2P3, arg1'=arg1P3, arg3'=arg3P3, (x70 > 0 /\ 1 > 0 /\ 1+arg1 > 0 /\ x100 > 0 /\ 1+arg1-arg1P3 == 0 /\ -x70+arg1 < 0 /\ -x70+arg2 < 0), cost: 1 New rule: f1911_0_search_GE -> f1549_0_search_LT : arg2'=arg2P3, arg1'=1+arg1, arg3'=arg3P3, 1+arg1 > 0, cost: 1 Applied preprocessing Original rule: f1911_0_search_GE -> f1911_0_search_GE : arg2'=arg2P4, arg1'=arg1P4, arg3'=arg3P4, (1 > 0 /\ 1+arg1 > 0 /\ -x110+arg1 < 0 /\ x110 > 0 /\ x140 > 0 /\ arg2-x110 < 0 /\ 1+arg2-arg2P4 == 0 /\ -arg1P4+arg1 == 0), cost: 1 New rule: f1911_0_search_GE -> f1911_0_search_GE : arg2'=1+arg2, arg3'=arg3P4, 1+arg1 > 0, cost: 1 Applied preprocessing Original rule: f1549_0_search_LT -> f1944_0_displayChessboard_GE : arg2'=arg2P5, arg1'=arg1P5, arg3'=arg3P5, (arg1-x150 >= 0 /\ -arg1P5 == 0), cost: 1 New rule: f1549_0_search_LT -> f1944_0_displayChessboard_GE : arg2'=arg2P5, arg1'=0, arg3'=arg3P5, TRUE, cost: 1 Applied preprocessing Original rule: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg2'=arg2P6, arg1'=arg1P6, arg3'=arg3P6, (-arg1P6+arg1 == 0 /\ -arg2P6 == 0 /\ arg1-x170 < 0), cost: 1 New rule: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg2'=0, arg3'=arg3P6, TRUE, cost: 1 Applied preprocessing Original rule: f2167_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg2'=arg2P7, arg1'=arg1P7, arg3'=arg3P7, (1-arg1P7+arg1 == 0 /\ -x190+arg2 >= 0), cost: 1 New rule: f2167_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg2'=arg2P7, arg1'=1+arg1, arg3'=arg3P7, TRUE, cost: 1 Applied preprocessing Original rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg2'=arg2P8, arg1'=arg1P8, arg3'=arg3P8, (1+arg2-arg2P8 == 0 /\ -arg2+x250 < 0 /\ arg1-arg1P8 == 0 /\ arg2-x220 < 0 /\ -x220+arg1 < 0), cost: 1 New rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg2'=1+arg2, arg3'=arg3P8, TRUE, cost: 1 Applied preprocessing Original rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg2'=arg2P9, arg1'=arg1P9, arg3'=arg3P9, (-arg1P9+arg1 == 0 /\ 1-arg2P9+arg2 == 0 /\ -x490+arg1 < 0 /\ arg2-x490 < 0 /\ -arg2+x460 > 0), cost: 1 New rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg2'=1+arg2, arg3'=arg3P9, TRUE, cost: 1 Applied preprocessing Original rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg2'=arg2P10, arg1'=arg1P10, arg3'=arg3P10, (-x260+arg1 < 0 /\ arg2-x260 < 0 /\ 1+arg2-arg2P10 == 0 /\ arg1-arg1P10 == 0), cost: 1 New rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg2'=1+arg2, arg3'=arg3P10, TRUE, cost: 1 Applied preprocessing Original rule: f1911_0_search_GE -> f1876_0_safeMove_GE : arg2'=arg2P11, arg1'=arg1P11, arg3'=arg3P11, (1-arg1P11 == 0 /\ arg1-arg3P11 == 0 /\ -arg2P11 == 0 /\ arg2-x290 < 0 /\ x290 > 0), cost: 1 New rule: f1911_0_search_GE -> f1876_0_safeMove_GE : arg2'=0, arg1'=1, arg3'=arg1, TRUE, cost: 1 Applied preprocessing Original rule: f1876_0_safeMove_GE -> f1969_0_safeMove_NE : arg2'=arg2P12, arg1'=arg1P12, arg3'=arg3P12, (x320 > 0 /\ arg2-x320 < 0 /\ 1-arg3P12 == 0 /\ -arg1P12+arg3 == 0 /\ arg1 > 0 /\ arg3 > 0 /\ arg2-arg2P12 == 0 /\ -arg2+arg3 > 0), cost: 1 New rule: f1876_0_safeMove_GE -> f1969_0_safeMove_NE : arg1'=arg3, arg3'=1, (arg1 > 0 /\ arg3 > 0 /\ -arg2+arg3 > 0), cost: 1 Applied preprocessing Original rule: f1876_0_safeMove_GE -> f1969_0_safeMove_NE : arg2'=arg2P13, arg1'=arg1P13, arg3'=arg3P13, (x360 > 0 /\ arg1 > 0 /\ -arg3P13 == 0 /\ arg2-arg2P13 == 0 /\ arg3 > 0 /\ -x360+arg2 < 0 /\ -arg1P13+arg3 == 0 /\ -arg2+arg3 > 0), cost: 1 New rule: f1876_0_safeMove_GE -> f1969_0_safeMove_NE : arg1'=arg3, arg3'=0, (arg1 > 0 /\ arg3 > 0 /\ -arg2+arg3 > 0), cost: 1 Applied preprocessing Original rule: f1876_0_safeMove_GE -> f1876_0_safeMove_GE : arg2'=arg2P14, arg1'=arg1P14, arg3'=arg3P14, (-arg3P14+arg3 == 0 /\ -arg1P14 == 0 /\ 1-arg2P14+arg2 == 0 /\ -arg1 == 0 /\ -arg2+arg3 > 0), cost: 1 New rule: f1876_0_safeMove_GE -> f1876_0_safeMove_GE : arg2'=1+arg2, arg1'=0, (arg1 == 0 /\ -arg2+arg3 > 0), cost: 1 Applied preprocessing Original rule: f1969_0_safeMove_NE -> f1876_0_safeMove_GE : arg2'=arg2P15, arg1'=arg1P15, arg3'=arg3P15, (1-arg3 == 0 /\ -arg1P15 == 0 /\ 1-arg2P15+arg2 == 0 /\ arg1-arg3P15 == 0), cost: 1 New rule: f1969_0_safeMove_NE -> f1876_0_safeMove_GE : arg2'=1+arg2, arg1'=0, arg3'=arg1, -1+arg3 == 0, cost: 1 Applied preprocessing Original rule: f1969_0_safeMove_NE -> f1876_0_safeMove_GE : arg2'=arg2P16, arg1'=arg1P16, arg3'=arg3P16, (-arg3 == 0 /\ 1-arg1P16 == 0 /\ arg1-arg3P16 == 0 /\ 1+arg2-arg2P16 == 0), cost: 1 New rule: f1969_0_safeMove_NE -> f1876_0_safeMove_GE : arg2'=1+arg2, arg1'=1, arg3'=arg1, arg3 == 0, cost: 1 Simplified rules Start location: __init 18: f1_0_main_Load -> f1549_0_search_LT : arg2'=arg2P0, arg1'=0, arg3'=arg3P0, (1+arg2 > 0 /\ arg1 > 0), cost: 1 19: f1549_0_search_LT -> f1911_0_search_GE : arg2'=0, arg3'=arg3P1, TRUE, cost: 1 23: f1549_0_search_LT -> f1944_0_displayChessboard_GE : arg2'=arg2P5, arg1'=0, arg3'=arg3P5, TRUE, cost: 1 20: f1911_0_search_GE -> f1911_0_search_GE : arg2'=1+arg2, arg3'=arg3P2, TRUE, cost: 1 21: f1911_0_search_GE -> f1549_0_search_LT : arg2'=arg2P3, arg1'=1+arg1, arg3'=arg3P3, 1+arg1 > 0, cost: 1 22: f1911_0_search_GE -> f1911_0_search_GE : arg2'=1+arg2, arg3'=arg3P4, 1+arg1 > 0, cost: 1 29: f1911_0_search_GE -> f1876_0_safeMove_GE : arg2'=0, arg1'=1, arg3'=arg1, TRUE, cost: 1 24: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg2'=0, arg3'=arg3P6, TRUE, cost: 1 25: f2167_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg2'=arg2P7, arg1'=1+arg1, arg3'=arg3P7, TRUE, cost: 1 26: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg2'=1+arg2, arg3'=arg3P8, TRUE, cost: 1 27: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg2'=1+arg2, arg3'=arg3P9, TRUE, cost: 1 28: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg2'=1+arg2, arg3'=arg3P10, TRUE, cost: 1 30: f1876_0_safeMove_GE -> f1969_0_safeMove_NE : arg1'=arg3, arg3'=1, (arg1 > 0 /\ arg3 > 0 /\ -arg2+arg3 > 0), cost: 1 31: f1876_0_safeMove_GE -> f1969_0_safeMove_NE : arg1'=arg3, arg3'=0, (arg1 > 0 /\ arg3 > 0 /\ -arg2+arg3 > 0), cost: 1 32: f1876_0_safeMove_GE -> f1876_0_safeMove_GE : arg2'=1+arg2, arg1'=0, (arg1 == 0 /\ -arg2+arg3 > 0), cost: 1 33: f1969_0_safeMove_NE -> f1876_0_safeMove_GE : arg2'=1+arg2, arg1'=0, arg3'=arg1, -1+arg3 == 0, cost: 1 34: f1969_0_safeMove_NE -> f1876_0_safeMove_GE : arg2'=1+arg2, arg1'=1, arg3'=arg1, arg3 == 0, cost: 1 17: __init -> f1_0_main_Load : arg2'=arg2P17, arg1'=arg1P17, arg3'=arg3P17, TRUE, cost: 1 Applied nonterm Original rule: f1911_0_search_GE -> f1911_0_search_GE : arg2'=1+arg2, arg3'=arg3P2, TRUE, cost: 1 New rule: f1911_0_search_GE -> [8] : -1+n >= 0, cost: NONTERM Sub-proof via acceration calculus written to file:///tmp/tmpnam_OFijAB.txt Applied nonterm Original rule: f1911_0_search_GE -> f1911_0_search_GE : arg2'=1+arg2, arg3'=arg3P4, 1+arg1 > 0, cost: 1 New rule: f1911_0_search_GE -> [8] : (1+arg1 > 0 /\ -1+n0 >= 0), cost: NONTERM Sub-proof via acceration calculus written to file:///tmp/tmpnam_oHEMMJ.txt Applied chaining First rule: f1911_0_search_GE -> f1911_0_search_GE : arg2'=1+arg2, arg3'=arg3P4, 1+arg1 > 0, cost: 1 Second rule: f1911_0_search_GE -> f1911_0_search_GE : arg2'=1+arg2, arg3'=arg3P2, TRUE, cost: 1 New rule: f1911_0_search_GE -> f1911_0_search_GE : arg2'=2+arg2, arg3'=arg3P2, 1+arg1 > 0, cost: 2 Applied nonterm Original rule: f1911_0_search_GE -> f1911_0_search_GE : arg2'=2+arg2, arg3'=arg3P2, 1+arg1 > 0, cost: 2 New rule: f1911_0_search_GE -> [8] : (1+arg1 > 0 /\ -1+n1 >= 0), cost: NONTERM Sub-proof via acceration calculus written to file:///tmp/tmpnam_lLfKgn.txt Applied chaining First rule: f1911_0_search_GE -> f1911_0_search_GE : arg2'=1+arg2, arg3'=arg3P2, TRUE, cost: 1 Second rule: f1911_0_search_GE -> [8] : (1+arg1 > 0 /\ -1+n1 >= 0), cost: NONTERM New rule: f1911_0_search_GE -> [8] : (1+arg1 > 0 /\ -1+n1 >= 0), cost: NONTERM Applied chaining First rule: f1911_0_search_GE -> f1911_0_search_GE : arg2'=1+arg2, arg3'=arg3P2, TRUE, cost: 1 Second rule: f1911_0_search_GE -> f1911_0_search_GE : arg2'=1+arg2, arg3'=arg3P4, 1+arg1 > 0, cost: 1 New rule: f1911_0_search_GE -> f1911_0_search_GE : arg2'=2+arg2, arg3'=arg3P4, 1+arg1 > 0, cost: 2 Applied nonterm Original rule: f1911_0_search_GE -> f1911_0_search_GE : arg2'=2+arg2, arg3'=arg3P4, 1+arg1 > 0, cost: 2 New rule: f1911_0_search_GE -> [8] : (1+arg1 > 0 /\ -1+n2 >= 0), cost: NONTERM Sub-proof via acceration calculus written to file:///tmp/tmpnam_AbBCAe.txt Applied chaining First rule: f1911_0_search_GE -> f1911_0_search_GE : arg2'=1+arg2, arg3'=arg3P4, 1+arg1 > 0, cost: 1 Second rule: f1911_0_search_GE -> [8] : (1+arg1 > 0 /\ -1+n2 >= 0), cost: NONTERM New rule: f1911_0_search_GE -> [8] : (1+arg1 > 0 /\ -1+n2 >= 0), cost: NONTERM Applied deletion Removed the following rules: 20 22 Applied nonterm Original rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg2'=1+arg2, arg3'=arg3P8, TRUE, cost: 1 New rule: f2167_0_displayChessboard_GE -> [9] : -1+n3 >= 0, cost: NONTERM Sub-proof via acceration calculus written to file:///tmp/tmpnam_jgkIom.txt Applied nonterm Original rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg2'=1+arg2, arg3'=arg3P9, TRUE, cost: 1 New rule: f2167_0_displayChessboard_GE -> [9] : -1+n4 >= 0, cost: NONTERM Sub-proof via acceration calculus written to file:///tmp/tmpnam_NKPMfh.txt Applied nonterm Original rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg2'=1+arg2, arg3'=arg3P10, TRUE, cost: 1 New rule: f2167_0_displayChessboard_GE -> [9] : -1+n5 >= 0, cost: NONTERM Sub-proof via acceration calculus written to file:///tmp/tmpnam_EkehgI.txt Applied chaining First rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg2'=1+arg2, arg3'=arg3P10, TRUE, cost: 1 Second rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg2'=1+arg2, arg3'=arg3P9, TRUE, cost: 1 New rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg2'=2+arg2, arg3'=arg3P9, TRUE, cost: 2 Applied nonterm Original rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg2'=2+arg2, arg3'=arg3P9, TRUE, cost: 2 New rule: f2167_0_displayChessboard_GE -> [9] : -1+n6 >= 0, cost: NONTERM Sub-proof via acceration calculus written to file:///tmp/tmpnam_ofchPk.txt Applied chaining First rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg2'=1+arg2, arg3'=arg3P9, TRUE, cost: 1 Second rule: f2167_0_displayChessboard_GE -> [9] : -1+n6 >= 0, cost: NONTERM New rule: f2167_0_displayChessboard_GE -> [9] : -1+n6 >= 0, cost: NONTERM Applied chaining First rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg2'=1+arg2, arg3'=arg3P10, TRUE, cost: 1 Second rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg2'=1+arg2, arg3'=arg3P8, TRUE, cost: 1 New rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg2'=2+arg2, arg3'=arg3P8, TRUE, cost: 2 Applied nonterm Original rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg2'=2+arg2, arg3'=arg3P8, TRUE, cost: 2 New rule: f2167_0_displayChessboard_GE -> [9] : -1+n7 >= 0, cost: NONTERM Sub-proof via acceration calculus written to file:///tmp/tmpnam_IDelIp.txt Applied chaining First rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg2'=1+arg2, arg3'=arg3P8, TRUE, cost: 1 Second rule: f2167_0_displayChessboard_GE -> [9] : -1+n7 >= 0, cost: NONTERM New rule: f2167_0_displayChessboard_GE -> [9] : -1+n7 >= 0, cost: NONTERM Applied chaining First rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg2'=1+arg2, arg3'=arg3P9, TRUE, cost: 1 Second rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg2'=1+arg2, arg3'=arg3P10, TRUE, cost: 1 New rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg2'=2+arg2, arg3'=arg3P10, TRUE, cost: 2 Applied nonterm Original rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg2'=2+arg2, arg3'=arg3P10, TRUE, cost: 2 New rule: f2167_0_displayChessboard_GE -> [9] : -1+n8 >= 0, cost: NONTERM Sub-proof via acceration calculus written to file:///tmp/tmpnam_BfiHLG.txt Applied chaining First rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg2'=1+arg2, arg3'=arg3P10, TRUE, cost: 1 Second rule: f2167_0_displayChessboard_GE -> [9] : -1+n8 >= 0, cost: NONTERM New rule: f2167_0_displayChessboard_GE -> [9] : -1+n8 >= 0, cost: NONTERM Applied chaining First rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg2'=1+arg2, arg3'=arg3P9, TRUE, cost: 1 Second rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg2'=1+arg2, arg3'=arg3P8, TRUE, cost: 1 New rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg2'=2+arg2, arg3'=arg3P8, TRUE, cost: 2 Applied nonterm Original rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg2'=2+arg2, arg3'=arg3P8, TRUE, cost: 2 New rule: f2167_0_displayChessboard_GE -> [9] : -1+n9 >= 0, cost: NONTERM Sub-proof via acceration calculus written to file:///tmp/tmpnam_aBbhdf.txt Applied chaining First rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg2'=1+arg2, arg3'=arg3P8, TRUE, cost: 1 Second rule: f2167_0_displayChessboard_GE -> [9] : -1+n9 >= 0, cost: NONTERM New rule: f2167_0_displayChessboard_GE -> [9] : -1+n9 >= 0, cost: NONTERM Applied chaining First rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg2'=1+arg2, arg3'=arg3P8, TRUE, cost: 1 Second rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg2'=1+arg2, arg3'=arg3P10, TRUE, cost: 1 New rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg2'=2+arg2, arg3'=arg3P10, TRUE, cost: 2 Applied nonterm Original rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg2'=2+arg2, arg3'=arg3P10, TRUE, cost: 2 New rule: f2167_0_displayChessboard_GE -> [9] : -1+n10 >= 0, cost: NONTERM Sub-proof via acceration calculus written to file:///tmp/tmpnam_KhPILa.txt Applied chaining First rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg2'=1+arg2, arg3'=arg3P10, TRUE, cost: 1 Second rule: f2167_0_displayChessboard_GE -> [9] : -1+n10 >= 0, cost: NONTERM New rule: f2167_0_displayChessboard_GE -> [9] : -1+n10 >= 0, cost: NONTERM Applied chaining First rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg2'=1+arg2, arg3'=arg3P8, TRUE, cost: 1 Second rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg2'=1+arg2, arg3'=arg3P9, TRUE, cost: 1 New rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg2'=2+arg2, arg3'=arg3P9, TRUE, cost: 2 Applied nonterm Original rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg2'=2+arg2, arg3'=arg3P9, TRUE, cost: 2 New rule: f2167_0_displayChessboard_GE -> [9] : -1+n11 >= 0, cost: NONTERM Sub-proof via acceration calculus written to file:///tmp/tmpnam_ccghcC.txt Applied chaining First rule: f2167_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg2'=1+arg2, arg3'=arg3P9, TRUE, cost: 1 Second rule: f2167_0_displayChessboard_GE -> [9] : -1+n11 >= 0, cost: NONTERM New rule: f2167_0_displayChessboard_GE -> [9] : -1+n11 >= 0, cost: NONTERM Applied deletion Removed the following rules: 26 27 28 Applied acceleration Original rule: f1876_0_safeMove_GE -> f1876_0_safeMove_GE : arg2'=1+arg2, arg1'=0, (arg1 == 0 /\ -arg2+arg3 > 0), cost: 1 New rule: f1876_0_safeMove_GE -> f1876_0_safeMove_GE : arg2'=arg2+n12, arg1'=0, (-1+n12 >= 0 /\ arg1 >= 0 /\ -arg1 >= 0 /\ 1-arg2-n12+arg3 > 0), cost: n12 Sub-proof via acceration calculus written to file:///tmp/tmpnam_jKPhMg.txt Applied instantiation Original rule: f1876_0_safeMove_GE -> f1876_0_safeMove_GE : arg2'=arg2+n12, arg1'=0, (-1+n12 >= 0 /\ arg1 >= 0 /\ -arg1 >= 0 /\ 1-arg2-n12+arg3 > 0), cost: n12 New rule: f1876_0_safeMove_GE -> f1876_0_safeMove_GE : arg2'=arg3, arg1'=0, (1 > 0 /\ -1-arg2+arg3 >= 0 /\ arg1 >= 0 /\ -arg1 >= 0), cost: -arg2+arg3 Applied simplification Original rule: f1876_0_safeMove_GE -> f1876_0_safeMove_GE : arg2'=arg3, arg1'=0, (1 > 0 /\ -1-arg2+arg3 >= 0 /\ arg1 >= 0 /\ -arg1 >= 0), cost: -arg2+arg3 New rule: f1876_0_safeMove_GE -> f1876_0_safeMove_GE : arg2'=arg3, arg1'=0, (-1-arg2+arg3 >= 0 /\ arg1 <= 0 /\ arg1 >= 0), cost: -arg2+arg3 Applied deletion Removed the following rules: 32 Accelerated simple loops Start location: __init 18: f1_0_main_Load -> f1549_0_search_LT : arg2'=arg2P0, arg1'=0, arg3'=arg3P0, (1+arg2 > 0 /\ arg1 > 0), cost: 1 19: f1549_0_search_LT -> f1911_0_search_GE : arg2'=0, arg3'=arg3P1, TRUE, cost: 1 23: f1549_0_search_LT -> f1944_0_displayChessboard_GE : arg2'=arg2P5, arg1'=0, arg3'=arg3P5, TRUE, cost: 1 21: f1911_0_search_GE -> f1549_0_search_LT : arg2'=arg2P3, arg1'=1+arg1, arg3'=arg3P3, 1+arg1 > 0, cost: 1 29: f1911_0_search_GE -> f1876_0_safeMove_GE : arg2'=0, arg1'=1, arg3'=arg1, TRUE, cost: 1 35: f1911_0_search_GE -> [8] : -1+n >= 0, cost: NONTERM 36: f1911_0_search_GE -> [8] : (1+arg1 > 0 /\ -1+n0 >= 0), cost: NONTERM 37: f1911_0_search_GE -> [8] : (1+arg1 > 0 /\ -1+n1 >= 0), cost: NONTERM 38: f1911_0_search_GE -> [8] : (1+arg1 > 0 /\ -1+n2 >= 0), cost: NONTERM 24: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg2'=0, arg3'=arg3P6, TRUE, cost: 1 25: f2167_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg2'=arg2P7, arg1'=1+arg1, arg3'=arg3P7, TRUE, cost: 1 39: f2167_0_displayChessboard_GE -> [9] : -1+n3 >= 0, cost: NONTERM 40: f2167_0_displayChessboard_GE -> [9] : -1+n4 >= 0, cost: NONTERM 41: f2167_0_displayChessboard_GE -> [9] : -1+n5 >= 0, cost: NONTERM 42: f2167_0_displayChessboard_GE -> [9] : -1+n6 >= 0, cost: NONTERM 43: f2167_0_displayChessboard_GE -> [9] : -1+n7 >= 0, cost: NONTERM 44: f2167_0_displayChessboard_GE -> [9] : -1+n8 >= 0, cost: NONTERM 45: f2167_0_displayChessboard_GE -> [9] : -1+n9 >= 0, cost: NONTERM 46: f2167_0_displayChessboard_GE -> [9] : -1+n10 >= 0, cost: NONTERM 47: f2167_0_displayChessboard_GE -> [9] : -1+n11 >= 0, cost: NONTERM 30: f1876_0_safeMove_GE -> f1969_0_safeMove_NE : arg1'=arg3, arg3'=1, (arg1 > 0 /\ arg3 > 0 /\ -arg2+arg3 > 0), cost: 1 31: f1876_0_safeMove_GE -> f1969_0_safeMove_NE : arg1'=arg3, arg3'=0, (arg1 > 0 /\ arg3 > 0 /\ -arg2+arg3 > 0), cost: 1 49: f1876_0_safeMove_GE -> f1876_0_safeMove_GE : arg2'=arg3, arg1'=0, (-1-arg2+arg3 >= 0 /\ arg1 <= 0 /\ arg1 >= 0), cost: -arg2+arg3 33: f1969_0_safeMove_NE -> f1876_0_safeMove_GE : arg2'=1+arg2, arg1'=0, arg3'=arg1, -1+arg3 == 0, cost: 1 34: f1969_0_safeMove_NE -> f1876_0_safeMove_GE : arg2'=1+arg2, arg1'=1, arg3'=arg1, arg3 == 0, cost: 1 17: __init -> f1_0_main_Load : arg2'=arg2P17, arg1'=arg1P17, arg3'=arg3P17, TRUE, cost: 1 Applied chaining First rule: f1549_0_search_LT -> f1911_0_search_GE : arg2'=0, arg3'=arg3P1, TRUE, cost: 1 Second rule: f1911_0_search_GE -> [8] : -1+n >= 0, cost: NONTERM New rule: f1549_0_search_LT -> [8] : TRUE, cost: NONTERM Applied chaining First rule: f1549_0_search_LT -> f1911_0_search_GE : arg2'=0, arg3'=arg3P1, TRUE, cost: 1 Second rule: f1911_0_search_GE -> [8] : (1+arg1 > 0 /\ -1+n0 >= 0), cost: NONTERM New rule: f1549_0_search_LT -> [8] : 1+arg1 > 0, cost: NONTERM Applied chaining First rule: f1549_0_search_LT -> f1911_0_search_GE : arg2'=0, arg3'=arg3P1, TRUE, cost: 1 Second rule: f1911_0_search_GE -> [8] : (1+arg1 > 0 /\ -1+n1 >= 0), cost: NONTERM New rule: f1549_0_search_LT -> [8] : 1+arg1 > 0, cost: NONTERM Applied chaining First rule: f1549_0_search_LT -> f1911_0_search_GE : arg2'=0, arg3'=arg3P1, TRUE, cost: 1 Second rule: f1911_0_search_GE -> [8] : (1+arg1 > 0 /\ -1+n2 >= 0), cost: NONTERM New rule: f1549_0_search_LT -> [8] : 1+arg1 > 0, cost: NONTERM Applied deletion Removed the following rules: 35 36 37 38 Applied chaining First rule: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg2'=0, arg3'=arg3P6, TRUE, cost: 1 Second rule: f2167_0_displayChessboard_GE -> [9] : -1+n3 >= 0, cost: NONTERM New rule: f1944_0_displayChessboard_GE -> [9] : TRUE, cost: NONTERM Applied chaining First rule: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg2'=0, arg3'=arg3P6, TRUE, cost: 1 Second rule: f2167_0_displayChessboard_GE -> [9] : -1+n4 >= 0, cost: NONTERM New rule: f1944_0_displayChessboard_GE -> [9] : TRUE, cost: NONTERM Applied chaining First rule: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg2'=0, arg3'=arg3P6, TRUE, cost: 1 Second rule: f2167_0_displayChessboard_GE -> [9] : -1+n5 >= 0, cost: NONTERM New rule: f1944_0_displayChessboard_GE -> [9] : TRUE, cost: NONTERM Applied chaining First rule: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg2'=0, arg3'=arg3P6, TRUE, cost: 1 Second rule: f2167_0_displayChessboard_GE -> [9] : -1+n6 >= 0, cost: NONTERM New rule: f1944_0_displayChessboard_GE -> [9] : TRUE, cost: NONTERM Applied chaining First rule: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg2'=0, arg3'=arg3P6, TRUE, cost: 1 Second rule: f2167_0_displayChessboard_GE -> [9] : -1+n7 >= 0, cost: NONTERM New rule: f1944_0_displayChessboard_GE -> [9] : TRUE, cost: NONTERM Applied chaining First rule: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg2'=0, arg3'=arg3P6, TRUE, cost: 1 Second rule: f2167_0_displayChessboard_GE -> [9] : -1+n8 >= 0, cost: NONTERM New rule: f1944_0_displayChessboard_GE -> [9] : TRUE, cost: NONTERM Applied chaining First rule: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg2'=0, arg3'=arg3P6, TRUE, cost: 1 Second rule: f2167_0_displayChessboard_GE -> [9] : -1+n9 >= 0, cost: NONTERM New rule: f1944_0_displayChessboard_GE -> [9] : TRUE, cost: NONTERM Applied chaining First rule: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg2'=0, arg3'=arg3P6, TRUE, cost: 1 Second rule: f2167_0_displayChessboard_GE -> [9] : -1+n10 >= 0, cost: NONTERM New rule: f1944_0_displayChessboard_GE -> [9] : TRUE, cost: NONTERM Applied chaining First rule: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg2'=0, arg3'=arg3P6, TRUE, cost: 1 Second rule: f2167_0_displayChessboard_GE -> [9] : -1+n11 >= 0, cost: NONTERM New rule: f1944_0_displayChessboard_GE -> [9] : TRUE, cost: NONTERM Applied deletion Removed the following rules: 39 40 41 42 43 44 45 46 47 Applied chaining First rule: f1969_0_safeMove_NE -> f1876_0_safeMove_GE : arg2'=1+arg2, arg1'=0, arg3'=arg1, -1+arg3 == 0, cost: 1 Second rule: f1876_0_safeMove_GE -> f1876_0_safeMove_GE : arg2'=arg3, arg1'=0, (-1-arg2+arg3 >= 0 /\ arg1 <= 0 /\ arg1 >= 0), cost: -arg2+arg3 New rule: f1969_0_safeMove_NE -> f1876_0_safeMove_GE : arg2'=arg1, arg1'=0, arg3'=arg1, (-2-arg2+arg1 >= 0 /\ -1+arg3 == 0), cost: -arg2+arg1 Applied deletion Removed the following rules: 49 Chained accelerated rules with incoming rules Start location: __init 18: f1_0_main_Load -> f1549_0_search_LT : arg2'=arg2P0, arg1'=0, arg3'=arg3P0, (1+arg2 > 0 /\ arg1 > 0), cost: 1 19: f1549_0_search_LT -> f1911_0_search_GE : arg2'=0, arg3'=arg3P1, TRUE, cost: 1 23: f1549_0_search_LT -> f1944_0_displayChessboard_GE : arg2'=arg2P5, arg1'=0, arg3'=arg3P5, TRUE, cost: 1 50: f1549_0_search_LT -> [8] : TRUE, cost: NONTERM 51: f1549_0_search_LT -> [8] : 1+arg1 > 0, cost: NONTERM 21: f1911_0_search_GE -> f1549_0_search_LT : arg2'=arg2P3, arg1'=1+arg1, arg3'=arg3P3, 1+arg1 > 0, cost: 1 29: f1911_0_search_GE -> f1876_0_safeMove_GE : arg2'=0, arg1'=1, arg3'=arg1, TRUE, cost: 1 24: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg2'=0, arg3'=arg3P6, TRUE, cost: 1 52: f1944_0_displayChessboard_GE -> [9] : TRUE, cost: NONTERM 25: f2167_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg2'=arg2P7, arg1'=1+arg1, arg3'=arg3P7, TRUE, cost: 1 30: f1876_0_safeMove_GE -> f1969_0_safeMove_NE : arg1'=arg3, arg3'=1, (arg1 > 0 /\ arg3 > 0 /\ -arg2+arg3 > 0), cost: 1 31: f1876_0_safeMove_GE -> f1969_0_safeMove_NE : arg1'=arg3, arg3'=0, (arg1 > 0 /\ arg3 > 0 /\ -arg2+arg3 > 0), cost: 1 33: f1969_0_safeMove_NE -> f1876_0_safeMove_GE : arg2'=1+arg2, arg1'=0, arg3'=arg1, -1+arg3 == 0, cost: 1 34: f1969_0_safeMove_NE -> f1876_0_safeMove_GE : arg2'=1+arg2, arg1'=1, arg3'=arg1, arg3 == 0, cost: 1 53: f1969_0_safeMove_NE -> f1876_0_safeMove_GE : arg2'=arg1, arg1'=0, arg3'=arg1, (-2-arg2+arg1 >= 0 /\ -1+arg3 == 0), cost: -arg2+arg1 17: __init -> f1_0_main_Load : arg2'=arg2P17, arg1'=arg1P17, arg3'=arg3P17, TRUE, cost: 1 Eliminating location f1_0_main_Load by chaining: Applied chaining First rule: __init -> f1_0_main_Load : arg2'=arg2P17, arg1'=arg1P17, arg3'=arg3P17, TRUE, cost: 1 Second rule: f1_0_main_Load -> f1549_0_search_LT : arg2'=arg2P0, arg1'=0, arg3'=arg3P0, (1+arg2 > 0 /\ arg1 > 0), cost: 1 New rule: __init -> f1549_0_search_LT : arg2'=arg2P0, arg1'=0, arg3'=arg3P0, (arg1P17 > 0 /\ 1+arg2P17 > 0), cost: 2 Applied deletion Removed the following rules: 17 18 Eliminating location f2167_0_displayChessboard_GE by chaining: Applied chaining First rule: f1944_0_displayChessboard_GE -> f2167_0_displayChessboard_GE : arg2'=0, arg3'=arg3P6, TRUE, cost: 1 Second rule: f2167_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg2'=arg2P7, arg1'=1+arg1, arg3'=arg3P7, TRUE, cost: 1 New rule: f1944_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg2'=arg2P7, arg1'=1+arg1, arg3'=arg3P7, TRUE, cost: 2 Applied deletion Removed the following rules: 24 25 Eliminated locations on linear paths Start location: __init 19: f1549_0_search_LT -> f1911_0_search_GE : arg2'=0, arg3'=arg3P1, TRUE, cost: 1 23: f1549_0_search_LT -> f1944_0_displayChessboard_GE : arg2'=arg2P5, arg1'=0, arg3'=arg3P5, TRUE, cost: 1 50: f1549_0_search_LT -> [8] : TRUE, cost: NONTERM 51: f1549_0_search_LT -> [8] : 1+arg1 > 0, cost: NONTERM 21: f1911_0_search_GE -> f1549_0_search_LT : arg2'=arg2P3, arg1'=1+arg1, arg3'=arg3P3, 1+arg1 > 0, cost: 1 29: f1911_0_search_GE -> f1876_0_safeMove_GE : arg2'=0, arg1'=1, arg3'=arg1, TRUE, cost: 1 52: f1944_0_displayChessboard_GE -> [9] : TRUE, cost: NONTERM 55: f1944_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg2'=arg2P7, arg1'=1+arg1, arg3'=arg3P7, TRUE, cost: 2 30: f1876_0_safeMove_GE -> f1969_0_safeMove_NE : arg1'=arg3, arg3'=1, (arg1 > 0 /\ arg3 > 0 /\ -arg2+arg3 > 0), cost: 1 31: f1876_0_safeMove_GE -> f1969_0_safeMove_NE : arg1'=arg3, arg3'=0, (arg1 > 0 /\ arg3 > 0 /\ -arg2+arg3 > 0), cost: 1 33: f1969_0_safeMove_NE -> f1876_0_safeMove_GE : arg2'=1+arg2, arg1'=0, arg3'=arg1, -1+arg3 == 0, cost: 1 34: f1969_0_safeMove_NE -> f1876_0_safeMove_GE : arg2'=1+arg2, arg1'=1, arg3'=arg1, arg3 == 0, cost: 1 53: f1969_0_safeMove_NE -> f1876_0_safeMove_GE : arg2'=arg1, arg1'=0, arg3'=arg1, (-2-arg2+arg1 >= 0 /\ -1+arg3 == 0), cost: -arg2+arg1 54: __init -> f1549_0_search_LT : arg2'=arg2P0, arg1'=0, arg3'=arg3P0, (arg1P17 > 0 /\ 1+arg2P17 > 0), cost: 2 Applied nonterm Original rule: f1944_0_displayChessboard_GE -> f1944_0_displayChessboard_GE : arg2'=arg2P7, arg1'=1+arg1, arg3'=arg3P7, TRUE, cost: 2 New rule: f1944_0_displayChessboard_GE -> [11] : -1+n13 >= 0, cost: NONTERM Sub-proof via acceration calculus written to file:///tmp/tmpnam_amiHjH.txt Applied deletion Removed the following rules: 55 Accelerated simple loops Start location: __init 19: f1549_0_search_LT -> f1911_0_search_GE : arg2'=0, arg3'=arg3P1, TRUE, cost: 1 23: f1549_0_search_LT -> f1944_0_displayChessboard_GE : arg2'=arg2P5, arg1'=0, arg3'=arg3P5, TRUE, cost: 1 50: f1549_0_search_LT -> [8] : TRUE, cost: NONTERM 51: f1549_0_search_LT -> [8] : 1+arg1 > 0, cost: NONTERM 21: f1911_0_search_GE -> f1549_0_search_LT : arg2'=arg2P3, arg1'=1+arg1, arg3'=arg3P3, 1+arg1 > 0, cost: 1 29: f1911_0_search_GE -> f1876_0_safeMove_GE : arg2'=0, arg1'=1, arg3'=arg1, TRUE, cost: 1 52: f1944_0_displayChessboard_GE -> [9] : TRUE, cost: NONTERM 56: f1944_0_displayChessboard_GE -> [11] : -1+n13 >= 0, cost: NONTERM 30: f1876_0_safeMove_GE -> f1969_0_safeMove_NE : arg1'=arg3, arg3'=1, (arg1 > 0 /\ arg3 > 0 /\ -arg2+arg3 > 0), cost: 1 31: f1876_0_safeMove_GE -> f1969_0_safeMove_NE : arg1'=arg3, arg3'=0, (arg1 > 0 /\ arg3 > 0 /\ -arg2+arg3 > 0), cost: 1 33: f1969_0_safeMove_NE -> f1876_0_safeMove_GE : arg2'=1+arg2, arg1'=0, arg3'=arg1, -1+arg3 == 0, cost: 1 34: f1969_0_safeMove_NE -> f1876_0_safeMove_GE : arg2'=1+arg2, arg1'=1, arg3'=arg1, arg3 == 0, cost: 1 53: f1969_0_safeMove_NE -> f1876_0_safeMove_GE : arg2'=arg1, arg1'=0, arg3'=arg1, (-2-arg2+arg1 >= 0 /\ -1+arg3 == 0), cost: -arg2+arg1 54: __init -> f1549_0_search_LT : arg2'=arg2P0, arg1'=0, arg3'=arg3P0, (arg1P17 > 0 /\ 1+arg2P17 > 0), cost: 2 Applied chaining First rule: f1549_0_search_LT -> f1944_0_displayChessboard_GE : arg2'=arg2P5, arg1'=0, arg3'=arg3P5, TRUE, cost: 1 Second rule: f1944_0_displayChessboard_GE -> [11] : -1+n13 >= 0, cost: NONTERM New rule: f1549_0_search_LT -> [11] : TRUE, cost: NONTERM Applied deletion Removed the following rules: 56 Chained accelerated rules with incoming rules Start location: __init 19: f1549_0_search_LT -> f1911_0_search_GE : arg2'=0, arg3'=arg3P1, TRUE, cost: 1 23: f1549_0_search_LT -> f1944_0_displayChessboard_GE : arg2'=arg2P5, arg1'=0, arg3'=arg3P5, TRUE, cost: 1 50: f1549_0_search_LT -> [8] : TRUE, cost: NONTERM 51: f1549_0_search_LT -> [8] : 1+arg1 > 0, cost: NONTERM 57: f1549_0_search_LT -> [11] : TRUE, cost: NONTERM 21: f1911_0_search_GE -> f1549_0_search_LT : arg2'=arg2P3, arg1'=1+arg1, arg3'=arg3P3, 1+arg1 > 0, cost: 1 29: f1911_0_search_GE -> f1876_0_safeMove_GE : arg2'=0, arg1'=1, arg3'=arg1, TRUE, cost: 1 52: f1944_0_displayChessboard_GE -> [9] : TRUE, cost: NONTERM 30: f1876_0_safeMove_GE -> f1969_0_safeMove_NE : arg1'=arg3, arg3'=1, (arg1 > 0 /\ arg3 > 0 /\ -arg2+arg3 > 0), cost: 1 31: f1876_0_safeMove_GE -> f1969_0_safeMove_NE : arg1'=arg3, arg3'=0, (arg1 > 0 /\ arg3 > 0 /\ -arg2+arg3 > 0), cost: 1 33: f1969_0_safeMove_NE -> f1876_0_safeMove_GE : arg2'=1+arg2, arg1'=0, arg3'=arg1, -1+arg3 == 0, cost: 1 34: f1969_0_safeMove_NE -> f1876_0_safeMove_GE : arg2'=1+arg2, arg1'=1, arg3'=arg1, arg3 == 0, cost: 1 53: f1969_0_safeMove_NE -> f1876_0_safeMove_GE : arg2'=arg1, arg1'=0, arg3'=arg1, (-2-arg2+arg1 >= 0 /\ -1+arg3 == 0), cost: -arg2+arg1 54: __init -> f1549_0_search_LT : arg2'=arg2P0, arg1'=0, arg3'=arg3P0, (arg1P17 > 0 /\ 1+arg2P17 > 0), cost: 2 Eliminating location f1944_0_displayChessboard_GE by chaining: Applied chaining First rule: f1549_0_search_LT -> f1944_0_displayChessboard_GE : arg2'=arg2P5, arg1'=0, arg3'=arg3P5, TRUE, cost: 1 Second rule: f1944_0_displayChessboard_GE -> [9] : TRUE, cost: NONTERM New rule: f1549_0_search_LT -> [9] : TRUE, cost: NONTERM Applied deletion Removed the following rules: 23 52 Eliminated locations on linear paths Start location: __init 19: f1549_0_search_LT -> f1911_0_search_GE : arg2'=0, arg3'=arg3P1, TRUE, cost: 1 50: f1549_0_search_LT -> [8] : TRUE, cost: NONTERM 51: f1549_0_search_LT -> [8] : 1+arg1 > 0, cost: NONTERM 57: f1549_0_search_LT -> [11] : TRUE, cost: NONTERM 58: f1549_0_search_LT -> [9] : TRUE, cost: NONTERM 21: f1911_0_search_GE -> f1549_0_search_LT : arg2'=arg2P3, arg1'=1+arg1, arg3'=arg3P3, 1+arg1 > 0, cost: 1 29: f1911_0_search_GE -> f1876_0_safeMove_GE : arg2'=0, arg1'=1, arg3'=arg1, TRUE, cost: 1 30: f1876_0_safeMove_GE -> f1969_0_safeMove_NE : arg1'=arg3, arg3'=1, (arg1 > 0 /\ arg3 > 0 /\ -arg2+arg3 > 0), cost: 1 31: f1876_0_safeMove_GE -> f1969_0_safeMove_NE : arg1'=arg3, arg3'=0, (arg1 > 0 /\ arg3 > 0 /\ -arg2+arg3 > 0), cost: 1 33: f1969_0_safeMove_NE -> f1876_0_safeMove_GE : arg2'=1+arg2, arg1'=0, arg3'=arg1, -1+arg3 == 0, cost: 1 34: f1969_0_safeMove_NE -> f1876_0_safeMove_GE : arg2'=1+arg2, arg1'=1, arg3'=arg1, arg3 == 0, cost: 1 53: f1969_0_safeMove_NE -> f1876_0_safeMove_GE : arg2'=arg1, arg1'=0, arg3'=arg1, (-2-arg2+arg1 >= 0 /\ -1+arg3 == 0), cost: -arg2+arg1 54: __init -> f1549_0_search_LT : arg2'=arg2P0, arg1'=0, arg3'=arg3P0, (arg1P17 > 0 /\ 1+arg2P17 > 0), cost: 2 Eliminating location f1911_0_search_GE by chaining: Applied chaining First rule: f1549_0_search_LT -> f1911_0_search_GE : arg2'=0, arg3'=arg3P1, TRUE, cost: 1 Second rule: f1911_0_search_GE -> f1549_0_search_LT : arg2'=arg2P3, arg1'=1+arg1, arg3'=arg3P3, 1+arg1 > 0, cost: 1 New rule: f1549_0_search_LT -> f1549_0_search_LT : arg2'=arg2P3, arg1'=1+arg1, arg3'=arg3P3, 1+arg1 > 0, cost: 2 Applied chaining First rule: f1549_0_search_LT -> f1911_0_search_GE : arg2'=0, arg3'=arg3P1, TRUE, cost: 1 Second rule: f1911_0_search_GE -> f1876_0_safeMove_GE : arg2'=0, arg1'=1, arg3'=arg1, TRUE, cost: 1 New rule: f1549_0_search_LT -> f1876_0_safeMove_GE : arg2'=0, arg1'=1, arg3'=arg1, TRUE, cost: 2 Applied deletion Removed the following rules: 19 21 29 Eliminating location f1969_0_safeMove_NE by chaining: Applied chaining First rule: f1876_0_safeMove_GE -> f1969_0_safeMove_NE : arg1'=arg3, arg3'=1, (arg1 > 0 /\ arg3 > 0 /\ -arg2+arg3 > 0), cost: 1 Second rule: f1969_0_safeMove_NE -> f1876_0_safeMove_GE : arg2'=1+arg2, arg1'=0, arg3'=arg1, -1+arg3 == 0, cost: 1 New rule: f1876_0_safeMove_GE -> f1876_0_safeMove_GE : arg2'=1+arg2, arg1'=0, arg3'=arg3, (0 == 0 /\ arg1 > 0 /\ arg3 > 0 /\ -arg2+arg3 > 0), cost: 2 Applied simplification Original rule: f1876_0_safeMove_GE -> f1876_0_safeMove_GE : arg2'=1+arg2, arg1'=0, arg3'=arg3, (0 == 0 /\ arg1 > 0 /\ arg3 > 0 /\ -arg2+arg3 > 0), cost: 2 New rule: f1876_0_safeMove_GE -> f1876_0_safeMove_GE : arg2'=1+arg2, arg1'=0, arg3'=arg3, (arg1 > 0 /\ arg3 > 0 /\ -arg2+arg3 > 0), cost: 2 Applied chaining First rule: f1876_0_safeMove_GE -> f1969_0_safeMove_NE : arg1'=arg3, arg3'=1, (arg1 > 0 /\ arg3 > 0 /\ -arg2+arg3 > 0), cost: 1 Second rule: f1969_0_safeMove_NE -> f1876_0_safeMove_GE : arg2'=arg1, arg1'=0, arg3'=arg1, (-2-arg2+arg1 >= 0 /\ -1+arg3 == 0), cost: -arg2+arg1 New rule: f1876_0_safeMove_GE -> f1876_0_safeMove_GE : arg2'=arg3, arg1'=0, arg3'=arg3, (0 == 0 /\ arg1 > 0 /\ -2-arg2+arg3 >= 0 /\ arg3 > 0 /\ -arg2+arg3 > 0), cost: 1-arg2+arg3 Applied simplification Original rule: f1876_0_safeMove_GE -> f1876_0_safeMove_GE : arg2'=arg3, arg1'=0, arg3'=arg3, (0 == 0 /\ arg1 > 0 /\ -2-arg2+arg3 >= 0 /\ arg3 > 0 /\ -arg2+arg3 > 0), cost: 1-arg2+arg3 New rule: f1876_0_safeMove_GE -> f1876_0_safeMove_GE : arg2'=arg3, arg1'=0, arg3'=arg3, (arg1 > 0 /\ -2-arg2+arg3 >= 0 /\ arg3 > 0), cost: 1-arg2+arg3 Applied chaining First rule: f1876_0_safeMove_GE -> f1969_0_safeMove_NE : arg1'=arg3, arg3'=0, (arg1 > 0 /\ arg3 > 0 /\ -arg2+arg3 > 0), cost: 1 Second rule: f1969_0_safeMove_NE -> f1876_0_safeMove_GE : arg2'=1+arg2, arg1'=1, arg3'=arg1, arg3 == 0, cost: 1 New rule: f1876_0_safeMove_GE -> f1876_0_safeMove_GE : arg2'=1+arg2, arg1'=1, arg3'=arg3, (0 == 0 /\ arg1 > 0 /\ arg3 > 0 /\ -arg2+arg3 > 0), cost: 2 Applied simplification Original rule: f1876_0_safeMove_GE -> f1876_0_safeMove_GE : arg2'=1+arg2, arg1'=1, arg3'=arg3, (0 == 0 /\ arg1 > 0 /\ arg3 > 0 /\ -arg2+arg3 > 0), cost: 2 New rule: f1876_0_safeMove_GE -> f1876_0_safeMove_GE : arg2'=1+arg2, arg1'=1, arg3'=arg3, (arg1 > 0 /\ arg3 > 0 /\ -arg2+arg3 > 0), cost: 2 Applied deletion Removed the following rules: 30 31 33 34 53 Eliminated locations on tree-shaped paths Start location: __init 50: f1549_0_search_LT -> [8] : TRUE, cost: NONTERM 51: f1549_0_search_LT -> [8] : 1+arg1 > 0, cost: NONTERM 57: f1549_0_search_LT -> [11] : TRUE, cost: NONTERM 58: f1549_0_search_LT -> [9] : TRUE, cost: NONTERM 59: f1549_0_search_LT -> f1549_0_search_LT : arg2'=arg2P3, arg1'=1+arg1, arg3'=arg3P3, 1+arg1 > 0, cost: 2 60: f1549_0_search_LT -> f1876_0_safeMove_GE : arg2'=0, arg1'=1, arg3'=arg1, TRUE, cost: 2 61: f1876_0_safeMove_GE -> f1876_0_safeMove_GE : arg2'=1+arg2, arg1'=0, arg3'=arg3, (arg1 > 0 /\ arg3 > 0 /\ -arg2+arg3 > 0), cost: 2 62: f1876_0_safeMove_GE -> f1876_0_safeMove_GE : arg2'=arg3, arg1'=0, arg3'=arg3, (arg1 > 0 /\ -2-arg2+arg3 >= 0 /\ arg3 > 0), cost: 1-arg2+arg3 63: f1876_0_safeMove_GE -> f1876_0_safeMove_GE : arg2'=1+arg2, arg1'=1, arg3'=arg3, (arg1 > 0 /\ arg3 > 0 /\ -arg2+arg3 > 0), cost: 2 54: __init -> f1549_0_search_LT : arg2'=arg2P0, arg1'=0, arg3'=arg3P0, (arg1P17 > 0 /\ 1+arg2P17 > 0), cost: 2 Applied nonterm Original rule: f1549_0_search_LT -> f1549_0_search_LT : arg2'=arg2P3, arg1'=1+arg1, arg3'=arg3P3, 1+arg1 > 0, cost: 2 New rule: f1549_0_search_LT -> [12] : (-1+n14 >= 0 /\ 1+arg1 > 0), cost: NONTERM Sub-proof via acceration calculus written to file:///tmp/tmpnam_laAGEf.txt Applied deletion Removed the following rules: 59 Applied simplification Original rule: f1876_0_safeMove_GE -> f1876_0_safeMove_GE : arg2'=1+arg2, arg1'=0, arg3'=arg3, (arg1 > 0 /\ arg3 > 0 /\ -arg2+arg3 > 0), cost: 2 New rule: f1876_0_safeMove_GE -> f1876_0_safeMove_GE : arg2'=1+arg2, arg1'=0, (arg1 > 0 /\ arg3 > 0 /\ -arg2+arg3 > 0), cost: 2 Applied simplification Original rule: f1876_0_safeMove_GE -> f1876_0_safeMove_GE : arg2'=arg3, arg1'=0, arg3'=arg3, (arg1 > 0 /\ -2-arg2+arg3 >= 0 /\ arg3 > 0), cost: 1-arg2+arg3 New rule: f1876_0_safeMove_GE -> f1876_0_safeMove_GE : arg2'=arg3, arg1'=0, (arg1 > 0 /\ -2-arg2+arg3 >= 0 /\ arg3 > 0), cost: 1-arg2+arg3 Applied simplification Original rule: f1876_0_safeMove_GE -> f1876_0_safeMove_GE : arg2'=1+arg2, arg1'=1, arg3'=arg3, (arg1 > 0 /\ arg3 > 0 /\ -arg2+arg3 > 0), cost: 2 New rule: f1876_0_safeMove_GE -> f1876_0_safeMove_GE : arg2'=1+arg2, arg1'=1, (arg1 > 0 /\ arg3 > 0 /\ -arg2+arg3 > 0), cost: 2 Simplified simple loops Start location: __init 50: f1549_0_search_LT -> [8] : TRUE, cost: NONTERM 51: f1549_0_search_LT -> [8] : 1+arg1 > 0, cost: NONTERM 57: f1549_0_search_LT -> [11] : TRUE, cost: NONTERM 58: f1549_0_search_LT -> [9] : TRUE, cost: NONTERM 60: f1549_0_search_LT -> f1876_0_safeMove_GE : arg2'=0, arg1'=1, arg3'=arg1, TRUE, cost: 2 64: f1549_0_search_LT -> [12] : (-1+n14 >= 0 /\ 1+arg1 > 0), cost: NONTERM 65: f1876_0_safeMove_GE -> f1876_0_safeMove_GE : arg2'=1+arg2, arg1'=0, (arg1 > 0 /\ arg3 > 0 /\ -arg2+arg3 > 0), cost: 2 66: f1876_0_safeMove_GE -> f1876_0_safeMove_GE : arg2'=arg3, arg1'=0, (arg1 > 0 /\ -2-arg2+arg3 >= 0 /\ arg3 > 0), cost: 1-arg2+arg3 67: f1876_0_safeMove_GE -> f1876_0_safeMove_GE : arg2'=1+arg2, arg1'=1, (arg1 > 0 /\ arg3 > 0 /\ -arg2+arg3 > 0), cost: 2 54: __init -> f1549_0_search_LT : arg2'=arg2P0, arg1'=0, arg3'=arg3P0, (arg1P17 > 0 /\ 1+arg2P17 > 0), cost: 2 Applied acceleration Original rule: f1876_0_safeMove_GE -> f1876_0_safeMove_GE : arg2'=1+arg2, arg1'=1, (arg1 > 0 /\ arg3 > 0 /\ -arg2+arg3 > 0), cost: 2 New rule: f1876_0_safeMove_GE -> f1876_0_safeMove_GE : arg2'=n17+arg2, arg1'=1, (1-n17-arg2+arg3 > 0 /\ arg1 > 0 /\ arg3 > 0 /\ -1+n17 >= 0), cost: 2*n17 Sub-proof via acceration calculus written to file:///tmp/tmpnam_eDjnJA.txt Applied instantiation Original rule: f1876_0_safeMove_GE -> f1876_0_safeMove_GE : arg2'=n17+arg2, arg1'=1, (1-n17-arg2+arg3 > 0 /\ arg1 > 0 /\ arg3 > 0 /\ -1+n17 >= 0), cost: 2*n17 New rule: f1876_0_safeMove_GE -> f1876_0_safeMove_GE : arg2'=arg3, arg1'=1, (1 > 0 /\ -1-arg2+arg3 >= 0 /\ arg1 > 0 /\ arg3 > 0), cost: -2*arg2+2*arg3 Applied simplification Original rule: f1876_0_safeMove_GE -> f1876_0_safeMove_GE : arg2'=arg3, arg1'=1, (1 > 0 /\ -1-arg2+arg3 >= 0 /\ arg1 > 0 /\ arg3 > 0), cost: -2*arg2+2*arg3 New rule: f1876_0_safeMove_GE -> f1876_0_safeMove_GE : arg2'=arg3, arg1'=1, (-1-arg2+arg3 >= 0 /\ arg1 > 0 /\ arg3 > 0), cost: -2*arg2+2*arg3 Applied deletion Removed the following rules: 67 Accelerated simple loops Start location: __init 50: f1549_0_search_LT -> [8] : TRUE, cost: NONTERM 51: f1549_0_search_LT -> [8] : 1+arg1 > 0, cost: NONTERM 57: f1549_0_search_LT -> [11] : TRUE, cost: NONTERM 58: f1549_0_search_LT -> [9] : TRUE, cost: NONTERM 60: f1549_0_search_LT -> f1876_0_safeMove_GE : arg2'=0, arg1'=1, arg3'=arg1, TRUE, cost: 2 64: f1549_0_search_LT -> [12] : (-1+n14 >= 0 /\ 1+arg1 > 0), cost: NONTERM 65: f1876_0_safeMove_GE -> f1876_0_safeMove_GE : arg2'=1+arg2, arg1'=0, (arg1 > 0 /\ arg3 > 0 /\ -arg2+arg3 > 0), cost: 2 66: f1876_0_safeMove_GE -> f1876_0_safeMove_GE : arg2'=arg3, arg1'=0, (arg1 > 0 /\ -2-arg2+arg3 >= 0 /\ arg3 > 0), cost: 1-arg2+arg3 69: f1876_0_safeMove_GE -> f1876_0_safeMove_GE : arg2'=arg3, arg1'=1, (-1-arg2+arg3 >= 0 /\ arg1 > 0 /\ arg3 > 0), cost: -2*arg2+2*arg3 54: __init -> f1549_0_search_LT : arg2'=arg2P0, arg1'=0, arg3'=arg3P0, (arg1P17 > 0 /\ 1+arg2P17 > 0), cost: 2 Applied chaining First rule: __init -> f1549_0_search_LT : arg2'=arg2P0, arg1'=0, arg3'=arg3P0, (arg1P17 > 0 /\ 1+arg2P17 > 0), cost: 2 Second rule: f1549_0_search_LT -> [12] : (-1+n14 >= 0 /\ 1+arg1 > 0), cost: NONTERM New rule: __init -> [12] : 1 > 0, cost: NONTERM Applied deletion Removed the following rules: 64 Applied chaining First rule: f1549_0_search_LT -> f1876_0_safeMove_GE : arg2'=0, arg1'=1, arg3'=arg1, TRUE, cost: 2 Second rule: f1876_0_safeMove_GE -> f1876_0_safeMove_GE : arg2'=1+arg2, arg1'=0, (arg1 > 0 /\ arg3 > 0 /\ -arg2+arg3 > 0), cost: 2 New rule: f1549_0_search_LT -> f1876_0_safeMove_GE : arg2'=1, arg1'=0, arg3'=arg1, arg1 > 0, cost: 4 Applied chaining First rule: f1549_0_search_LT -> f1876_0_safeMove_GE : arg2'=0, arg1'=1, arg3'=arg1, TRUE, cost: 2 Second rule: f1876_0_safeMove_GE -> f1876_0_safeMove_GE : arg2'=arg3, arg1'=0, (arg1 > 0 /\ -2-arg2+arg3 >= 0 /\ arg3 > 0), cost: 1-arg2+arg3 New rule: f1549_0_search_LT -> f1876_0_safeMove_GE : arg2'=arg1, arg1'=0, arg3'=arg1, -2+arg1 >= 0, cost: 3+arg1 Applied chaining First rule: f1549_0_search_LT -> f1876_0_safeMove_GE : arg2'=0, arg1'=1, arg3'=arg1, TRUE, cost: 2 Second rule: f1876_0_safeMove_GE -> f1876_0_safeMove_GE : arg2'=arg3, arg1'=1, (-1-arg2+arg3 >= 0 /\ arg1 > 0 /\ arg3 > 0), cost: -2*arg2+2*arg3 New rule: f1549_0_search_LT -> f1876_0_safeMove_GE : arg2'=arg1, arg1'=1, arg3'=arg1, -1+arg1 >= 0, cost: 2+2*arg1 Applied deletion Removed the following rules: 65 66 69 Chained accelerated rules with incoming rules Start location: __init 50: f1549_0_search_LT -> [8] : TRUE, cost: NONTERM 51: f1549_0_search_LT -> [8] : 1+arg1 > 0, cost: NONTERM 57: f1549_0_search_LT -> [11] : TRUE, cost: NONTERM 58: f1549_0_search_LT -> [9] : TRUE, cost: NONTERM 60: f1549_0_search_LT -> f1876_0_safeMove_GE : arg2'=0, arg1'=1, arg3'=arg1, TRUE, cost: 2 71: f1549_0_search_LT -> f1876_0_safeMove_GE : arg2'=1, arg1'=0, arg3'=arg1, arg1 > 0, cost: 4 72: f1549_0_search_LT -> f1876_0_safeMove_GE : arg2'=arg1, arg1'=0, arg3'=arg1, -2+arg1 >= 0, cost: 3+arg1 73: f1549_0_search_LT -> f1876_0_safeMove_GE : arg2'=arg1, arg1'=1, arg3'=arg1, -1+arg1 >= 0, cost: 2+2*arg1 54: __init -> f1549_0_search_LT : arg2'=arg2P0, arg1'=0, arg3'=arg3P0, (arg1P17 > 0 /\ 1+arg2P17 > 0), cost: 2 70: __init -> [12] : 1 > 0, cost: NONTERM Removed unreachable locations and irrelevant leafs Start location: __init 50: f1549_0_search_LT -> [8] : TRUE, cost: NONTERM 51: f1549_0_search_LT -> [8] : 1+arg1 > 0, cost: NONTERM 57: f1549_0_search_LT -> [11] : TRUE, cost: NONTERM 58: f1549_0_search_LT -> [9] : TRUE, cost: NONTERM 54: __init -> f1549_0_search_LT : arg2'=arg2P0, arg1'=0, arg3'=arg3P0, (arg1P17 > 0 /\ 1+arg2P17 > 0), cost: 2 70: __init -> [12] : 1 > 0, cost: NONTERM Eliminating location f1549_0_search_LT by chaining: Applied chaining First rule: __init -> f1549_0_search_LT : arg2'=arg2P0, arg1'=0, arg3'=arg3P0, (arg1P17 > 0 /\ 1+arg2P17 > 0), cost: 2 Second rule: f1549_0_search_LT -> [8] : TRUE, cost: NONTERM New rule: __init -> [8] : (arg1P17 > 0 /\ 1+arg2P17 > 0), cost: NONTERM Applied chaining First rule: __init -> f1549_0_search_LT : arg2'=arg2P0, arg1'=0, arg3'=arg3P0, (arg1P17 > 0 /\ 1+arg2P17 > 0), cost: 2 Second rule: f1549_0_search_LT -> [8] : 1+arg1 > 0, cost: NONTERM New rule: __init -> [8] : (1 > 0 /\ arg1P17 > 0 /\ 1+arg2P17 > 0), cost: NONTERM Applied simplification Original rule: __init -> [8] : (1 > 0 /\ arg1P17 > 0 /\ 1+arg2P17 > 0), cost: NONTERM New rule: __init -> [8] : (arg1P17 > 0 /\ 1+arg2P17 > 0), cost: NONTERM Applied chaining First rule: __init -> f1549_0_search_LT : arg2'=arg2P0, arg1'=0, arg3'=arg3P0, (arg1P17 > 0 /\ 1+arg2P17 > 0), cost: 2 Second rule: f1549_0_search_LT -> [11] : TRUE, cost: NONTERM New rule: __init -> [11] : (arg1P17 > 0 /\ 1+arg2P17 > 0), cost: NONTERM Applied chaining First rule: __init -> f1549_0_search_LT : arg2'=arg2P0, arg1'=0, arg3'=arg3P0, (arg1P17 > 0 /\ 1+arg2P17 > 0), cost: 2 Second rule: f1549_0_search_LT -> [9] : TRUE, cost: NONTERM New rule: __init -> [9] : (arg1P17 > 0 /\ 1+arg2P17 > 0), cost: NONTERM Applied deletion Removed the following rules: 50 51 54 57 58 Eliminated locations on tree-shaped paths Start location: __init 70: __init -> [12] : 1 > 0, cost: NONTERM 74: __init -> [8] : (arg1P17 > 0 /\ 1+arg2P17 > 0), cost: NONTERM 75: __init -> [11] : (arg1P17 > 0 /\ 1+arg2P17 > 0), cost: NONTERM 76: __init -> [9] : (arg1P17 > 0 /\ 1+arg2P17 > 0), cost: NONTERM Removed duplicate rules (ignoring updates) Start location: __init 70: __init -> [12] : 1 > 0, cost: NONTERM 76: __init -> [9] : (arg1P17 > 0 /\ 1+arg2P17 > 0), cost: NONTERM Computing asymptotic complexity Proved nontermination of rule 70 via SMT. Proved the following lower bound Complexity: Nonterm Cpx degree: Nonterm Solved cost: NONTERM Rule cost: NONTERM Rule guard: 1 > 0