2.78/0.72 YES 2.78/0.72 property Termination 2.78/0.72 has value True 2.78/0.72 for SRS ( [a, a, c] -> [c, c, b], [b, b, b] -> [a, b, b], [b, b, a] ->= [a, a, c], [c, c, b] ->= [b, b, c], [b, b, a] ->= [a, b, b], [a, b, a] ->= [c, b, a]) 2.78/0.72 reason 2.78/0.72 remap for 6 rules 2.78/0.72 property Termination 2.78/0.72 has value True 2.78/0.72 for SRS ( [0, 0, 1] -> [1, 1, 2], [2, 2, 2] -> [0, 2, 2], [2, 2, 0] ->= [0, 0, 1], [1, 1, 2] ->= [2, 2, 1], [2, 2, 0] ->= [0, 2, 2], [0, 2, 0] ->= [1, 2, 0]) 2.78/0.72 reason 2.78/0.72 Matrix { monotone = Strict, domain = Natural, bits = 3, dim = 3, solver = Minisatapi, verbose = False, tracing = False} 2.78/0.72 interpretation 2.78/0.72 0 St / 1 1 1 \ 2.78/0.72 | 1 0 0 | 2.78/0.72 \ 0 0 1 / 2.78/0.72 1 St / 1 1 0 \ 2.78/0.72 | 1 0 0 | 2.78/0.72 \ 0 0 1 / 2.78/0.72 2 St / 1 1 1 \ 2.78/0.72 | 1 0 0 | 2.78/0.72 \ 0 0 1 / 2.78/0.72 [0, 0, 1] -> [1, 1, 2] 2.78/0.72 lhs rhs ge gt 2.78/0.72 St / 3 2 2 \ St / 3 2 2 \ True False 2.78/0.72 | 2 1 1 | | 2 1 1 | 2.78/0.72 \ 0 0 1 / \ 0 0 1 / 2.78/0.72 [2, 2, 2] -> [0, 2, 2] 2.78/0.72 lhs rhs ge gt 2.78/0.72 St / 3 2 4 \ St / 3 2 4 \ True False 2.78/0.72 | 2 1 2 | | 2 1 2 | 2.78/0.72 \ 0 0 1 / \ 0 0 1 / 2.78/0.72 [2, 2, 0] ->= [0, 0, 1] 2.78/0.73 lhs rhs ge gt 2.78/0.73 St / 3 2 4 \ St / 3 2 2 \ True True 2.78/0.73 | 2 1 2 | | 2 1 1 | 2.78/0.73 \ 0 0 1 / \ 0 0 1 / 2.78/0.73 [1, 1, 2] ->= [2, 2, 1] 2.78/0.73 lhs rhs ge gt 2.78/0.73 St / 3 2 2 \ St / 3 2 2 \ True False 2.78/0.73 | 2 1 1 | | 2 1 1 | 2.78/0.73 \ 0 0 1 / \ 0 0 1 / 2.78/0.73 [2, 2, 0] ->= [0, 2, 2] 2.78/0.73 lhs rhs ge gt 2.78/0.73 St / 3 2 4 \ St / 3 2 4 \ True False 2.78/0.73 | 2 1 2 | | 2 1 2 | 2.78/0.73 \ 0 0 1 / \ 0 0 1 / 2.78/0.73 [0, 2, 0] ->= [1, 2, 0] 2.78/0.73 lhs rhs ge gt 2.78/0.73 St / 3 2 4 \ St / 3 2 3 \ True True 2.78/0.73 | 2 1 2 | | 2 1 2 | 2.78/0.73 \ 0 0 1 / \ 0 0 1 / 2.78/0.73 property Termination 2.78/0.73 has value True 2.78/0.73 for SRS ( [0, 0, 1] -> [1, 1, 2], [2, 2, 2] -> [0, 2, 2], [1, 1, 2] ->= [2, 2, 1], [2, 2, 0] ->= [0, 2, 2]) 2.78/0.73 reason 2.78/0.73 Tiling { method = Overlap, width = 2, state_type = Bit64, map_type = Enum, verbose = False, tracing = False} 2.78/0.73 using 13 tiles 2.78/0.73 [ [1, >] , [2, >] , [<, 0] , [0, 0] , [1, 0] , [2, 0] , [<, 1] , [1, 1] , [2, 1] , [<, 2] , [0, 2] , [1, 2] , [2, 2] ] 2.78/0.73 remove some unmatched rules 2.78/0.73 2.78/0.73 property Termination 2.78/0.73 has value True 2.78/0.73 for SRS ( [[2], [2], [2]] -> [[0], [2], [2]], [[1], [1], [2]] ->= [[2], [2], [1]], [[2], [2], [0]] ->= [[0], [2], [2]]) 2.78/0.73 reason 2.78/0.73 remap for 3 rules 2.78/0.73 property Termination 2.78/0.73 has value True 2.78/0.73 for SRS ( [0, 0, 0] -> [1, 0, 0], [2, 2, 0] ->= [0, 0, 2], [0, 0, 1] ->= [1, 0, 0]) 2.78/0.73 reason 2.78/0.73 weights 2.78/0.73 Map [(0, 1/1), (2, 2/1)] 2.78/0.73 2.78/0.73 property Termination 2.78/0.73 has value True 2.78/0.73 for SRS ( [0, 0, 1] ->= [1, 0, 0]) 2.78/0.73 reason 2.78/0.73 has no strict rules 2.78/0.73 2.78/0.73 ************************************************** 2.78/0.73 summary 2.78/0.73 ************************************************** 2.78/0.73 SRS with 6 rules on 3 letters Remap { tracing = False} 2.78/0.73 SRS with 6 rules on 3 letters Matrix { monotone = Strict, domain = Natural, bits = 3, dim = 3, solver = Minisatapi, verbose = False, tracing = False} 2.78/0.73 SRS with 4 rules on 3 letters remove some, by Tiling { method = Overlap, width = 2, state_type = Bit64, map_type = Enum, verbose = False, tracing = False} 2.78/0.73 SRS with 3 rules on 3 letters Remap { tracing = False} 2.78/0.73 SRS with 3 rules on 3 letters weights 2.78/0.73 SRS with 1 rules on 2 letters has no strict rules 2.78/0.73 2.78/0.73 ************************************************** 2.78/0.73 (6, 3)\Matrix{\Natural}{3}(4, 3)\TileRemoveROC{2}(3, 3)\Weight(1, 2)[] 2.78/0.73 ************************************************** 2.78/0.73 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))))))} 2.78/0.73 in Apply (Worker Remap) method 2.78/0.75 EOF