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