67.77/17.19 YES 67.77/17.19 property Termination 67.77/17.19 has value True 67.77/17.19 for SRS ( [d, a] -> [b, d], [b] -> [a, a, a], [c, d, c] -> [a, d], [b, d, d] -> [c, c, d, d, c]) 67.77/17.19 reason 67.77/17.19 remap for 4 rules 67.77/17.19 property Termination 67.77/17.19 has value True 67.77/17.19 for SRS ( [0, 1] -> [2, 0], [2] -> [1, 1, 1], [3, 0, 3] -> [1, 0], [2, 0, 0] -> [3, 3, 0, 0, 3]) 67.77/17.19 reason 67.77/17.19 reverse each lhs and rhs 67.77/17.19 property Termination 67.77/17.19 has value True 67.77/17.19 for SRS ( [1, 0] -> [0, 2], [2] -> [1, 1, 1], [3, 0, 3] -> [0, 1], [0, 0, 2] -> [3, 0, 0, 3, 3]) 67.77/17.19 reason 67.77/17.19 DP transform 67.77/17.19 property Termination 67.77/17.19 has value True 67.77/17.19 for SRS ( [1, 0] ->= [0, 2], [2] ->= [1, 1, 1], [3, 0, 3] ->= [0, 1], [0, 0, 2] ->= [3, 0, 0, 3, 3], [1#, 0] |-> [0#, 2], [1#, 0] |-> [2#], [2#] |-> [1#, 1, 1], [2#] |-> [1#, 1], [2#] |-> [1#], [3#, 0, 3] |-> [0#, 1], [3#, 0, 3] |-> [1#], [0#, 0, 2] |-> [3#, 0, 0, 3, 3], [0#, 0, 2] |-> [0#, 0, 3, 3], [0#, 0, 2] |-> [0#, 3, 3], [0#, 0, 2] |-> [3#, 3], [0#, 0, 2] |-> [3#]) 67.77/17.19 reason 67.77/17.19 remap for 16 rules 67.77/17.19 property Termination 67.77/17.19 has value True 67.77/17.19 for SRS ( [0, 1] ->= [1, 2], [2] ->= [0, 0, 0], [3, 1, 3] ->= [1, 0], [1, 1, 2] ->= [3, 1, 1, 3, 3], [4, 1] |-> [5, 2], [4, 1] |-> [6], [6] |-> [4, 0, 0], [6] |-> [4, 0], [6] |-> [4], [7, 1, 3] |-> [5, 0], [7, 1, 3] |-> [4], [5, 1, 2] |-> [7, 1, 1, 3, 3], [5, 1, 2] |-> [5, 1, 3, 3], [5, 1, 2] |-> [5, 3, 3], [5, 1, 2] |-> [7, 3], [5, 1, 2] |-> [7]) 67.77/17.19 reason 68.16/17.20 weights 68.16/17.20 Map [(1, 2/1), (4, 1/1), (5, 2/1), (6, 2/1)] 68.16/17.20 68.16/17.20 property Termination 68.16/17.20 has value True 68.16/17.20 for SRS ( [0, 1] ->= [1, 2], [2] ->= [0, 0, 0], [3, 1, 3] ->= [1, 0], [1, 1, 2] ->= [3, 1, 1, 3, 3], [7, 1, 3] |-> [5, 0], [5, 1, 2] |-> [7, 1, 1, 3, 3], [5, 1, 2] |-> [5, 1, 3, 3]) 68.16/17.20 reason 68.16/17.20 EDG has 1 SCCs 68.16/17.20 property Termination 68.16/17.20 has value True 68.16/17.20 for SRS ( [7, 1, 3] |-> [5, 0], [5, 1, 2] |-> [5, 1, 3, 3], [5, 1, 2] |-> [7, 1, 1, 3, 3], [0, 1] ->= [1, 2], [2] ->= [0, 0, 0], [3, 1, 3] ->= [1, 0], [1, 1, 2] ->= [3, 1, 1, 3, 3]) 68.16/17.20 reason 68.16/17.20 Matrix { monotone = Weak, domain = Arctic, bits = 4, dim = 3, solver = Minisatapi, verbose = False, tracing = True} 68.16/17.20 interpretation 68.16/17.20 0 / 0A 0A 3A \ 68.16/17.20 | -3A -3A 0A | 68.16/17.20 \ -3A -3A 0A / 68.16/17.20 1 / 9A 12A 12A \ 68.16/17.20 | 9A 9A 12A | 68.16/17.20 \ 9A 9A 12A / 68.16/17.20 2 / 0A 0A 3A \ 68.16/17.20 | 0A 0A 3A | 68.16/17.20 \ -3A -3A 0A / 68.16/17.20 3 / 0A 0A 0A \ 68.16/17.20 | -3A -3A 0A | 68.16/17.20 \ -3A -3A 0A / 68.16/17.20 5 / 18A 20A 20A \ 68.16/17.20 | 18A 20A 20A | 68.16/17.20 \ 18A 20A 20A / 68.16/17.21 7 / 7A 7A 9A \ 68.16/17.21 | 7A 7A 9A | 68.16/17.21 \ 7A 7A 9A / 68.16/17.21 [7, 1, 3] |-> [5, 0] 68.16/17.21 lhs rhs ge gt 68.16/17.21 / 18A 18A 21A \ / 18A 18A 21A \ True False 68.16/17.21 | 18A 18A 21A | | 18A 18A 21A | 68.16/17.21 \ 18A 18A 21A / \ 18A 18A 21A / 68.16/17.21 [5, 1, 2] |-> [5, 1, 3, 3] 68.16/17.21 lhs rhs ge gt 68.16/17.21 / 30A 30A 33A \ / 29A 29A 32A \ True True 68.16/17.21 | 30A 30A 33A | | 29A 29A 32A | 68.16/17.21 \ 30A 30A 33A / \ 29A 29A 32A / 68.16/17.21 [5, 1, 2] |-> [7, 1, 1, 3, 3] 68.16/17.21 lhs rhs ge gt 68.16/17.21 / 30A 30A 33A \ / 30A 30A 33A \ True False 68.16/17.21 | 30A 30A 33A | | 30A 30A 33A | 68.16/17.21 \ 30A 30A 33A / \ 30A 30A 33A / 68.16/17.21 [0, 1] ->= [1, 2] 68.16/17.21 lhs rhs ge gt 68.16/17.21 / 12A 12A 15A \ / 12A 12A 15A \ True False 68.16/17.21 | 9A 9A 12A | | 9A 9A 12A | 68.16/17.21 \ 9A 9A 12A / \ 9A 9A 12A / 68.16/17.21 [2] ->= [0, 0, 0] 68.16/17.21 lhs rhs ge gt 68.16/17.21 / 0A 0A 3A \ / 0A 0A 3A \ True False 68.16/17.21 | 0A 0A 3A | | -3A -3A 0A | 68.16/17.21 \ -3A -3A 0A / \ -3A -3A 0A / 68.16/17.21 [3, 1, 3] ->= [1, 0] 68.16/17.21 lhs rhs ge gt 68.16/17.21 / 9A 9A 12A \ / 9A 9A 12A \ True False 68.16/17.21 | 9A 9A 12A | | 9A 9A 12A | 68.16/17.21 \ 9A 9A 12A / \ 9A 9A 12A / 68.16/17.21 [1, 1, 2] ->= [3, 1, 1, 3, 3] 68.16/17.21 lhs rhs ge gt 68.16/17.21 / 21A 21A 24A \ / 21A 21A 24A \ True False 68.16/17.21 | 21A 21A 24A | | 21A 21A 24A | 68.16/17.21 \ 21A 21A 24A / \ 21A 21A 24A / 68.16/17.21 property Termination 68.16/17.21 has value True 68.16/17.21 for SRS ( [7, 1, 3] |-> [5, 0], [5, 1, 2] |-> [7, 1, 1, 3, 3], [0, 1] ->= [1, 2], [2] ->= [0, 0, 0], [3, 1, 3] ->= [1, 0], [1, 1, 2] ->= [3, 1, 1, 3, 3]) 68.16/17.21 reason 68.16/17.21 EDG has 1 SCCs 68.16/17.21 property Termination 68.16/17.21 has value True 68.16/17.23 for SRS ( [7, 1, 3] |-> [5, 0], [5, 1, 2] |-> [7, 1, 1, 3, 3], [0, 1] ->= [1, 2], [2] ->= [0, 0, 0], [3, 1, 3] ->= [1, 0], [1, 1, 2] ->= [3, 1, 1, 3, 3]) 68.16/17.23 reason 68.16/17.23 Matrix { monotone = Weak, domain = Arctic, bits = 4, dim = 5, solver = Minisatapi, verbose = False, tracing = True} 68.16/17.23 interpretation 68.16/17.23 0 / 0A 0A 0A 5A 5A \ 68.16/17.23 | 0A 0A 0A 5A 5A | 68.16/17.23 | -5A -5A -5A 0A 0A | 68.16/17.23 | -5A -5A -5A 0A 0A | 68.16/17.23 \ -5A -5A -5A 0A 0A / 68.16/17.23 1 / 30A 35A 35A 35A 35A \ 68.16/17.23 | 30A 30A 35A 35A 35A | 68.16/17.23 | 30A 30A 30A 35A 35A | 68.16/17.23 | 30A 30A 30A 35A 35A | 68.16/17.23 \ 30A 30A 30A 30A 30A / 68.16/17.23 2 / 0A 0A 0A 5A 5A \ 68.16/17.23 | 0A 0A 0A 5A 5A | 68.16/17.23 | 0A 0A 0A 5A 5A | 68.16/17.23 | -5A -5A -5A 0A 0A | 68.16/17.23 \ -5A -5A -5A 0A 0A / 68.16/17.23 3 / 0A 0A 0A 5A 5A \ 68.16/17.23 | -5A -5A 0A 0A 0A | 68.16/17.23 | -5A -5A -5A 0A 0A | 68.16/17.23 | -5A -5A -5A 0A 0A | 68.16/17.23 \ -5A -5A -5A 0A 0A / 68.16/17.23 5 / 35A 36A 40A 40A 40A \ 68.16/17.23 | 35A 36A 40A 40A 40A | 68.16/17.23 | 35A 36A 40A 40A 40A | 68.16/17.23 | 35A 36A 40A 40A 40A | 68.16/17.23 \ 35A 36A 40A 40A 40A / 68.16/17.23 7 / 2A 6A 6A 6A 7A \ 68.16/17.23 | 2A 6A 6A 6A 7A | 68.16/17.23 | 2A 6A 6A 6A 7A | 68.16/17.23 | 2A 6A 6A 6A 7A | 68.16/17.23 \ 2A 6A 6A 6A 7A / 68.16/17.23 [7, 1, 3] |-> [5, 0] 68.16/17.23 lhs rhs ge gt 68.16/17.23 / 37A 37A 37A 42A 42A \ / 36A 36A 36A 41A 41A \ True True 68.16/17.23 | 37A 37A 37A 42A 42A | | 36A 36A 36A 41A 41A | 68.16/17.23 | 37A 37A 37A 42A 42A | | 36A 36A 36A 41A 41A | 68.16/17.23 | 37A 37A 37A 42A 42A | | 36A 36A 36A 41A 41A | 68.16/17.23 \ 37A 37A 37A 42A 42A / \ 36A 36A 36A 41A 41A / 68.16/17.23 [5, 1, 2] |-> [7, 1, 1, 3, 3] 68.16/17.23 lhs rhs ge gt 68.16/17.23 / 71A 71A 71A 76A 76A \ / 71A 71A 71A 76A 76A \ True False 68.16/17.23 | 71A 71A 71A 76A 76A | | 71A 71A 71A 76A 76A | 68.16/17.23 | 71A 71A 71A 76A 76A | | 71A 71A 71A 76A 76A | 68.16/17.23 | 71A 71A 71A 76A 76A | | 71A 71A 71A 76A 76A | 68.16/17.23 \ 71A 71A 71A 76A 76A / \ 71A 71A 71A 76A 76A / 68.16/17.23 [0, 1] ->= [1, 2] 68.16/17.23 lhs rhs ge gt 68.16/17.23 / 35A 35A 35A 40A 40A \ / 35A 35A 35A 40A 40A \ True False 68.16/17.23 | 35A 35A 35A 40A 40A | | 35A 35A 35A 40A 40A | 68.16/17.23 | 30A 30A 30A 35A 35A | | 30A 30A 30A 35A 35A | 68.16/17.23 | 30A 30A 30A 35A 35A | | 30A 30A 30A 35A 35A | 68.16/17.23 \ 30A 30A 30A 35A 35A / \ 30A 30A 30A 35A 35A / 68.16/17.23 [2] ->= [0, 0, 0] 68.16/17.23 lhs rhs ge gt 68.16/17.23 / 0A 0A 0A 5A 5A \ / 0A 0A 0A 5A 5A \ True False 68.16/17.23 | 0A 0A 0A 5A 5A | | 0A 0A 0A 5A 5A | 68.16/17.23 | 0A 0A 0A 5A 5A | | -5A -5A -5A 0A 0A | 68.16/17.23 | -5A -5A -5A 0A 0A | | -5A -5A -5A 0A 0A | 68.16/17.23 \ -5A -5A -5A 0A 0A / \ -5A -5A -5A 0A 0A / 68.16/17.23 [3, 1, 3] ->= [1, 0] 68.16/17.23 lhs rhs ge gt 68.16/17.23 / 35A 35A 35A 40A 40A \ / 35A 35A 35A 40A 40A \ True False 68.16/17.23 | 30A 30A 30A 35A 35A | | 30A 30A 30A 35A 35A | 68.16/17.23 | 30A 30A 30A 35A 35A | | 30A 30A 30A 35A 35A | 68.16/17.23 | 30A 30A 30A 35A 35A | | 30A 30A 30A 35A 35A | 68.16/17.23 \ 30A 30A 30A 35A 35A / \ 30A 30A 30A 35A 35A / 68.16/17.23 [1, 1, 2] ->= [3, 1, 1, 3, 3] 68.16/17.23 lhs rhs ge gt 68.16/17.23 / 70A 70A 70A 75A 75A \ / 70A 70A 70A 75A 75A \ True False 68.16/17.23 | 65A 65A 65A 70A 70A | | 65A 65A 65A 70A 70A | 68.16/17.23 | 65A 65A 65A 70A 70A | | 65A 65A 65A 70A 70A | 68.16/17.23 | 65A 65A 65A 70A 70A | | 65A 65A 65A 70A 70A | 68.16/17.23 \ 65A 65A 65A 70A 70A / \ 65A 65A 65A 70A 70A / 68.16/17.23 property Termination 68.16/17.23 has value True 68.16/17.23 for SRS ( [5, 1, 2] |-> [7, 1, 1, 3, 3], [0, 1] ->= [1, 2], [2] ->= [0, 0, 0], [3, 1, 3] ->= [1, 0], [1, 1, 2] ->= [3, 1, 1, 3, 3]) 68.16/17.23 reason 68.16/17.23 weights 68.16/17.23 Map [(5, 1/1)] 68.16/17.23 68.16/17.23 property Termination 68.16/17.23 has value True 68.16/17.23 for SRS ( [0, 1] ->= [1, 2], [2] ->= [0, 0, 0], [3, 1, 3] ->= [1, 0], [1, 1, 2] ->= [3, 1, 1, 3, 3]) 68.16/17.23 reason 68.16/17.23 EDG has 0 SCCs 68.16/17.23 68.16/17.23 ************************************************** 68.16/17.23 summary 68.16/17.23 ************************************************** 68.16/17.23 SRS with 4 rules on 4 letters Remap { tracing = False} 68.16/17.23 SRS with 4 rules on 4 letters reverse each lhs and rhs 68.16/17.23 SRS with 4 rules on 4 letters DP transform 68.16/17.23 SRS with 16 rules on 8 letters Remap { tracing = False} 68.16/17.23 SRS with 16 rules on 8 letters weights 68.16/17.23 SRS with 7 rules on 6 letters EDG 68.16/17.23 SRS with 7 rules on 6 letters Matrix { monotone = Weak, domain = Arctic, bits = 4, dim = 3, solver = Minisatapi, verbose = False, tracing = True} 68.16/17.23 SRS with 6 rules on 6 letters EDG 68.16/17.24 SRS with 6 rules on 6 letters Matrix { monotone = Weak, domain = Arctic, bits = 4, dim = 5, solver = Minisatapi, verbose = False, tracing = True} 68.16/17.24 SRS with 5 rules on 6 letters weights 68.16/17.24 SRS with 4 rules on 4 letters EDG 68.16/17.24 68.16/17.24 ************************************************** 68.16/17.24 (4, 4)\Deepee(16, 8)\Weight(7, 6)\Matrix{\Arctic}{3}(6, 6)\Matrix{\Arctic}{5}(5, 6)\Weight(4, 4)\EDG[] 68.16/17.24 ************************************************** 68.58/17.39 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]} 68.58/17.39 in Apply (Worker Remap) (First_Of ([ yeah] <> noh)) 69.39/17.57 EOF