56.71/14.33 YES 56.71/14.33 property Termination 56.71/14.33 has value True 56.71/14.33 for SRS ( [a, a, b] -> [b, a], [c, b] -> [b, a, b], [a] ->= [a, c, a]) 56.71/14.33 reason 56.71/14.33 remap for 3 rules 56.71/14.33 property Termination 56.71/14.33 has value True 56.71/14.33 for SRS ( [0, 0, 1] -> [1, 0], [2, 1] -> [1, 0, 1], [0] ->= [0, 2, 0]) 56.71/14.33 reason 56.71/14.33 Tiling { method = Overlap, width = 2, state_type = Bit64, map_type = Enum, verbose = False, tracing = False} 56.71/14.33 using 11 tiles 56.71/14.33 [ [0, >] , [1, >] , [<, 0] , [0, 0] , [1, 0] , [2, 0] , [<, 1] , [0, 1] , [1, 1] , [2, 1] , [0, 2] ] 56.71/14.33 tile all rules 56.71/14.33 56.71/14.33 property Termination 56.71/14.33 has value True 56.71/14.34 for SRS ( [[<, 0], [0, 0], [0, 1], [1, >]] -> [[<, 1], [1, 0], [0, >]], [[<, 0], [0, 0], [0, 1], [1, 0]] -> [[<, 1], [1, 0], [0, 0]], [[<, 0], [0, 0], [0, 1], [1, 1]] -> [[<, 1], [1, 0], [0, 1]], [[0, 0], [0, 0], [0, 1], [1, >]] -> [[0, 1], [1, 0], [0, >]], [[0, 0], [0, 0], [0, 1], [1, 0]] -> [[0, 1], [1, 0], [0, 0]], [[0, 0], [0, 0], [0, 1], [1, 1]] -> [[0, 1], [1, 0], [0, 1]], [[1, 0], [0, 0], [0, 1], [1, >]] -> [[1, 1], [1, 0], [0, >]], [[1, 0], [0, 0], [0, 1], [1, 0]] -> [[1, 1], [1, 0], [0, 0]], [[1, 0], [0, 0], [0, 1], [1, 1]] -> [[1, 1], [1, 0], [0, 1]], [[2, 0], [0, 0], [0, 1], [1, >]] -> [[2, 1], [1, 0], [0, >]], [[2, 0], [0, 0], [0, 1], [1, 0]] -> [[2, 1], [1, 0], [0, 0]], [[2, 0], [0, 0], [0, 1], [1, 1]] -> [[2, 1], [1, 0], [0, 1]], [[0, 2], [2, 1], [1, >]] -> [[0, 1], [1, 0], [0, 1], [1, >]], [[0, 2], [2, 1], [1, 0]] -> [[0, 1], [1, 0], [0, 1], [1, 0]], [[0, 2], [2, 1], [1, 1]] -> [[0, 1], [1, 0], [0, 1], [1, 1]], [[<, 0], [0, >]] ->= [[<, 0], [0, 2], [2, 0], [0, >]], [[<, 0], [0, 0]] ->= [[<, 0], [0, 2], [2, 0], [0, 0]], [[<, 0], [0, 1]] ->= [[<, 0], [0, 2], [2, 0], [0, 1]], [[<, 0], [0, 2]] ->= [[<, 0], [0, 2], [2, 0], [0, 2]], [[0, 0], [0, >]] ->= [[0, 0], [0, 2], [2, 0], [0, >]], [[0, 0], [0, 0]] ->= [[0, 0], [0, 2], [2, 0], [0, 0]], [[0, 0], [0, 1]] ->= [[0, 0], [0, 2], [2, 0], [0, 1]], [[0, 0], [0, 2]] ->= [[0, 0], [0, 2], [2, 0], [0, 2]], [[1, 0], [0, >]] ->= [[1, 0], [0, 2], [2, 0], [0, >]], [[1, 0], [0, 0]] ->= [[1, 0], [0, 2], [2, 0], [0, 0]], [[1, 0], [0, 1]] ->= [[1, 0], [0, 2], [2, 0], [0, 1]], [[1, 0], [0, 2]] ->= [[1, 0], [0, 2], [2, 0], [0, 2]], [[2, 0], [0, >]] ->= [[2, 0], [0, 2], [2, 0], [0, >]], [[2, 0], [0, 0]] ->= [[2, 0], [0, 2], [2, 0], [0, 0]], [[2, 0], [0, 1]] ->= [[2, 0], [0, 2], [2, 0], [0, 1]], [[2, 0], [0, 2]] ->= [[2, 0], [0, 2], [2, 0], [0, 2]]) 56.71/14.34 reason 56.71/14.34 remap for 31 rules 56.71/14.34 property Termination 56.71/14.34 has value True 56.71/14.34 for SRS ( [0, 1, 2, 3] -> [4, 5, 6], [0, 1, 2, 5] -> [4, 5, 1], [0, 1, 2, 7] -> [4, 5, 2], [1, 1, 2, 3] -> [2, 5, 6], [1, 1, 2, 5] -> [2, 5, 1], [1, 1, 2, 7] -> [2, 5, 2], [5, 1, 2, 3] -> [7, 5, 6], [5, 1, 2, 5] -> [7, 5, 1], [5, 1, 2, 7] -> [7, 5, 2], [8, 1, 2, 3] -> [9, 5, 6], [8, 1, 2, 5] -> [9, 5, 1], [8, 1, 2, 7] -> [9, 5, 2], [10, 9, 3] -> [2, 5, 2, 3], [10, 9, 5] -> [2, 5, 2, 5], [10, 9, 7] -> [2, 5, 2, 7], [0, 6] ->= [0, 10, 8, 6], [0, 1] ->= [0, 10, 8, 1], [0, 2] ->= [0, 10, 8, 2], [0, 10] ->= [0, 10, 8, 10], [1, 6] ->= [1, 10, 8, 6], [1, 1] ->= [1, 10, 8, 1], [1, 2] ->= [1, 10, 8, 2], [1, 10] ->= [1, 10, 8, 10], [5, 6] ->= [5, 10, 8, 6], [5, 1] ->= [5, 10, 8, 1], [5, 2] ->= [5, 10, 8, 2], [5, 10] ->= [5, 10, 8, 10], [8, 6] ->= [8, 10, 8, 6], [8, 1] ->= [8, 10, 8, 1], [8, 2] ->= [8, 10, 8, 2], [8, 10] ->= [8, 10, 8, 10]) 56.71/14.34 reason 56.71/14.34 weights 56.71/14.34 Map [(0, 3/1), (1, 9/1), (3, 4/1)] 56.71/14.34 56.71/14.34 property Termination 56.71/14.34 has value True 56.71/14.34 for SRS ( [5, 1, 2, 5] -> [7, 5, 1], [8, 1, 2, 5] -> [9, 5, 1], [10, 9, 3] -> [2, 5, 2, 3], [10, 9, 5] -> [2, 5, 2, 5], [10, 9, 7] -> [2, 5, 2, 7], [0, 6] ->= [0, 10, 8, 6], [0, 1] ->= [0, 10, 8, 1], [0, 2] ->= [0, 10, 8, 2], [0, 10] ->= [0, 10, 8, 10], [1, 6] ->= [1, 10, 8, 6], [1, 1] ->= [1, 10, 8, 1], [1, 2] ->= [1, 10, 8, 2], [1, 10] ->= [1, 10, 8, 10], [5, 6] ->= [5, 10, 8, 6], [5, 1] ->= [5, 10, 8, 1], [5, 2] ->= [5, 10, 8, 2], [5, 10] ->= [5, 10, 8, 10], [8, 6] ->= [8, 10, 8, 6], [8, 1] ->= [8, 10, 8, 1], [8, 2] ->= [8, 10, 8, 2], [8, 10] ->= [8, 10, 8, 10]) 56.71/14.34 reason 56.71/14.34 Tiling { method = Overlap, width = 2, state_type = Bit64, map_type = Enum, verbose = False, tracing = False} 56.71/14.34 using 35 tiles 56.71/14.34 [ [1, >] , [2, >] , [3, >] , [5, >] , [6, >] , [7, >] , [10, >] , [<, 0] , [<, 1] , [1, 1] , [5, 1] , [8, 1] , [<, 2] , [0, 2] , [1, 2] , [5, 2] , [8, 2] , [2, 3] , [<, 5] , [2, 5] , [7, 5] , [9, 5] , [8, 6] , [<, 7] , [2, 7] , [7, 7] , [9, 7] , [<, 8] , [10, 8] , [<, 9] , [10, 9] , [0, 10] , [1, 10] , [5, 10] , [8, 10] ] 56.71/14.34 remove some unmatched rules 56.71/14.34 56.71/14.34 property Termination 56.71/14.34 has value True 56.71/14.35 for SRS ( [[5], [1], [2], [5]] -> [[7], [5], [1]], [[8], [1], [2], [5]] -> [[9], [5], [1]], [[10], [9], [5]] -> [[2], [5], [2], [5]], [[10], [9], [7]] -> [[2], [5], [2], [7]], [[0], [2]] ->= [[0], [10], [8], [2]], [[0], [10]] ->= [[0], [10], [8], [10]], [[1], [1]] ->= [[1], [10], [8], [1]], [[1], [2]] ->= [[1], [10], [8], [2]], [[1], [10]] ->= [[1], [10], [8], [10]], [[5], [1]] ->= [[5], [10], [8], [1]], [[5], [2]] ->= [[5], [10], [8], [2]], [[5], [10]] ->= [[5], [10], [8], [10]], [[8], [6]] ->= [[8], [10], [8], [6]], [[8], [1]] ->= [[8], [10], [8], [1]], [[8], [2]] ->= [[8], [10], [8], [2]], [[8], [10]] ->= [[8], [10], [8], [10]]) 56.71/14.35 reason 56.71/14.35 remap for 16 rules 56.71/14.35 property Termination 56.71/14.35 has value True 56.71/14.35 for SRS ( [0, 1, 2, 0] -> [3, 0, 1], [4, 1, 2, 0] -> [5, 0, 1], [6, 5, 0] -> [2, 0, 2, 0], [6, 5, 3] -> [2, 0, 2, 3], [7, 2] ->= [7, 6, 4, 2], [7, 6] ->= [7, 6, 4, 6], [1, 1] ->= [1, 6, 4, 1], [1, 2] ->= [1, 6, 4, 2], [1, 6] ->= [1, 6, 4, 6], [0, 1] ->= [0, 6, 4, 1], [0, 2] ->= [0, 6, 4, 2], [0, 6] ->= [0, 6, 4, 6], [4, 8] ->= [4, 6, 4, 8], [4, 1] ->= [4, 6, 4, 1], [4, 2] ->= [4, 6, 4, 2], [4, 6] ->= [4, 6, 4, 6]) 56.71/14.35 reason 56.71/14.35 Matrix { monotone = Strict, domain = Natural, bits = 3, dim = 2, solver = Minisatapi, verbose = False, tracing = False} 56.71/14.35 interpretation 56.71/14.35 0 / 1 1 \ 56.71/14.35 \ 0 1 / 56.71/14.35 1 / 2 1 \ 56.71/14.35 \ 0 1 / 56.71/14.35 2 / 1 0 \ 56.71/14.35 \ 0 1 / 56.71/14.35 3 / 1 0 \ 56.71/14.35 \ 0 1 / 56.71/14.35 4 / 1 0 \ 56.71/14.35 \ 0 1 / 56.71/14.35 5 / 1 1 \ 56.71/14.35 \ 0 1 / 56.71/14.35 6 / 1 0 \ 56.71/14.35 \ 0 1 / 56.71/14.35 7 / 1 0 \ 56.71/14.35 \ 0 1 / 56.71/14.35 8 / 1 0 \ 56.71/14.35 \ 0 1 / 56.71/14.35 [0, 1, 2, 0] -> [3, 0, 1] 56.71/14.35 lhs rhs ge gt 56.71/14.35 / 2 4 \ / 2 2 \ True True 56.71/14.35 \ 0 1 / \ 0 1 / 56.71/14.35 [4, 1, 2, 0] -> [5, 0, 1] 56.71/14.35 lhs rhs ge gt 56.71/14.35 / 2 3 \ / 2 3 \ True False 56.71/14.35 \ 0 1 / \ 0 1 / 56.71/14.35 [6, 5, 0] -> [2, 0, 2, 0] 56.71/14.35 lhs rhs ge gt 56.71/14.35 / 1 2 \ / 1 2 \ True False 56.71/14.35 \ 0 1 / \ 0 1 / 56.71/14.35 [6, 5, 3] -> [2, 0, 2, 3] 56.71/14.35 lhs rhs ge gt 56.71/14.35 / 1 1 \ / 1 1 \ True False 56.71/14.35 \ 0 1 / \ 0 1 / 56.71/14.35 [7, 2] ->= [7, 6, 4, 2] 56.71/14.35 lhs rhs ge gt 56.71/14.35 / 1 0 \ / 1 0 \ True False 56.71/14.35 \ 0 1 / \ 0 1 / 56.71/14.35 [7, 6] ->= [7, 6, 4, 6] 56.71/14.35 lhs rhs ge gt 56.71/14.35 / 1 0 \ / 1 0 \ True False 56.71/14.35 \ 0 1 / \ 0 1 / 56.71/14.35 [1, 1] ->= [1, 6, 4, 1] 56.71/14.35 lhs rhs ge gt 56.71/14.35 / 4 3 \ / 4 3 \ True False 56.71/14.35 \ 0 1 / \ 0 1 / 56.71/14.35 [1, 2] ->= [1, 6, 4, 2] 56.71/14.35 lhs rhs ge gt 56.71/14.35 / 2 1 \ / 2 1 \ True False 56.71/14.35 \ 0 1 / \ 0 1 / 56.71/14.35 [1, 6] ->= [1, 6, 4, 6] 56.71/14.35 lhs rhs ge gt 56.71/14.35 / 2 1 \ / 2 1 \ True False 56.71/14.35 \ 0 1 / \ 0 1 / 56.71/14.35 [0, 1] ->= [0, 6, 4, 1] 56.71/14.35 lhs rhs ge gt 56.71/14.35 / 2 2 \ / 2 2 \ True False 56.71/14.35 \ 0 1 / \ 0 1 / 56.71/14.35 [0, 2] ->= [0, 6, 4, 2] 56.71/14.35 lhs rhs ge gt 56.71/14.35 / 1 1 \ / 1 1 \ True False 56.71/14.35 \ 0 1 / \ 0 1 / 56.71/14.35 [0, 6] ->= [0, 6, 4, 6] 56.71/14.35 lhs rhs ge gt 56.71/14.35 / 1 1 \ / 1 1 \ True False 56.71/14.35 \ 0 1 / \ 0 1 / 56.71/14.35 [4, 8] ->= [4, 6, 4, 8] 56.71/14.35 lhs rhs ge gt 56.71/14.35 / 1 0 \ / 1 0 \ True False 56.71/14.35 \ 0 1 / \ 0 1 / 56.71/14.35 [4, 1] ->= [4, 6, 4, 1] 56.71/14.35 lhs rhs ge gt 56.71/14.35 / 2 1 \ / 2 1 \ True False 56.71/14.35 \ 0 1 / \ 0 1 / 56.71/14.35 [4, 2] ->= [4, 6, 4, 2] 56.71/14.35 lhs rhs ge gt 56.71/14.35 / 1 0 \ / 1 0 \ True False 56.71/14.35 \ 0 1 / \ 0 1 / 56.71/14.35 [4, 6] ->= [4, 6, 4, 6] 56.71/14.35 lhs rhs ge gt 56.71/14.35 / 1 0 \ / 1 0 \ True False 56.71/14.35 \ 0 1 / \ 0 1 / 56.71/14.35 property Termination 56.71/14.35 has value True 56.71/14.35 for SRS ( [4, 1, 2, 0] -> [5, 0, 1], [6, 5, 0] -> [2, 0, 2, 0], [6, 5, 3] -> [2, 0, 2, 3], [7, 2] ->= [7, 6, 4, 2], [7, 6] ->= [7, 6, 4, 6], [1, 1] ->= [1, 6, 4, 1], [1, 2] ->= [1, 6, 4, 2], [1, 6] ->= [1, 6, 4, 6], [0, 1] ->= [0, 6, 4, 1], [0, 2] ->= [0, 6, 4, 2], [0, 6] ->= [0, 6, 4, 6], [4, 8] ->= [4, 6, 4, 8], [4, 1] ->= [4, 6, 4, 1], [4, 2] ->= [4, 6, 4, 2], [4, 6] ->= [4, 6, 4, 6]) 56.71/14.35 reason 56.71/14.35 Tiling { method = Overlap, width = 2, state_type = Bit64, map_type = Enum, verbose = False, tracing = False} 56.71/14.35 using 29 tiles 56.71/14.36 [ [0, >] , [1, >] , [2, >] , [3, >] , [6, >] , [8, >] , [<, 0] , [2, 0] , [5, 0] , [<, 1] , [0, 1] , [1, 1] , [4, 1] , [<, 2] , [0, 2] , [1, 2] , [4, 2] , [7, 2] , [2, 3] , [<, 4] , [6, 4] , [<, 5] , [6, 5] , [0, 6] , [1, 6] , [4, 6] , [7, 6] , [<, 7] , [4, 8] ] 56.71/14.36 remove some unmatched rules 56.71/14.36 56.71/14.36 property Termination 56.71/14.36 has value True 56.71/14.36 for SRS ( [[4], [1], [2], [0]] -> [[5], [0], [1]], [[6], [5], [0]] -> [[2], [0], [2], [0]], [[7], [2]] ->= [[7], [6], [4], [2]], [[7], [6]] ->= [[7], [6], [4], [6]], [[1], [1]] ->= [[1], [6], [4], [1]], [[1], [2]] ->= [[1], [6], [4], [2]], [[1], [6]] ->= [[1], [6], [4], [6]], [[0], [1]] ->= [[0], [6], [4], [1]], [[0], [2]] ->= [[0], [6], [4], [2]], [[0], [6]] ->= [[0], [6], [4], [6]], [[4], [8]] ->= [[4], [6], [4], [8]], [[4], [1]] ->= [[4], [6], [4], [1]], [[4], [2]] ->= [[4], [6], [4], [2]], [[4], [6]] ->= [[4], [6], [4], [6]]) 56.71/14.36 reason 56.71/14.36 remap for 14 rules 56.71/14.36 property Termination 56.71/14.36 has value True 56.71/14.36 for SRS ( [0, 1, 2, 3] -> [4, 3, 1], [5, 4, 3] -> [2, 3, 2, 3], [6, 2] ->= [6, 5, 0, 2], [6, 5] ->= [6, 5, 0, 5], [1, 1] ->= [1, 5, 0, 1], [1, 2] ->= [1, 5, 0, 2], [1, 5] ->= [1, 5, 0, 5], [3, 1] ->= [3, 5, 0, 1], [3, 2] ->= [3, 5, 0, 2], [3, 5] ->= [3, 5, 0, 5], [0, 7] ->= [0, 5, 0, 7], [0, 1] ->= [0, 5, 0, 1], [0, 2] ->= [0, 5, 0, 2], [0, 5] ->= [0, 5, 0, 5]) 56.71/14.36 reason 56.71/14.36 Tiling { method = Overlap, width = 5, state_type = Bit64, map_type = Enum, verbose = False, tracing = False} 56.71/14.36 using 219 tiles 56.71/14.37 [ [<, 4, 3, 1, >] , [0, 1, 1, 1, >] , [0, 1, 2, 3, >] , [0, 2, 3, 1, >] , [0, 5, 0, 1, >] , [0, 5, 0, 2, >] , [0, 5, 0, 5, >] , [0, 5, 0, 7, >] , [1, 1, 1, 1, >] , [1, 1, 2, 3, >] , [1, 2, 3, 1, >] , [1, 5, 0, 1, >] , [1, 5, 0, 2, >] , [1, 5, 0, 5, >] , [2, 3, 1, 1, >] , [2, 3, 2, 3, >] , [3, 1, 1, 1, >] , [3, 1, 2, 3, >] , [3, 2, 3, 1, >] , [3, 5, 0, 1, >] , [3, 5, 0, 2, >] , [3, 5, 0, 5, >] , [4, 3, 1, 1, >] , [5, 0, 1, 1, >] , [5, 0, 2, 3, >] , [5, 4, 3, 1, >] , [6, 5, 0, 2, >] , [6, 5, 0, 5, >] , [<, <, <, <, 0] , [<, <, 0, 5, 0] , [<, <, 1, 5, 0] , [<, <, 3, 5, 0] , [<, <, 6, 5, 0] , [<, 2, 3, 5, 0] , [<, 4, 3, 5, 0] , [0, 1, 1, 5, 0] , [0, 2, 3, 5, 0] , [0, 5, 0, 5, 0] , [1, 1, 1, 5, 0] , [1, 2, 3, 5, 0] , [1, 5, 0, 5, 0] , [2, 3, 1, 5, 0] , [3, 1, 1, 5, 0] , [3, 2, 3, 5, 0] , [3, 5, 0, 5, 0] , [4, 3, 1, 5, 0] , [5, 0, 1, 5, 0] , [5, 4, 3, 5, 0] , [6, 5, 0, 5, 0] , [<, <, <, <, 1] , [<, <, 4, 3, 1] , [<, 0, 5, 0, 1] , [<, 1, 5, 0, 1] , [<, 3, 5, 0, 1] , [0, 1, 1, 1, 1] , [0, 1, 2, 3, 1] , [0, 1, 5, 0, 1] , [0, 2, 3, 1, 1] , [0, 5, 0, 1, 1] , [0, 5, 4, 3, 1] , [1, 1, 1, 1, 1] , [1, 1, 2, 3, 1] , [1, 1, 5, 0, 1] , [1, 2, 3, 1, 1] , [1, 5, 0, 1, 1] , [1, 5, 4, 3, 1] , [2, 3, 1, 1, 1] , [2, 3, 2, 3, 1] , [2, 3, 5, 0, 1] , [3, 1, 1, 1, 1] , [3, 1, 2, 3, 1] , [3, 1, 5, 0, 1] , [3, 2, 3, 1, 1] , [3, 5, 0, 1, 1] , [3, 5, 4, 3, 1] , [4, 3, 1, 1, 1] , [4, 3, 5, 0, 1] , [5, 0, 1, 1, 1] , [5, 0, 2, 3, 1] , [5, 0, 5, 0, 1] , [5, 4, 3, 1, 1] , [<, <, <, <, 2] , [<, <, <, 0, 2] , [<, <, <, 1, 2] , [<, <, <, 3, 2] , [<, <, 2, 3, 2] , [<, <, 4, 3, 2] , [<, 0, 2, 3, 2] , [<, 0, 5, 0, 2] , [<, 1, 2, 3, 2] , [<, 1, 5, 0, 2] , [<, 3, 2, 3, 2] , [<, 3, 5, 0, 2] , [<, 4, 3, 1, 2] , [<, 6, 5, 0, 2] , [0, 1, 1, 1, 2] , [0, 1, 2, 3, 2] , [0, 1, 5, 0, 2] , [0, 2, 3, 1, 2] , [0, 5, 0, 1, 2] , [0, 5, 4, 3, 2] , [1, 1, 1, 1, 2] , [1, 1, 2, 3, 2] , [1, 1, 5, 0, 2] , [1, 2, 3, 1, 2] , [1, 5, 0, 1, 2] , [1, 5, 4, 3, 2] , [2, 3, 1, 1, 2] , [2, 3, 2, 3, 2] , [2, 3, 5, 0, 2] , [3, 1, 1, 1, 2] , [3, 1, 2, 3, 2] , [3, 1, 5, 0, 2] , [3, 2, 3, 1, 2] , [3, 5, 0, 1, 2] , [3, 5, 4, 3, 2] , [4, 3, 1, 1, 2] , [4, 3, 2, 3, 2] , [4, 3, 5, 0, 2] , [5, 0, 1, 1, 2] , [5, 0, 2, 3, 2] , [5, 0, 5, 0, 2] , [5, 4, 3, 1, 2] , [<, <, <, <, 3] , [<, <, <, 2, 3] , [<, <, <, 4, 3] , [<, <, 0, 2, 3] , [<, <, 1, 2, 3] , [<, <, 3, 2, 3] , [<, 0, 5, 4, 3] , [<, 1, 5, 4, 3] , [<, 2, 3, 2, 3] , [<, 3, 5, 4, 3] , [<, 4, 3, 2, 3] , [0, 1, 1, 2, 3] , [0, 1, 5, 4, 3] , [0, 2, 3, 2, 3] , [0, 5, 0, 2, 3] , [1, 1, 1, 2, 3] , [1, 1, 5, 4, 3] , [1, 2, 3, 2, 3] , [1, 5, 0, 2, 3] , [2, 3, 1, 2, 3] , [2, 3, 5, 4, 3] , [3, 1, 1, 2, 3] , [3, 1, 5, 4, 3] , [3, 2, 3, 2, 3] , [3, 5, 0, 2, 3] , [4, 3, 1, 2, 3] , [4, 3, 5, 4, 3] , [5, 0, 1, 2, 3] , [5, 0, 5, 4, 3] , [5, 4, 3, 2, 3] , [6, 5, 0, 2, 3] , [<, <, <, <, 4] , [<, <, 0, 5, 4] , [<, <, 1, 5, 4] , [<, <, 3, 5, 4] , [<, 2, 3, 5, 4] , [<, 4, 3, 5, 4] , [0, 1, 1, 5, 4] , [0, 2, 3, 5, 4] , [0, 5, 0, 5, 4] , [1, 1, 1, 5, 4] , [1, 2, 3, 5, 4] , [1, 5, 0, 5, 4] , [2, 3, 1, 5, 4] , [3, 1, 1, 5, 4] , [3, 2, 3, 5, 4] , [3, 5, 0, 5, 4] , [4, 3, 1, 5, 4] , [5, 0, 1, 5, 4] , [5, 4, 3, 5, 4] , [6, 5, 0, 5, 4] , [<, <, <, 0, 5] , [<, <, <, 1, 5] , [<, <, <, 3, 5] , [<, <, <, 6, 5] , [<, <, 2, 3, 5] , [<, <, 4, 3, 5] , [<, 0, 2, 3, 5] , [<, 0, 5, 0, 5] , [<, 1, 2, 3, 5] , [<, 1, 5, 0, 5] , [<, 3, 2, 3, 5] , [<, 3, 5, 0, 5] , [<, 4, 3, 1, 5] , [<, 6, 5, 0, 5] , [0, 1, 1, 1, 5] , [0, 1, 2, 3, 5] , [0, 1, 5, 0, 5] , [0, 2, 3, 1, 5] , [0, 5, 0, 1, 5] , [0, 5, 4, 3, 5] , [1, 1, 1, 1, 5] , [1, 1, 2, 3, 5] , [1, 1, 5, 0, 5] , [1, 2, 3, 1, 5] , [1, 5, 0, 1, 5] , [1, 5, 4, 3, 5] , [2, 3, 1, 1, 5] , [2, 3, 2, 3, 5] , [2, 3, 5, 0, 5] , [3, 1, 1, 1, 5] , [3, 1, 2, 3, 5] , [3, 1, 5, 0, 5] , [3, 2, 3, 1, 5] , [3, 5, 0, 1, 5] , [3, 5, 4, 3, 5] , [4, 3, 1, 1, 5] , [4, 3, 2, 3, 5] , [4, 3, 5, 0, 5] , [5, 0, 1, 1, 5] , [5, 0, 2, 3, 5] , [5, 0, 5, 0, 5] , [5, 4, 3, 1, 5] , [<, <, <, <, 6] , [<, 0, 5, 0, 7] , [5, 0, 5, 0, 7] ] 56.71/14.37 remove some unmatched rules 56.71/14.37 56.71/14.37 property Termination 56.71/14.37 has value True 56.71/14.37 for SRS ( [[0], [1], [2], [3]] -> [[4], [3], [1]], [[5], [4], [3]] -> [[2], [3], [2], [3]], [[6], [5]] ->= [[6], [5], [0], [5]], [[1], [1]] ->= [[1], [5], [0], [1]], [[1], [2]] ->= [[1], [5], [0], [2]], [[1], [5]] ->= [[1], [5], [0], [5]], [[3], [1]] ->= [[3], [5], [0], [1]], [[3], [2]] ->= [[3], [5], [0], [2]], [[3], [5]] ->= [[3], [5], [0], [5]], [[0], [7]] ->= [[0], [5], [0], [7]], [[0], [1]] ->= [[0], [5], [0], [1]], [[0], [2]] ->= [[0], [5], [0], [2]], [[0], [5]] ->= [[0], [5], [0], [5]]) 56.71/14.37 reason 56.71/14.37 remap for 13 rules 56.71/14.37 property Termination 56.71/14.37 has value True 56.71/14.37 for SRS ( [0, 1, 2, 3] -> [4, 3, 1], [5, 4, 3] -> [2, 3, 2, 3], [6, 5] ->= [6, 5, 0, 5], [1, 1] ->= [1, 5, 0, 1], [1, 2] ->= [1, 5, 0, 2], [1, 5] ->= [1, 5, 0, 5], [3, 1] ->= [3, 5, 0, 1], [3, 2] ->= [3, 5, 0, 2], [3, 5] ->= [3, 5, 0, 5], [0, 7] ->= [0, 5, 0, 7], [0, 1] ->= [0, 5, 0, 1], [0, 2] ->= [0, 5, 0, 2], [0, 5] ->= [0, 5, 0, 5]) 56.71/14.37 reason 56.71/14.37 Matrix { monotone = Strict, domain = Natural, bits = 3, dim = 3, solver = Minisatapi, verbose = False, tracing = False} 56.71/14.37 interpretation 56.71/14.37 0 St / 1 0 0 \ 56.71/14.37 | 0 1 0 | 56.71/14.37 \ 0 0 1 / 56.71/14.37 1 St / 2 2 0 \ 56.71/14.37 | 1 1 3 | 56.71/14.37 \ 0 0 1 / 56.71/14.37 2 St / 1 0 0 \ 56.71/14.37 | 0 1 0 | 56.71/14.37 \ 0 0 1 / 56.71/14.37 3 St / 1 0 1 \ 56.71/14.37 | 0 1 1 | 56.71/14.37 \ 0 0 1 / 56.71/14.37 4 St / 1 0 3 \ 56.71/14.37 | 0 1 1 | 56.71/14.37 \ 0 0 1 / 56.71/14.37 5 St / 1 0 0 \ 56.71/14.37 | 0 1 0 | 56.71/14.37 \ 0 0 1 / 56.71/14.37 6 St / 1 1 4 \ 56.71/14.37 | 0 0 4 | 56.71/14.37 \ 0 0 1 / 56.71/14.37 7 St / 4 0 3 \ 56.71/14.37 | 0 0 0 | 56.71/14.37 \ 0 0 1 / 56.71/14.37 [0, 1, 2, 3] -> [4, 3, 1] 56.71/14.37 lhs rhs ge gt 56.71/14.37 St / 2 2 4 \ St / 2 2 4 \ True False 56.71/14.37 | 1 1 5 | | 1 1 5 | 56.71/14.37 \ 0 0 1 / \ 0 0 1 / 56.71/14.37 [5, 4, 3] -> [2, 3, 2, 3] 56.71/14.37 lhs rhs ge gt 56.71/14.37 St / 1 0 4 \ St / 1 0 2 \ True True 56.71/14.37 | 0 1 2 | | 0 1 2 | 56.71/14.37 \ 0 0 1 / \ 0 0 1 / 56.71/14.37 [6, 5] ->= [6, 5, 0, 5] 56.71/14.37 lhs rhs ge gt 56.71/14.37 St / 1 1 4 \ St / 1 1 4 \ True False 56.71/14.37 | 0 0 4 | | 0 0 4 | 56.71/14.37 \ 0 0 1 / \ 0 0 1 / 56.71/14.37 [1, 1] ->= [1, 5, 0, 1] 56.71/14.38 lhs rhs ge gt 56.71/14.38 St / 6 6 6 \ St / 6 6 6 \ True False 56.71/14.38 | 3 3 6 | | 3 3 6 | 56.71/14.38 \ 0 0 1 / \ 0 0 1 / 56.71/14.38 [1, 2] ->= [1, 5, 0, 2] 56.71/14.38 lhs rhs ge gt 56.71/14.38 St / 2 2 0 \ St / 2 2 0 \ True False 56.71/14.38 | 1 1 3 | | 1 1 3 | 56.71/14.38 \ 0 0 1 / \ 0 0 1 / 56.71/14.38 [1, 5] ->= [1, 5, 0, 5] 56.71/14.38 lhs rhs ge gt 56.71/14.38 St / 2 2 0 \ St / 2 2 0 \ True False 56.71/14.38 | 1 1 3 | | 1 1 3 | 56.71/14.38 \ 0 0 1 / \ 0 0 1 / 56.71/14.38 [3, 1] ->= [3, 5, 0, 1] 56.71/14.38 lhs rhs ge gt 56.71/14.38 St / 2 2 1 \ St / 2 2 1 \ True False 56.71/14.38 | 1 1 4 | | 1 1 4 | 56.71/14.38 \ 0 0 1 / \ 0 0 1 / 56.71/14.38 [3, 2] ->= [3, 5, 0, 2] 56.71/14.38 lhs rhs ge gt 56.71/14.38 St / 1 0 1 \ St / 1 0 1 \ True False 56.71/14.38 | 0 1 1 | | 0 1 1 | 56.71/14.38 \ 0 0 1 / \ 0 0 1 / 56.71/14.38 [3, 5] ->= [3, 5, 0, 5] 56.71/14.38 lhs rhs ge gt 56.71/14.38 St / 1 0 1 \ St / 1 0 1 \ True False 56.71/14.38 | 0 1 1 | | 0 1 1 | 56.71/14.38 \ 0 0 1 / \ 0 0 1 / 56.71/14.38 [0, 7] ->= [0, 5, 0, 7] 56.71/14.38 lhs rhs ge gt 56.71/14.38 St / 4 0 3 \ St / 4 0 3 \ True False 56.71/14.38 | 0 0 0 | | 0 0 0 | 56.71/14.38 \ 0 0 1 / \ 0 0 1 / 56.71/14.38 [0, 1] ->= [0, 5, 0, 1] 56.71/14.38 lhs rhs ge gt 56.71/14.38 St / 2 2 0 \ St / 2 2 0 \ True False 56.71/14.38 | 1 1 3 | | 1 1 3 | 56.71/14.38 \ 0 0 1 / \ 0 0 1 / 56.71/14.38 [0, 2] ->= [0, 5, 0, 2] 56.71/14.38 lhs rhs ge gt 56.71/14.38 St / 1 0 0 \ St / 1 0 0 \ True False 56.71/14.38 | 0 1 0 | | 0 1 0 | 56.71/14.38 \ 0 0 1 / \ 0 0 1 / 56.71/14.38 [0, 5] ->= [0, 5, 0, 5] 56.71/14.38 lhs rhs ge gt 56.71/14.38 St / 1 0 0 \ St / 1 0 0 \ True False 56.71/14.38 | 0 1 0 | | 0 1 0 | 56.71/14.38 \ 0 0 1 / \ 0 0 1 / 56.71/14.38 property Termination 56.71/14.38 has value True 56.71/14.38 for SRS ( [0, 1, 2, 3] -> [4, 3, 1], [6, 5] ->= [6, 5, 0, 5], [1, 1] ->= [1, 5, 0, 1], [1, 2] ->= [1, 5, 0, 2], [1, 5] ->= [1, 5, 0, 5], [3, 1] ->= [3, 5, 0, 1], [3, 2] ->= [3, 5, 0, 2], [3, 5] ->= [3, 5, 0, 5], [0, 7] ->= [0, 5, 0, 7], [0, 1] ->= [0, 5, 0, 1], [0, 2] ->= [0, 5, 0, 2], [0, 5] ->= [0, 5, 0, 5]) 56.71/14.38 reason 56.71/14.38 weights 56.71/14.38 Map [(2, 1/1)] 56.71/14.38 56.71/14.38 property Termination 56.71/14.38 has value True 56.71/14.38 for SRS ( [6, 5] ->= [6, 5, 0, 5], [1, 1] ->= [1, 5, 0, 1], [1, 2] ->= [1, 5, 0, 2], [1, 5] ->= [1, 5, 0, 5], [3, 1] ->= [3, 5, 0, 1], [3, 2] ->= [3, 5, 0, 2], [3, 5] ->= [3, 5, 0, 5], [0, 7] ->= [0, 5, 0, 7], [0, 1] ->= [0, 5, 0, 1], [0, 2] ->= [0, 5, 0, 2], [0, 5] ->= [0, 5, 0, 5]) 56.71/14.38 reason 56.71/14.38 has no strict rules 56.71/14.38 56.71/14.38 ************************************************** 56.71/14.38 summary 56.71/14.38 ************************************************** 56.71/14.38 SRS with 3 rules on 3 letters Remap { tracing = False} 56.71/14.38 SRS with 3 rules on 3 letters tile all, by Tiling { method = Overlap, width = 2, state_type = Bit64, map_type = Enum, verbose = False, tracing = False} 56.71/14.38 SRS with 31 rules on 11 letters Remap { tracing = False} 56.71/14.38 SRS with 31 rules on 11 letters weights 56.71/14.38 SRS with 21 rules on 10 letters remove some, by Tiling { method = Overlap, width = 2, state_type = Bit64, map_type = Enum, verbose = False, tracing = False} 56.71/14.38 SRS with 16 rules on 9 letters Remap { tracing = False} 56.71/14.38 SRS with 16 rules on 9 letters Matrix { monotone = Strict, domain = Natural, bits = 3, dim = 2, solver = Minisatapi, verbose = False, tracing = False} 56.71/14.38 SRS with 15 rules on 9 letters remove some, by Tiling { method = Overlap, width = 2, state_type = Bit64, map_type = Enum, verbose = False, tracing = False} 56.71/14.38 SRS with 14 rules on 8 letters Remap { tracing = False} 56.71/14.38 SRS with 14 rules on 8 letters remove some, by Tiling { method = Overlap, width = 5, state_type = Bit64, map_type = Enum, verbose = False, tracing = False} 56.71/14.38 SRS with 13 rules on 8 letters Remap { tracing = False} 56.71/14.38 SRS with 13 rules on 8 letters Matrix { monotone = Strict, domain = Natural, bits = 3, dim = 3, solver = Minisatapi, verbose = False, tracing = False} 56.71/14.38 SRS with 12 rules on 8 letters weights 56.71/14.38 SRS with 11 rules on 7 letters has no strict rules 56.71/14.38 56.71/14.38 ************************************************** 56.71/14.39 (3, 3)\TileAllROC{2}(31, 11)\Weight(21, 10)\TileRemoveROC{2}(16, 9)\Matrix{\Natural}{2}(15, 9)\TileRemoveROC{2}(14, 8)\TileRemoveROC{5}(13, 8)\Matrix{\Natural}{3}(12, 8)\Weight(11, 7)[] 56.71/14.39 ************************************************** 56.71/14.39 let { done = Worker No_Strict_Rules;mo = Pre (Or_Else Count (IfSizeLeq 10000 GLPK Fail));wop = Or_Else (Worker (Weight { modus = mo})) Pass;weighted = \ m -> And_Then m wop;when_small = \ m -> And_Then (Worker (SizeAtmost 100)) m;when_medium = \ m -> And_Then (Worker (SizeAtmost 10000)) m;tiling = \ m w -> weighted (And_Then (Worker (Tiling { method = m,width = w})) (Worker Remap));matrix = \ mo dom dim bits -> weighted (Worker (Matrix { monotone = mo,domain = dom,dim = dim,bits = bits}));kbo = \ b -> weighted (Worker (KBO { bits = b,solver = Minisatapi}));method = Apply wop (Tree_Search_Preemptive 0 done ([ ] <> ([ when_medium (kbo 1), when_medium (And_Then (Worker Mirror) (kbo 1))] <> ((for [ 3, 4] (\ d -> when_small (matrix Strict Natural d 3))) <> (for [ 2, 3, 5, 8] (\ w -> tiling Overlap w))))))} 56.71/14.39 in Apply (Worker Remap) method 57.06/14.50 EOF