105.18/26.56 YES 105.18/26.56 property Termination 105.18/26.56 has value True 105.27/26.58 for SRS ( [b, a, a, b] -> [b, a, b, a], [b, a, a, a] -> [b, a, b, b], [a, b, a, b] -> [b, b, b, b], [a, b, a, b] -> [a, a, a, b]) 105.27/26.58 reason 105.27/26.58 remap for 4 rules 105.27/26.58 property Termination 105.27/26.58 has value True 105.27/26.59 for SRS ( [0, 1, 1, 0] -> [0, 1, 0, 1], [0, 1, 1, 1] -> [0, 1, 0, 0], [1, 0, 1, 0] -> [0, 0, 0, 0], [1, 0, 1, 0] -> [1, 1, 1, 0]) 105.27/26.59 reason 105.27/26.59 reverse each lhs and rhs 105.27/26.59 property Termination 105.27/26.59 has value True 105.27/26.59 for SRS ( [0, 1, 1, 0] -> [1, 0, 1, 0], [1, 1, 1, 0] -> [0, 0, 1, 0], [0, 1, 0, 1] -> [0, 0, 0, 0], [0, 1, 0, 1] -> [0, 1, 1, 1]) 105.27/26.59 reason 105.27/26.59 DP transform 105.27/26.59 property Termination 105.27/26.59 has value True 105.27/26.62 for SRS ( [0, 1, 1, 0] ->= [1, 0, 1, 0], [1, 1, 1, 0] ->= [0, 0, 1, 0], [0, 1, 0, 1] ->= [0, 0, 0, 0], [0, 1, 0, 1] ->= [0, 1, 1, 1], [0#, 1, 1, 0] |-> [1#, 0, 1, 0], [0#, 1, 1, 0] |-> [0#, 1, 0], [1#, 1, 1, 0] |-> [0#, 0, 1, 0], [1#, 1, 1, 0] |-> [0#, 1, 0], [0#, 1, 0, 1] |-> [0#, 0, 0, 0], [0#, 1, 0, 1] |-> [0#, 0, 0], [0#, 1, 0, 1] |-> [0#, 0], [0#, 1, 0, 1] |-> [0#], [0#, 1, 0, 1] |-> [0#, 1, 1, 1], [0#, 1, 0, 1] |-> [1#, 1, 1], [0#, 1, 0, 1] |-> [1#, 1]) 105.27/26.62 reason 105.27/26.62 remap for 15 rules 105.27/26.62 property Termination 105.27/26.62 has value True 105.43/26.62 for SRS ( [0, 1, 1, 0] ->= [1, 0, 1, 0], [1, 1, 1, 0] ->= [0, 0, 1, 0], [0, 1, 0, 1] ->= [0, 0, 0, 0], [0, 1, 0, 1] ->= [0, 1, 1, 1], [2, 1, 1, 0] |-> [3, 0, 1, 0], [2, 1, 1, 0] |-> [2, 1, 0], [3, 1, 1, 0] |-> [2, 0, 1, 0], [3, 1, 1, 0] |-> [2, 1, 0], [2, 1, 0, 1] |-> [2, 0, 0, 0], [2, 1, 0, 1] |-> [2, 0, 0], [2, 1, 0, 1] |-> [2, 0], [2, 1, 0, 1] |-> [2], [2, 1, 0, 1] |-> [2, 1, 1, 1], [2, 1, 0, 1] |-> [3, 1, 1], [2, 1, 0, 1] |-> [3, 1]) 105.43/26.62 reason 105.43/26.62 weights 105.43/26.62 Map [(0, 1/11), (1, 1/11)] 105.43/26.62 105.43/26.62 property Termination 105.43/26.62 has value True 105.51/26.67 for SRS ( [0, 1, 1, 0] ->= [1, 0, 1, 0], [1, 1, 1, 0] ->= [0, 0, 1, 0], [0, 1, 0, 1] ->= [0, 0, 0, 0], [0, 1, 0, 1] ->= [0, 1, 1, 1], [2, 1, 1, 0] |-> [3, 0, 1, 0], [3, 1, 1, 0] |-> [2, 0, 1, 0], [2, 1, 0, 1] |-> [2, 0, 0, 0], [2, 1, 0, 1] |-> [2, 1, 1, 1]) 105.51/26.67 reason 105.51/26.67 EDG has 1 SCCs 105.51/26.67 property Termination 105.51/26.67 has value True 105.51/26.69 for SRS ( [2, 1, 1, 0] |-> [3, 0, 1, 0], [3, 1, 1, 0] |-> [2, 0, 1, 0], [2, 1, 0, 1] |-> [2, 1, 1, 1], [2, 1, 0, 1] |-> [2, 0, 0, 0], [0, 1, 1, 0] ->= [1, 0, 1, 0], [1, 1, 1, 0] ->= [0, 0, 1, 0], [0, 1, 0, 1] ->= [0, 0, 0, 0], [0, 1, 0, 1] ->= [0, 1, 1, 1]) 105.51/26.69 reason 105.51/26.69 Matrix { monotone = Weak, domain = Arctic, bits = 4, dim = 3, solver = Minisatapi, verbose = False, tracing = True} 105.51/26.69 interpretation 105.51/26.69 0 / 9A 9A 9A \ 105.51/26.69 | 9A 9A 9A | 105.51/26.69 \ 9A 9A 9A / 105.51/26.69 1 / 9A 12A 12A \ 105.51/26.69 | 9A 9A 12A | 105.51/26.69 \ 6A 9A 9A / 105.51/26.69 2 / 5A 5A 8A \ 105.51/26.69 | 5A 5A 8A | 105.51/26.69 \ 5A 5A 8A / 105.51/26.69 3 / 7A 7A 7A \ 105.51/26.69 | 7A 7A 7A | 105.51/26.69 \ 7A 7A 7A / 105.51/26.70 [2, 1, 1, 0] |-> [3, 0, 1, 0] 105.51/26.70 lhs rhs ge gt 105.51/26.70 / 38A 38A 38A \ / 37A 37A 37A \ True True 105.51/26.70 | 38A 38A 38A | | 37A 37A 37A | 105.51/26.70 \ 38A 38A 38A / \ 37A 37A 37A / 105.51/26.70 [3, 1, 1, 0] |-> [2, 0, 1, 0] 105.51/26.70 lhs rhs ge gt 105.51/26.70 / 40A 40A 40A \ / 38A 38A 38A \ True True 105.51/26.70 | 40A 40A 40A | | 38A 38A 38A | 105.51/26.70 \ 40A 40A 40A / \ 38A 38A 38A / 105.51/26.70 [2, 1, 0, 1] |-> [2, 1, 1, 1] 105.51/26.70 lhs rhs ge gt 105.51/26.70 / 35A 38A 38A \ / 35A 38A 38A \ True False 105.51/26.70 | 35A 38A 38A | | 35A 38A 38A | 105.51/26.70 \ 35A 38A 38A / \ 35A 38A 38A / 105.51/26.70 [2, 1, 0, 1] |-> [2, 0, 0, 0] 105.51/26.70 lhs rhs ge gt 105.51/26.70 / 35A 38A 38A \ / 35A 35A 35A \ True False 105.51/26.70 | 35A 38A 38A | | 35A 35A 35A | 105.51/26.70 \ 35A 38A 38A / \ 35A 35A 35A / 105.51/26.70 [0, 1, 1, 0] ->= [1, 0, 1, 0] 105.51/26.70 lhs rhs ge gt 105.51/26.70 / 42A 42A 42A \ / 42A 42A 42A \ True False 105.51/26.70 | 42A 42A 42A | | 42A 42A 42A | 105.51/26.70 \ 42A 42A 42A / \ 39A 39A 39A / 105.51/26.70 [1, 1, 1, 0] ->= [0, 0, 1, 0] 105.51/26.70 lhs rhs ge gt 105.51/26.70 / 42A 42A 42A \ / 39A 39A 39A \ True False 105.51/26.71 | 42A 42A 42A | | 39A 39A 39A | 105.51/26.71 \ 39A 39A 39A / \ 39A 39A 39A / 105.51/26.71 [0, 1, 0, 1] ->= [0, 0, 0, 0] 105.51/26.71 lhs rhs ge gt 105.51/26.71 / 39A 42A 42A \ / 36A 36A 36A \ True True 105.51/26.71 | 39A 42A 42A | | 36A 36A 36A | 105.51/26.71 \ 39A 42A 42A / \ 36A 36A 36A / 105.51/26.71 [0, 1, 0, 1] ->= [0, 1, 1, 1] 105.51/26.71 lhs rhs ge gt 105.51/26.71 / 39A 42A 42A \ / 39A 42A 42A \ True False 105.51/26.71 | 39A 42A 42A | | 39A 42A 42A | 105.51/26.71 \ 39A 42A 42A / \ 39A 42A 42A / 105.51/26.71 property Termination 105.51/26.71 has value True 105.51/26.71 for SRS ( [2, 1, 0, 1] |-> [2, 1, 1, 1], [2, 1, 0, 1] |-> [2, 0, 0, 0], [0, 1, 1, 0] ->= [1, 0, 1, 0], [1, 1, 1, 0] ->= [0, 0, 1, 0], [0, 1, 0, 1] ->= [0, 0, 0, 0], [0, 1, 0, 1] ->= [0, 1, 1, 1]) 105.51/26.71 reason 105.51/26.71 EDG has 1 SCCs 105.51/26.71 property Termination 105.51/26.71 has value True 105.82/26.76 for SRS ( [2, 1, 0, 1] |-> [2, 1, 1, 1], [2, 1, 0, 1] |-> [2, 0, 0, 0], [0, 1, 1, 0] ->= [1, 0, 1, 0], [1, 1, 1, 0] ->= [0, 0, 1, 0], [0, 1, 0, 1] ->= [0, 0, 0, 0], [0, 1, 0, 1] ->= [0, 1, 1, 1]) 105.82/26.76 reason 105.82/26.76 Matrix { monotone = Weak, domain = Arctic, bits = 4, dim = 3, solver = Minisatapi, verbose = False, tracing = True} 105.82/26.76 interpretation 105.82/26.76 0 / 9A 12A 12A \ 105.82/26.76 | 6A 9A 9A | 105.82/26.76 \ 6A 9A 9A / 105.82/26.76 1 / 9A 9A 12A \ 105.82/26.76 | 9A 9A 12A | 105.82/26.76 \ 9A 9A 9A / 105.82/26.76 2 / 14A 15A 15A \ 105.82/26.76 | 14A 15A 15A | 105.82/26.76 \ 14A 15A 15A / 105.82/26.76 [2, 1, 0, 1] |-> [2, 1, 1, 1] 105.82/26.76 lhs rhs ge gt 105.82/26.76 / 45A 45A 48A \ / 45A 45A 48A \ True False 105.82/26.76 | 45A 45A 48A | | 45A 45A 48A | 105.82/26.76 \ 45A 45A 48A / \ 45A 45A 48A / 105.82/26.76 [2, 1, 0, 1] |-> [2, 0, 0, 0] 106.05/26.79 lhs rhs ge gt 106.05/26.79 / 45A 45A 48A \ / 41A 44A 44A \ True True 106.05/26.79 | 45A 45A 48A | | 41A 44A 44A | 106.05/26.79 \ 45A 45A 48A / \ 41A 44A 44A / 106.05/26.79 [0, 1, 1, 0] ->= [1, 0, 1, 0] 106.05/26.79 lhs rhs ge gt 106.05/26.79 / 42A 45A 45A \ / 39A 42A 42A \ True False 106.05/26.79 | 39A 42A 42A | | 39A 42A 42A | 106.05/26.79 \ 39A 42A 42A / \ 39A 42A 42A / 106.05/26.79 [1, 1, 1, 0] ->= [0, 0, 1, 0] 106.05/26.79 lhs rhs ge gt 106.05/26.79 / 39A 42A 42A \ / 39A 42A 42A \ True False 106.05/26.79 | 39A 42A 42A | | 36A 39A 39A | 106.05/26.79 \ 39A 42A 42A / \ 36A 39A 39A / 106.05/26.79 [0, 1, 0, 1] ->= [0, 0, 0, 0] 106.05/26.79 lhs rhs ge gt 106.05/26.79 / 42A 42A 45A \ / 36A 39A 39A \ True True 106.05/26.79 | 39A 39A 42A | | 33A 36A 36A | 106.05/26.79 \ 39A 39A 42A / \ 33A 36A 36A / 106.05/26.79 [0, 1, 0, 1] ->= [0, 1, 1, 1] 106.05/26.79 lhs rhs ge gt 106.05/26.81 / 42A 42A 45A \ / 42A 42A 45A \ True False 106.05/26.81 | 39A 39A 42A | | 39A 39A 42A | 106.05/26.81 \ 39A 39A 42A / \ 39A 39A 42A / 106.05/26.83 property Termination 106.05/26.83 has value True 106.74/26.96 for SRS ( [2, 1, 0, 1] |-> [2, 1, 1, 1], [0, 1, 1, 0] ->= [1, 0, 1, 0], [1, 1, 1, 0] ->= [0, 0, 1, 0], [0, 1, 0, 1] ->= [0, 0, 0, 0], [0, 1, 0, 1] ->= [0, 1, 1, 1]) 106.74/26.96 reason 106.74/26.97 EDG has 1 SCCs 106.74/26.97 property Termination 106.74/27.00 has value True 107.93/27.26 for SRS ( [2, 1, 0, 1] |-> [2, 1, 1, 1], [0, 1, 1, 0] ->= [1, 0, 1, 0], [1, 1, 1, 0] ->= [0, 0, 1, 0], [0, 1, 0, 1] ->= [0, 0, 0, 0], [0, 1, 0, 1] ->= [0, 1, 1, 1]) 107.93/27.26 reason 107.93/27.26 Matrix { monotone = Weak, domain = Arctic, bits = 3, dim = 4, solver = Minisatapi, verbose = False, tracing = False} 107.93/27.26 interpretation 107.93/27.26 0 Wk / 0A - 1A 1A \ 107.93/27.26 | 2A 0A 3A 3A | 107.93/27.26 | - - 0A 2A | 107.93/27.26 \ - - - 0A / 107.93/27.26 1 Wk / - 0A - 0A \ 107.93/27.26 | - 0A 1A - | 107.93/27.26 | 1A - 0A 0A | 107.93/27.26 \ - - - 0A / 107.93/27.26 2 Wk / 0A - - 2A \ 107.93/27.26 | - - - - | 107.93/27.26 | 3A - - 5A | 107.93/27.26 \ - - - 0A / 107.93/27.26 [2, 1, 0, 1] |-> [2, 1, 1, 1] 107.93/27.26 lhs rhs ge gt 107.93/27.26 Wk / 4A 2A 3A 3A \ Wk / 2A 0A 1A 2A \ True True 107.93/27.26 | - - - - | | - - - - | 107.93/27.26 | 7A 5A 6A 6A | | 5A 3A 4A 5A | 107.93/27.26 \ - - - 0A / \ - - - 0A / 107.93/27.26 [0, 1, 1, 0] ->= [1, 0, 1, 0] 107.93/27.28 lhs rhs ge gt 107.93/27.28 Wk / 4A 2A 5A 5A \ Wk / 4A 2A 5A 5A \ True False 107.93/27.28 | 6A 4A 7A 7A | | 4A 2A 5A 5A | 107.93/27.28 | 3A 1A 4A 4A | | 3A 1A 4A 4A | 107.93/27.28 \ - - - 0A / \ - - - 0A / 107.93/27.28 [1, 1, 1, 0] ->= [0, 0, 1, 0] 107.93/27.28 lhs rhs ge gt 107.93/27.28 Wk / 2A 0A 3A 3A \ Wk / 2A 0A 3A 3A \ True False 107.93/27.28 | 4A 2A 5A 5A | | 4A 2A 5A 5A | 107.93/27.28 | 3A 1A 4A 4A | | 1A - 2A 2A | 107.93/27.28 \ - - - 0A / \ - - - 0A / 107.93/27.28 [0, 1, 0, 1] ->= [0, 0, 0, 0] 108.16/27.34 lhs rhs ge gt 108.16/27.34 Wk / 4A 2A 3A 3A \ Wk / 0A - 1A 3A \ True False 108.16/27.34 | 6A 4A 5A 5A | | 2A 0A 3A 5A | 108.16/27.34 | 3A 1A 2A 2A | | - - 0A 2A | 108.16/27.34 \ - - - 0A / \ - - - 0A / 108.16/27.34 [0, 1, 0, 1] ->= [0, 1, 1, 1] 108.16/27.34 lhs rhs ge gt 108.16/27.34 Wk / 4A 2A 3A 3A \ Wk / 2A 2A 3A 2A \ True False 108.16/27.34 | 6A 4A 5A 5A | | 4A 4A 5A 4A | 108.16/27.34 | 3A 1A 2A 2A | | 1A 1A 2A 2A | 108.16/27.34 \ - - - 0A / \ - - - 0A / 108.16/27.34 property Termination 108.16/27.34 has value True 108.16/27.34 for SRS ( [0, 1, 1, 0] ->= [1, 0, 1, 0], [1, 1, 1, 0] ->= [0, 0, 1, 0], [0, 1, 0, 1] ->= [0, 0, 0, 0], [0, 1, 0, 1] ->= [0, 1, 1, 1]) 108.16/27.34 reason 108.16/27.34 EDG has 0 SCCs 108.16/27.34 108.16/27.34 ************************************************** 108.16/27.34 summary 108.16/27.34 ************************************************** 108.16/27.34 SRS with 4 rules on 2 letters Remap { tracing = False} 108.16/27.34 SRS with 4 rules on 2 letters reverse each lhs and rhs 108.16/27.34 SRS with 4 rules on 2 letters DP transform 108.16/27.34 SRS with 15 rules on 4 letters Remap { tracing = False} 108.16/27.34 SRS with 15 rules on 4 letters weights 108.16/27.34 SRS with 8 rules on 4 letters EDG 108.16/27.34 SRS with 8 rules on 4 letters Matrix { monotone = Weak, domain = Arctic, bits = 4, dim = 3, solver = Minisatapi, verbose = False, tracing = True} 108.16/27.34 SRS with 6 rules on 3 letters EDG 108.16/27.34 SRS with 6 rules on 3 letters Matrix { monotone = Weak, domain = Arctic, bits = 4, dim = 3, solver = Minisatapi, verbose = False, tracing = True} 108.16/27.34 SRS with 5 rules on 3 letters EDG 108.16/27.34 SRS with 5 rules on 3 letters Matrix { monotone = Weak, domain = Arctic, bits = 3, dim = 4, solver = Minisatapi, verbose = False, tracing = False} 108.38/27.38 SRS with 4 rules on 2 letters EDG 108.38/27.38 108.38/27.38 ************************************************** 108.38/27.38 (4, 2)\Deepee(15, 4)\Weight(8, 4)\Matrix{\Arctic}{3}(6, 3)\Matrix{\Arctic}{3}(5, 3)\Matrix{\Arctic}{4}(4, 2)\EDG[] 108.38/27.38 ************************************************** 109.08/27.54 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]} 109.08/27.54 in Apply (Worker Remap) (First_Of ([ yeah] <> noh)) 109.93/27.79 EOF