3.95/1.01 YES 3.95/1.01 property Termination 3.95/1.01 has value True 3.95/1.01 for SRS ( [a, b, c] -> [c, c, c], [b, a, b] -> [c, a, a], [b, c, a] ->= [a, a, c], [a, c, c] ->= [c, b, a], [b, a, b] ->= [b, c, c], [b, b, c] ->= [a, c, b], [c, a, a] ->= [c, a, a]) 3.95/1.01 reason 3.95/1.01 remap for 7 rules 3.95/1.01 property Termination 3.95/1.01 has value True 3.95/1.01 for SRS ( [0, 1, 2] -> [2, 2, 2], [1, 0, 1] -> [2, 0, 0], [1, 2, 0] ->= [0, 0, 2], [0, 2, 2] ->= [2, 1, 0], [1, 0, 1] ->= [1, 2, 2], [1, 1, 2] ->= [0, 2, 1], [2, 0, 0] ->= [2, 0, 0]) 3.95/1.01 reason 3.95/1.01 Matrix { monotone = Strict, domain = Natural, bits = 3, dim = 3, solver = Minisatapi, verbose = False, tracing = False} 3.95/1.01 interpretation 3.95/1.01 0 St / 1 1 0 \ 3.95/1.01 | 1 1 0 | 3.95/1.01 \ 0 0 1 / 3.95/1.01 1 St / 1 1 1 \ 3.95/1.01 | 1 1 1 | 3.95/1.01 \ 0 0 1 / 3.95/1.02 2 St / 1 1 0 \ 3.95/1.02 | 1 1 1 | 3.95/1.02 \ 0 0 1 / 3.95/1.02 [0, 1, 2] -> [2, 2, 2] 3.95/1.02 lhs rhs ge gt 3.95/1.02 St / 4 4 4 \ St / 4 4 3 \ True True 3.95/1.02 | 4 4 4 | | 4 4 4 | 3.95/1.02 \ 0 0 1 / \ 0 0 1 / 3.95/1.02 [1, 0, 1] -> [2, 0, 0] 3.95/1.02 lhs rhs ge gt 3.95/1.02 St / 4 4 5 \ St / 4 4 0 \ True True 3.95/1.02 | 4 4 5 | | 4 4 1 | 3.95/1.02 \ 0 0 1 / \ 0 0 1 / 3.95/1.02 [1, 2, 0] ->= [0, 0, 2] 3.95/1.02 lhs rhs ge gt 3.95/1.02 St / 4 4 2 \ St / 4 4 2 \ True False 3.95/1.02 | 4 4 2 | | 4 4 2 | 3.95/1.02 \ 0 0 1 / \ 0 0 1 / 3.95/1.02 [0, 2, 2] ->= [2, 1, 0] 3.95/1.02 lhs rhs ge gt 3.95/1.02 St / 4 4 3 \ St / 4 4 2 \ True True 3.95/1.02 | 4 4 3 | | 4 4 3 | 3.95/1.02 \ 0 0 1 / \ 0 0 1 / 3.95/1.02 [1, 0, 1] ->= [1, 2, 2] 3.95/1.02 lhs rhs ge gt 3.95/1.02 St / 4 4 5 \ St / 4 4 4 \ True True 3.95/1.02 | 4 4 5 | | 4 4 4 | 3.95/1.02 \ 0 0 1 / \ 0 0 1 / 3.95/1.02 [1, 1, 2] ->= [0, 2, 1] 3.95/1.02 lhs rhs ge gt 3.95/1.02 St / 4 4 5 \ St / 4 4 5 \ True False 3.95/1.02 | 4 4 5 | | 4 4 5 | 3.95/1.02 \ 0 0 1 / \ 0 0 1 / 3.95/1.02 [2, 0, 0] ->= [2, 0, 0] 3.95/1.02 lhs rhs ge gt 3.95/1.02 St / 4 4 0 \ St / 4 4 0 \ True False 3.95/1.02 | 4 4 1 | | 4 4 1 | 3.95/1.02 \ 0 0 1 / \ 0 0 1 / 3.95/1.02 property Termination 3.95/1.02 has value True 3.95/1.02 for SRS ( [1, 2, 0] ->= [0, 0, 2], [1, 1, 2] ->= [0, 2, 1], [2, 0, 0] ->= [2, 0, 0]) 3.95/1.02 reason 3.95/1.02 has no strict rules 3.95/1.02 3.95/1.02 ************************************************** 3.95/1.02 summary 3.95/1.02 ************************************************** 3.95/1.02 SRS with 7 rules on 3 letters Remap { tracing = False} 3.95/1.02 SRS with 7 rules on 3 letters Matrix { monotone = Strict, domain = Natural, bits = 3, dim = 3, solver = Minisatapi, verbose = False, tracing = False} 3.95/1.02 SRS with 3 rules on 3 letters has no strict rules 3.95/1.02 3.95/1.02 ************************************************** 3.95/1.02 (7, 3)\Matrix{\Natural}{3}(3, 3)[] 3.95/1.02 ************************************************** 3.95/1.03 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))))))} 3.95/1.03 in Apply (Worker Remap) method 3.95/1.06 EOF