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