58.45/14.83 YES 58.45/14.83 property Termination 58.45/14.83 has value True 58.45/14.83 for SRS ( [b, a, a, a] -> [b, b, a, b], [b, b, b, a] -> [b, b, a, a], [a, a, b, b] -> [a, a, a, a]) 58.45/14.85 reason 58.45/14.85 remap for 3 rules 58.45/14.85 property Termination 58.45/14.85 has value True 58.45/14.85 for SRS ( [0, 1, 1, 1] -> [0, 0, 1, 0], [0, 0, 0, 1] -> [0, 0, 1, 1], [1, 1, 0, 0] -> [1, 1, 1, 1]) 58.45/14.85 reason 58.45/14.85 reverse each lhs and rhs 58.45/14.85 property Termination 58.45/14.85 has value True 58.45/14.85 for SRS ( [1, 1, 1, 0] -> [0, 1, 0, 0], [1, 0, 0, 0] -> [1, 1, 0, 0], [0, 0, 1, 1] -> [1, 1, 1, 1]) 58.45/14.85 reason 58.45/14.85 DP transform 58.45/14.85 property Termination 58.45/14.85 has value True 58.45/14.85 for SRS ( [1, 1, 1, 0] ->= [0, 1, 0, 0], [1, 0, 0, 0] ->= [1, 1, 0, 0], [0, 0, 1, 1] ->= [1, 1, 1, 1], [1#, 1, 1, 0] |-> [0#, 1, 0, 0], [1#, 1, 1, 0] |-> [1#, 0, 0], [1#, 1, 1, 0] |-> [0#, 0], [1#, 0, 0, 0] |-> [1#, 1, 0, 0], [1#, 0, 0, 0] |-> [1#, 0, 0], [0#, 0, 1, 1] |-> [1#, 1, 1, 1], [0#, 0, 1, 1] |-> [1#, 1, 1]) 58.45/14.85 reason 58.45/14.85 remap for 10 rules 58.45/14.85 property Termination 58.45/14.85 has value True 58.45/14.85 for SRS ( [0, 0, 0, 1] ->= [1, 0, 1, 1], [0, 1, 1, 1] ->= [0, 0, 1, 1], [1, 1, 0, 0] ->= [0, 0, 0, 0], [2, 0, 0, 1] |-> [3, 0, 1, 1], [2, 0, 0, 1] |-> [2, 1, 1], [2, 0, 0, 1] |-> [3, 1], [2, 1, 1, 1] |-> [2, 0, 1, 1], [2, 1, 1, 1] |-> [2, 1, 1], [3, 1, 0, 0] |-> [2, 0, 0, 0], [3, 1, 0, 0] |-> [2, 0, 0]) 58.45/14.85 reason 58.45/14.85 weights 58.45/14.85 Map [(0, 1/5), (1, 1/5)] 58.45/14.85 58.45/14.85 property Termination 58.45/14.85 has value True 58.80/14.86 for SRS ( [0, 0, 0, 1] ->= [1, 0, 1, 1], [0, 1, 1, 1] ->= [0, 0, 1, 1], [1, 1, 0, 0] ->= [0, 0, 0, 0], [2, 0, 0, 1] |-> [3, 0, 1, 1], [2, 1, 1, 1] |-> [2, 0, 1, 1], [3, 1, 0, 0] |-> [2, 0, 0, 0]) 58.80/14.86 reason 58.80/14.86 EDG has 1 SCCs 58.80/14.86 property Termination 58.80/14.86 has value True 58.80/14.86 for SRS ( [2, 0, 0, 1] |-> [3, 0, 1, 1], [3, 1, 0, 0] |-> [2, 0, 0, 0], [2, 1, 1, 1] |-> [2, 0, 1, 1], [0, 0, 0, 1] ->= [1, 0, 1, 1], [0, 1, 1, 1] ->= [0, 0, 1, 1], [1, 1, 0, 0] ->= [0, 0, 0, 0]) 58.80/14.86 reason 58.80/14.86 Matrix { monotone = Weak, domain = Arctic, bits = 4, dim = 3, solver = Minisatapi, verbose = False, tracing = True} 58.80/14.86 interpretation 58.80/14.86 0 / 3A 6A 6A \ 58.80/14.86 | 3A 3A 6A | 58.80/14.86 \ 3A 3A 3A / 58.80/14.86 1 / 3A 3A 6A \ 58.80/14.86 | 3A 3A 6A | 58.80/14.86 \ 3A 3A 6A / 58.80/14.86 2 / 18A 19A 21A \ 58.80/14.86 | 18A 19A 21A | 58.80/14.86 \ 18A 19A 21A / 58.80/14.86 3 / 18A 18A 21A \ 58.80/14.86 | 18A 18A 21A | 58.80/14.86 \ 18A 18A 21A / 58.80/14.86 [2, 0, 0, 1] |-> [3, 0, 1, 1] 58.80/14.86 lhs rhs ge gt 58.80/14.86 / 33A 33A 36A \ / 33A 33A 36A \ True False 58.80/14.86 | 33A 33A 36A | | 33A 33A 36A | 58.80/14.86 \ 33A 33A 36A / \ 33A 33A 36A / 58.80/14.86 [3, 1, 0, 0] |-> [2, 0, 0, 0] 58.80/14.86 lhs rhs ge gt 58.80/14.86 / 33A 36A 36A \ / 33A 34A 36A \ True False 58.80/14.86 | 33A 36A 36A | | 33A 34A 36A | 58.80/14.86 \ 33A 36A 36A / \ 33A 34A 36A / 58.80/14.86 [2, 1, 1, 1] |-> [2, 0, 1, 1] 58.80/14.86 lhs rhs ge gt 58.80/14.86 / 36A 36A 39A \ / 34A 34A 37A \ True True 58.80/14.86 | 36A 36A 39A | | 34A 34A 37A | 58.80/14.86 \ 36A 36A 39A / \ 34A 34A 37A / 58.80/14.86 [0, 0, 0, 1] ->= [1, 0, 1, 1] 58.80/14.86 lhs rhs ge gt 58.80/14.86 / 18A 18A 21A \ / 18A 18A 21A \ True False 58.80/14.86 | 18A 18A 21A | | 18A 18A 21A | 58.80/14.86 \ 18A 18A 21A / \ 18A 18A 21A / 58.80/14.86 [0, 1, 1, 1] ->= [0, 0, 1, 1] 58.80/14.86 lhs rhs ge gt 58.80/14.86 / 21A 21A 24A \ / 21A 21A 24A \ True False 58.80/14.86 | 21A 21A 24A | | 18A 18A 21A | 58.80/14.86 \ 18A 18A 21A / \ 18A 18A 21A / 58.80/14.86 [1, 1, 0, 0] ->= [0, 0, 0, 0] 58.80/14.86 lhs rhs ge gt 58.80/14.86 / 18A 21A 21A \ / 18A 21A 21A \ True False 58.80/14.86 | 18A 21A 21A | | 18A 18A 21A | 58.80/14.86 \ 18A 21A 21A / \ 18A 18A 18A / 58.80/14.86 property Termination 58.80/14.86 has value True 58.80/14.86 for SRS ( [2, 0, 0, 1] |-> [3, 0, 1, 1], [3, 1, 0, 0] |-> [2, 0, 0, 0], [0, 0, 0, 1] ->= [1, 0, 1, 1], [0, 1, 1, 1] ->= [0, 0, 1, 1], [1, 1, 0, 0] ->= [0, 0, 0, 0]) 58.80/14.86 reason 58.80/14.86 EDG has 1 SCCs 58.80/14.86 property Termination 58.80/14.86 has value True 58.80/14.86 for SRS ( [2, 0, 0, 1] |-> [3, 0, 1, 1], [3, 1, 0, 0] |-> [2, 0, 0, 0], [0, 0, 0, 1] ->= [1, 0, 1, 1], [0, 1, 1, 1] ->= [0, 0, 1, 1], [1, 1, 0, 0] ->= [0, 0, 0, 0]) 58.80/14.86 reason 58.80/14.86 Matrix { monotone = Weak, domain = Arctic, bits = 4, dim = 5, solver = Minisatapi, verbose = False, tracing = True} 58.80/14.86 interpretation 58.80/14.86 0 / 5A 10A 10A 10A 10A \ 58.80/14.86 | 5A 5A 10A 10A 10A | 58.80/14.86 | 5A 5A 5A 5A 10A | 58.80/14.86 | 5A 5A 5A 5A 5A | 58.80/14.86 \ 0A 5A 5A 5A 5A / 58.80/14.86 1 / 5A 10A 10A 10A 10A \ 58.80/14.86 | 5A 5A 5A 10A 10A | 58.80/14.86 | 5A 5A 5A 10A 10A | 58.80/14.86 | 5A 5A 5A 10A 10A | 58.80/14.86 \ 5A 5A 5A 10A 10A / 58.80/14.86 2 / 31A 35A 35A 35A 36A \ 58.80/14.86 | 31A 35A 35A 35A 36A | 58.80/14.86 | 31A 35A 35A 35A 36A | 58.80/14.86 | 31A 35A 35A 35A 36A | 58.80/14.86 \ 31A 35A 35A 35A 36A / 58.80/14.86 3 / 35A 35A 35A 35A 40A \ 58.80/14.86 | 35A 35A 35A 35A 40A | 58.80/14.86 | 35A 35A 35A 35A 40A | 58.80/14.86 | 35A 35A 35A 35A 40A | 58.80/14.86 \ 35A 35A 35A 35A 40A / 58.80/14.86 [2, 0, 0, 1] |-> [3, 0, 1, 1] 58.80/14.86 lhs rhs ge gt 58.80/14.86 / 60A 60A 60A 65A 65A \ / 60A 60A 60A 65A 65A \ True False 58.80/14.86 | 60A 60A 60A 65A 65A | | 60A 60A 60A 65A 65A | 58.80/14.87 | 60A 60A 60A 65A 65A | | 60A 60A 60A 65A 65A | 58.80/14.87 | 60A 60A 60A 65A 65A | | 60A 60A 60A 65A 65A | 58.80/14.87 \ 60A 60A 60A 65A 65A / \ 60A 60A 60A 65A 65A / 58.80/14.87 [3, 1, 0, 0] |-> [2, 0, 0, 0] 58.80/14.87 lhs rhs ge gt 58.80/14.87 / 60A 65A 65A 65A 65A \ / 56A 60A 60A 60A 61A \ True True 58.80/14.87 | 60A 65A 65A 65A 65A | | 56A 60A 60A 60A 61A | 58.80/14.87 | 60A 65A 65A 65A 65A | | 56A 60A 60A 60A 61A | 58.80/14.87 | 60A 65A 65A 65A 65A | | 56A 60A 60A 60A 61A | 58.80/14.87 \ 60A 65A 65A 65A 65A / \ 56A 60A 60A 60A 61A / 58.80/14.87 [0, 0, 0, 1] ->= [1, 0, 1, 1] 58.80/14.87 lhs rhs ge gt 58.80/14.87 / 35A 35A 35A 40A 40A \ / 35A 35A 35A 40A 40A \ True False 58.80/14.87 | 30A 30A 30A 35A 35A | | 30A 30A 30A 35A 35A | 58.80/14.87 | 30A 30A 30A 35A 35A | | 30A 30A 30A 35A 35A | 58.80/14.87 | 30A 30A 30A 35A 35A | | 30A 30A 30A 35A 35A | 58.80/14.87 \ 30A 30A 30A 35A 35A / \ 30A 30A 30A 35A 35A / 58.80/14.87 [0, 1, 1, 1] ->= [0, 0, 1, 1] 58.80/14.87 lhs rhs ge gt 58.80/14.87 / 35A 35A 35A 40A 40A \ / 35A 35A 35A 40A 40A \ True False 58.80/14.87 | 35A 35A 35A 40A 40A | | 35A 35A 35A 40A 40A | 58.80/14.87 | 35A 35A 35A 40A 40A | | 30A 30A 30A 35A 35A | 58.80/14.87 | 30A 30A 30A 35A 35A | | 30A 30A 30A 35A 35A | 58.80/14.87 \ 30A 30A 30A 35A 35A / \ 30A 30A 30A 35A 35A / 58.80/14.87 [1, 1, 0, 0] ->= [0, 0, 0, 0] 58.80/14.87 lhs rhs ge gt 58.80/14.87 / 30A 35A 35A 35A 35A \ / 30A 35A 35A 35A 35A \ True False 58.80/14.87 | 30A 35A 35A 35A 35A | | 30A 30A 35A 35A 35A | 58.80/14.87 | 30A 35A 35A 35A 35A | | 30A 30A 30A 30A 35A | 58.80/14.87 | 30A 35A 35A 35A 35A | | 30A 30A 30A 30A 35A | 58.80/14.87 \ 30A 35A 35A 35A 35A / \ 25A 30A 30A 30A 30A / 58.80/14.87 property Termination 58.80/14.87 has value True 58.80/14.87 for SRS ( [2, 0, 0, 1] |-> [3, 0, 1, 1], [0, 0, 0, 1] ->= [1, 0, 1, 1], [0, 1, 1, 1] ->= [0, 0, 1, 1], [1, 1, 0, 0] ->= [0, 0, 0, 0]) 58.80/14.87 reason 58.80/14.87 weights 58.80/14.87 Map [(2, 1/1)] 58.80/14.87 58.80/14.87 property Termination 58.80/14.87 has value True 58.80/14.87 for SRS ( [0, 0, 0, 1] ->= [1, 0, 1, 1], [0, 1, 1, 1] ->= [0, 0, 1, 1], [1, 1, 0, 0] ->= [0, 0, 0, 0]) 58.80/14.87 reason 58.80/14.87 EDG has 0 SCCs 58.80/14.87 58.80/14.87 ************************************************** 58.80/14.87 summary 58.80/14.87 ************************************************** 58.80/14.87 SRS with 3 rules on 2 letters Remap { tracing = False} 58.80/14.87 SRS with 3 rules on 2 letters reverse each lhs and rhs 58.80/14.87 SRS with 3 rules on 2 letters DP transform 58.80/14.87 SRS with 10 rules on 4 letters Remap { tracing = False} 58.80/14.87 SRS with 10 rules on 4 letters weights 58.80/14.87 SRS with 6 rules on 4 letters EDG 58.80/14.87 SRS with 6 rules on 4 letters Matrix { monotone = Weak, domain = Arctic, bits = 4, dim = 3, solver = Minisatapi, verbose = False, tracing = True} 58.80/14.87 SRS with 5 rules on 4 letters EDG 58.80/14.87 SRS with 5 rules on 4 letters Matrix { monotone = Weak, domain = Arctic, bits = 4, dim = 5, solver = Minisatapi, verbose = False, tracing = True} 58.80/14.87 SRS with 4 rules on 4 letters weights 58.80/14.87 SRS with 3 rules on 2 letters EDG 58.80/14.87 58.80/14.87 ************************************************** 58.94/14.89 (3, 2)\Deepee(10, 4)\Weight(6, 4)\Matrix{\Arctic}{3}(5, 4)\Matrix{\Arctic}{5}(4, 4)\Weight(3, 2)\EDG[] 58.94/14.89 ************************************************** 59.18/14.98 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;tiling = \ m w -> weighted (And_Then (Worker (Tiling { method = m,width = w})) (Worker Remap));when_small = \ m -> And_Then (Worker (SizeAtmost 100)) m;when_medium = \ m -> And_Then (Worker (SizeAtmost 10000)) m;solver = Minisatapi;qpi = \ dim bits -> weighted (when_small (Worker (QPI { tracing = True,dim = dim,bits = bits,solver = solver})));matrix = \ dom dim bits -> weighted (when_small (Worker (Matrix { monotone = Weak,domain = dom,dim = dim,bits = bits,tracing = False,solver = solver})));kbo = \ b -> weighted (when_small (Worker (KBO { bits = b,solver = solver})));mb = Worker (Matchbound { method = RFC,max_size = 100000});remove = First_Of ([ Worker (Weight { modus = mo})] <> ([ Seq [ qpi 2 4, qpi 3 4, qpi 4 4], Seq [ qpi 5 4, qpi 6 3, qpi 7 3]] <> ([ matrix Arctic 4 3, matrix Natural 4 3] <> [ kbo 1, And_Then (Worker Mirror) (kbo 1)])));remove_tile = Seq [ remove, tiling Overlap 3];dp = As_Transformer (Apply (And_Then (Worker (DP { tracing = False})) (Worker Remap)) (Apply wop (Branch (Worker (EDG { tracing = False})) remove_tile)));noh = [ Timeout 10 (Worker (Enumerate { closure = Forward})), Timeout 10 (Worker (Enumerate { closure = Backward}))];yeah = Tree_Search_Preemptive 0 done [ Worker (Weight { modus = mo}), mb, And_Then (Worker Mirror) mb, dp, And_Then (Worker Mirror) dp]} 59.18/14.98 in Apply (Worker Remap) (First_Of ([ yeah] <> noh)) 59.43/15.07 EOF