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