0.00/0.14 YES 0.00/0.14 property Termination 0.00/0.14 has value True 0.00/0.14 for SRS ( [a, b, c] -> [c, b, c], [c, b, c] -> [a, c, b], [b, c, c] -> [b, b, b], [b, b, a] -> [b, c, a], [a, c, a] ->= [a, b, a], [a, b, b] ->= [c, c, c]) 0.00/0.14 reason 0.00/0.14 remap for 6 rules 0.00/0.14 property Termination 0.00/0.14 has value True 0.00/0.14 for SRS ( [0, 1, 2] -> [2, 1, 2], [2, 1, 2] -> [0, 2, 1], [1, 2, 2] -> [1, 1, 1], [1, 1, 0] -> [1, 2, 0], [0, 2, 0] ->= [0, 1, 0], [0, 1, 1] ->= [2, 2, 2]) 0.00/0.14 reason 0.00/0.14 Tiling { method = Overlap, width = 3, state_type = Bit64, map_type = Enum, verbose = False, tracing = False} 0.00/0.14 using 42 tiles 0.00/0.14 [ [1, 0, >] , [1, 1, >] , [1, 2, >] , [2, 0, >] , [2, 1, >] , [2, 2, >] , [<, <, 0] , [<, 0, 0] , [<, 1, 0] , [<, 2, 0] , [0, 0, 0] , [0, 1, 0] , [1, 0, 0] , [1, 1, 0] , [1, 2, 0] , [2, 0, 0] , [2, 1, 0] , [2, 2, 0] , [<, <, 1] , [<, 0, 1] , [<, 1, 1] , [<, 2, 1] , [0, 1, 1] , [0, 2, 1] , [1, 0, 1] , [1, 1, 1] , [1, 2, 1] , [2, 0, 1] , [2, 1, 1] , [2, 2, 1] , [<, <, 2] , [<, 0, 2] , [<, 1, 2] , [<, 2, 2] , [0, 0, 2] , [0, 1, 2] , [1, 0, 2] , [1, 1, 2] , [1, 2, 2] , [2, 0, 2] , [2, 1, 2] , [2, 2, 2] ] 0.00/0.14 remove some unmatched rules 0.00/0.14 0.00/0.14 property Termination 0.00/0.14 has value True 0.00/0.14 for SRS ( [[0], [1], [2]] -> [[2], [1], [2]], [[2], [1], [2]] -> [[0], [2], [1]], [[1], [2], [2]] -> [[1], [1], [1]], [[1], [1], [0]] -> [[1], [2], [0]], [[0], [1], [1]] ->= [[2], [2], [2]]) 0.00/0.14 reason 0.00/0.14 remap for 5 rules 0.00/0.14 property Termination 0.00/0.14 has value True 0.00/0.14 for SRS ( [0, 1, 2] -> [2, 1, 2], [2, 1, 2] -> [0, 2, 1], [1, 2, 2] -> [1, 1, 1], [1, 1, 0] -> [1, 2, 0], [0, 1, 1] ->= [2, 2, 2]) 0.00/0.14 reason 0.00/0.14 Tiling { method = Overlap, width = 3, state_type = Bit64, map_type = Enum, verbose = False, tracing = False} 0.00/0.14 using 36 tiles 0.00/0.14 [ [1, 0, >] , [1, 1, >] , [1, 2, >] , [2, 0, >] , [2, 1, >] , [2, 2, >] , [<, <, 0] , [<, 0, 0] , [<, 1, 0] , [<, 2, 0] , [0, 0, 0] , [1, 0, 0] , [1, 1, 0] , [1, 2, 0] , [2, 0, 0] , [2, 1, 0] , [2, 2, 0] , [<, <, 1] , [<, 1, 1] , [<, 2, 1] , [0, 2, 1] , [1, 1, 1] , [1, 2, 1] , [2, 1, 1] , [2, 2, 1] , [<, <, 2] , [<, 0, 2] , [<, 1, 2] , [<, 2, 2] , [0, 0, 2] , [1, 0, 2] , [1, 1, 2] , [1, 2, 2] , [2, 0, 2] , [2, 1, 2] , [2, 2, 2] ] 0.00/0.14 remove some unmatched rules 0.00/0.14 0.00/0.14 property Termination 0.00/0.14 has value True 0.00/0.14 for SRS ( [[2], [1], [2]] -> [[0], [2], [1]], [[1], [2], [2]] -> [[1], [1], [1]], [[1], [1], [0]] -> [[1], [2], [0]]) 0.00/0.14 reason 0.00/0.14 remap for 3 rules 0.00/0.14 property Termination 0.00/0.14 has value True 0.00/0.14 for SRS ( [0, 1, 0] -> [2, 0, 1], [1, 0, 0] -> [1, 1, 1], [1, 1, 2] -> [1, 0, 2]) 0.00/0.14 reason 0.00/0.14 weights 0.00/0.14 Map [(0, 1/1), (1, 1/1)] 0.00/0.14 0.00/0.14 property Termination 0.00/0.14 has value True 0.00/0.14 for SRS ( [1, 0, 0] -> [1, 1, 1], [1, 1, 2] -> [1, 0, 2]) 0.00/0.14 reason 0.00/0.14 Tiling { method = Overlap, width = 3, state_type = Bit64, map_type = Enum, verbose = False, tracing = False} 0.00/0.14 using 8 tiles 0.00/0.14 [ [0, 2, >] , [1, 1, >] , [<, 1, 0] , [1, 1, 0] , [<, <, 1] , [<, 1, 1] , [1, 1, 1] , [1, 0, 2] ] 0.00/0.14 remove some unmatched rules 0.00/0.14 0.00/0.14 property Termination 0.00/0.14 has value True 0.00/0.14 for SRS ( ) 0.00/0.14 reason 0.00/0.14 remap for 0 rules 0.00/0.14 property Termination 0.00/0.14 has value True 0.00/0.14 for SRS ( ) 0.00/0.14 reason 0.00/0.14 has no strict rules 0.00/0.14 0.00/0.14 ************************************************** 0.00/0.14 summary 0.00/0.14 ************************************************** 0.00/0.14 SRS with 6 rules on 3 letters Remap { tracing = False} 0.00/0.14 SRS with 6 rules on 3 letters remove some, by Tiling { method = Overlap, width = 3, state_type = Bit64, map_type = Enum, verbose = False, tracing = False} 0.00/0.14 SRS with 5 rules on 3 letters Remap { tracing = False} 0.00/0.14 SRS with 5 rules on 3 letters remove some, by Tiling { method = Overlap, width = 3, state_type = Bit64, map_type = Enum, verbose = False, tracing = False} 0.00/0.14 SRS with 3 rules on 3 letters Remap { tracing = False} 0.00/0.14 SRS with 3 rules on 3 letters weights 0.00/0.14 SRS with 2 rules on 3 letters remove some, by Tiling { method = Overlap, width = 3, state_type = Bit64, map_type = Enum, verbose = False, tracing = False} 0.00/0.14 SRS with 0 rules on 0 letters Remap { tracing = False} 0.00/0.14 SRS with 0 rules on 0 letters has no strict rules 0.00/0.14 0.00/0.14 ************************************************** 0.00/0.14 (6, 3)\TileRemoveROC{3}(5, 3)\TileRemoveROC{3}(3, 3)\Weight(2, 3)\TileRemoveROC{3}(0, 0)[] 0.00/0.14 ************************************************** 0.00/0.14 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))))))} 0.00/0.14 in Apply (Worker Remap) method 0.00/0.15 EOF