44.24/11.21 YES 44.24/11.21 property Termination 44.24/11.21 has value True 44.24/11.21 for SRS ( [a, b, a, a] -> [a, a, b, a], [b, b, a, a] -> [a, a, a, b], [b, a, a, b] -> [b, b, b, a]) 44.24/11.21 reason 44.24/11.21 remap for 3 rules 44.24/11.21 property Termination 44.24/11.21 has value True 44.24/11.21 for SRS ( [0, 1, 0, 0] -> [0, 0, 1, 0], [1, 1, 0, 0] -> [0, 0, 0, 1], [1, 0, 0, 1] -> [1, 1, 1, 0]) 44.24/11.21 reason 44.24/11.21 reverse each lhs and rhs 44.24/11.21 property Termination 44.24/11.21 has value True 44.24/11.21 for SRS ( [0, 0, 1, 0] -> [0, 1, 0, 0], [0, 0, 1, 1] -> [1, 0, 0, 0], [1, 0, 0, 1] -> [0, 1, 1, 1]) 44.24/11.21 reason 44.24/11.21 DP transform 44.24/11.21 property Termination 44.24/11.21 has value True 44.24/11.21 for SRS ( [0, 0, 1, 0] ->= [0, 1, 0, 0], [0, 0, 1, 1] ->= [1, 0, 0, 0], [1, 0, 0, 1] ->= [0, 1, 1, 1], [0#, 0, 1, 0] |-> [0#, 1, 0, 0], [0#, 0, 1, 0] |-> [1#, 0, 0], [0#, 0, 1, 0] |-> [0#, 0], [0#, 0, 1, 1] |-> [1#, 0, 0, 0], [0#, 0, 1, 1] |-> [0#, 0, 0], [0#, 0, 1, 1] |-> [0#, 0], [0#, 0, 1, 1] |-> [0#], [1#, 0, 0, 1] |-> [0#, 1, 1, 1], [1#, 0, 0, 1] |-> [1#, 1, 1], [1#, 0, 0, 1] |-> [1#, 1]) 44.24/11.21 reason 44.24/11.21 remap for 13 rules 44.24/11.21 property Termination 44.24/11.21 has value True 44.24/11.21 for SRS ( [0, 0, 1, 0] ->= [0, 1, 0, 0], [0, 0, 1, 1] ->= [1, 0, 0, 0], [1, 0, 0, 1] ->= [0, 1, 1, 1], [2, 0, 1, 0] |-> [2, 1, 0, 0], [2, 0, 1, 0] |-> [3, 0, 0], [2, 0, 1, 0] |-> [2, 0], [2, 0, 1, 1] |-> [3, 0, 0, 0], [2, 0, 1, 1] |-> [2, 0, 0], [2, 0, 1, 1] |-> [2, 0], [2, 0, 1, 1] |-> [2], [3, 0, 0, 1] |-> [2, 1, 1, 1], [3, 0, 0, 1] |-> [3, 1, 1], [3, 0, 0, 1] |-> [3, 1]) 44.24/11.21 reason 44.24/11.21 weights 44.24/11.21 Map [(0, 1/12), (1, 1/12)] 44.24/11.21 44.24/11.21 property Termination 44.24/11.21 has value True 44.24/11.21 for SRS ( [0, 0, 1, 0] ->= [0, 1, 0, 0], [0, 0, 1, 1] ->= [1, 0, 0, 0], [1, 0, 0, 1] ->= [0, 1, 1, 1], [2, 0, 1, 0] |-> [2, 1, 0, 0], [2, 0, 1, 1] |-> [3, 0, 0, 0], [3, 0, 0, 1] |-> [2, 1, 1, 1]) 44.24/11.21 reason 44.24/11.21 EDG has 1 SCCs 44.24/11.21 property Termination 44.24/11.21 has value True 44.24/11.21 for SRS ( [2, 0, 1, 0] |-> [2, 1, 0, 0], [2, 0, 1, 1] |-> [3, 0, 0, 0], [3, 0, 0, 1] |-> [2, 1, 1, 1], [0, 0, 1, 0] ->= [0, 1, 0, 0], [0, 0, 1, 1] ->= [1, 0, 0, 0], [1, 0, 0, 1] ->= [0, 1, 1, 1]) 44.24/11.21 reason 44.24/11.21 Matrix { monotone = Weak, domain = Arctic, bits = 4, dim = 3, solver = Minisatapi, verbose = False, tracing = True} 44.24/11.21 interpretation 44.24/11.21 0 / 6A 6A 9A \ 44.24/11.21 | 6A 6A 6A | 44.24/11.21 \ 3A 3A 6A / 44.24/11.21 1 / 3A 6A 6A \ 44.24/11.21 | 3A 3A 6A | 44.24/11.21 \ 3A 3A 6A / 44.24/11.21 2 / 20A 20A 20A \ 44.24/11.21 | 20A 20A 20A | 44.24/11.21 \ 20A 20A 20A / 44.24/11.21 3 / 15A 17A 18A \ 44.24/11.21 | 15A 17A 18A | 44.24/11.21 \ 15A 17A 18A / 44.24/11.21 [2, 0, 1, 0] |-> [2, 1, 0, 0] 44.24/11.21 lhs rhs ge gt 44.24/11.21 / 38A 38A 41A \ / 38A 38A 41A \ True False 44.24/11.21 | 38A 38A 41A | | 38A 38A 41A | 44.24/11.21 \ 38A 38A 41A / \ 38A 38A 41A / 44.24/11.21 [2, 0, 1, 1] |-> [3, 0, 0, 0] 44.24/11.21 lhs rhs ge gt 44.24/11.21 / 38A 38A 41A \ / 35A 35A 38A \ True True 44.24/11.21 | 38A 38A 41A | | 35A 35A 38A | 44.24/11.21 \ 38A 38A 41A / \ 35A 35A 38A / 44.24/11.21 [3, 0, 0, 1] |-> [2, 1, 1, 1] 44.24/11.21 lhs rhs ge gt 44.24/11.21 / 35A 35A 38A \ / 35A 35A 38A \ True False 44.24/11.21 | 35A 35A 38A | | 35A 35A 38A | 44.24/11.21 \ 35A 35A 38A / \ 35A 35A 38A / 44.24/11.21 [0, 0, 1, 0] ->= [0, 1, 0, 0] 44.24/11.21 lhs rhs ge gt 44.24/11.21 / 24A 24A 27A \ / 24A 24A 27A \ True False 44.24/11.21 | 24A 24A 27A | | 24A 24A 27A | 44.24/11.21 \ 21A 21A 24A / \ 21A 21A 24A / 44.24/11.21 [0, 0, 1, 1] ->= [1, 0, 0, 0] 44.24/11.21 lhs rhs ge gt 44.24/11.21 / 24A 24A 27A \ / 24A 24A 27A \ True False 44.24/11.21 | 24A 24A 27A | | 21A 21A 24A | 44.24/11.21 \ 21A 21A 24A / \ 21A 21A 24A / 44.24/11.21 [1, 0, 0, 1] ->= [0, 1, 1, 1] 44.24/11.21 lhs rhs ge gt 44.24/11.21 / 24A 24A 27A \ / 24A 24A 27A \ True False 44.24/11.21 | 21A 21A 24A | | 21A 21A 24A | 44.24/11.21 \ 21A 21A 24A / \ 21A 21A 24A / 44.24/11.21 property Termination 44.24/11.21 has value True 44.24/11.21 for SRS ( [2, 0, 1, 0] |-> [2, 1, 0, 0], [3, 0, 0, 1] |-> [2, 1, 1, 1], [0, 0, 1, 0] ->= [0, 1, 0, 0], [0, 0, 1, 1] ->= [1, 0, 0, 0], [1, 0, 0, 1] ->= [0, 1, 1, 1]) 44.24/11.21 reason 44.24/11.21 weights 44.24/11.21 Map [(3, 1/1)] 44.24/11.21 44.24/11.21 property Termination 44.24/11.21 has value True 44.24/11.21 for SRS ( [2, 0, 1, 0] |-> [2, 1, 0, 0], [0, 0, 1, 0] ->= [0, 1, 0, 0], [0, 0, 1, 1] ->= [1, 0, 0, 0], [1, 0, 0, 1] ->= [0, 1, 1, 1]) 44.24/11.21 reason 44.24/11.21 EDG has 1 SCCs 44.24/11.21 property Termination 44.24/11.21 has value True 44.24/11.21 for SRS ( [2, 0, 1, 0] |-> [2, 1, 0, 0], [0, 0, 1, 0] ->= [0, 1, 0, 0], [0, 0, 1, 1] ->= [1, 0, 0, 0], [1, 0, 0, 1] ->= [0, 1, 1, 1]) 44.24/11.21 reason 44.24/11.21 Matrix { monotone = Weak, domain = Arctic, bits = 4, dim = 4, solver = Minisatapi, verbose = False, tracing = True} 44.24/11.21 interpretation 44.24/11.21 0 / 8A 8A 8A 8A \ 44.24/11.21 | 8A 8A 8A 8A | 44.24/11.21 | 8A 8A 8A 8A | 44.24/11.21 \ 4A 8A 8A 8A / 44.24/11.21 1 / 8A 8A 8A 8A \ 44.24/11.21 | 4A 4A 8A 8A | 44.24/11.21 | 4A 4A 4A 8A | 44.24/11.21 \ 4A 4A 4A 4A / 44.24/11.21 2 / 29A 29A 29A 33A \ 44.24/11.21 | 29A 29A 29A 33A | 44.24/11.21 | 29A 29A 29A 33A | 44.24/11.21 \ 29A 29A 29A 33A / 44.24/11.21 [2, 0, 1, 0] |-> [2, 1, 0, 0] 44.24/11.21 lhs rhs ge gt 44.24/11.21 / 57A 57A 57A 57A \ / 53A 53A 53A 53A \ True True 44.24/11.21 | 57A 57A 57A 57A | | 53A 53A 53A 53A | 44.24/11.21 | 57A 57A 57A 57A | | 53A 53A 53A 53A | 44.24/11.21 \ 57A 57A 57A 57A / \ 53A 53A 53A 53A / 44.24/11.21 [0, 0, 1, 0] ->= [0, 1, 0, 0] 44.24/11.21 lhs rhs ge gt 44.24/11.21 / 32A 32A 32A 32A \ / 32A 32A 32A 32A \ True False 44.24/11.21 | 32A 32A 32A 32A | | 32A 32A 32A 32A | 44.24/11.21 | 32A 32A 32A 32A | | 32A 32A 32A 32A | 44.24/11.21 \ 32A 32A 32A 32A / \ 32A 32A 32A 32A / 44.24/11.21 [0, 0, 1, 1] ->= [1, 0, 0, 0] 44.24/11.21 lhs rhs ge gt 44.24/11.21 / 32A 32A 32A 32A \ / 32A 32A 32A 32A \ True False 44.24/11.21 | 32A 32A 32A 32A | | 32A 32A 32A 32A | 44.24/11.21 | 32A 32A 32A 32A | | 32A 32A 32A 32A | 44.24/11.21 \ 32A 32A 32A 32A / \ 28A 28A 28A 28A / 44.24/11.21 [1, 0, 0, 1] ->= [0, 1, 1, 1] 44.24/11.21 lhs rhs ge gt 44.24/11.21 / 32A 32A 32A 32A \ / 32A 32A 32A 32A \ True False 44.24/11.21 | 32A 32A 32A 32A | | 32A 32A 32A 32A | 44.24/11.21 | 32A 32A 32A 32A | | 32A 32A 32A 32A | 44.24/11.21 \ 28A 28A 28A 28A / \ 28A 28A 28A 28A / 44.24/11.21 property Termination 44.24/11.21 has value True 44.24/11.21 for SRS ( [0, 0, 1, 0] ->= [0, 1, 0, 0], [0, 0, 1, 1] ->= [1, 0, 0, 0], [1, 0, 0, 1] ->= [0, 1, 1, 1]) 44.24/11.21 reason 44.24/11.21 EDG has 0 SCCs 44.24/11.21 44.24/11.21 ************************************************** 44.24/11.21 summary 44.24/11.21 ************************************************** 44.24/11.21 SRS with 3 rules on 2 letters Remap { tracing = False} 44.24/11.21 SRS with 3 rules on 2 letters reverse each lhs and rhs 44.24/11.21 SRS with 3 rules on 2 letters DP transform 44.24/11.21 SRS with 13 rules on 4 letters Remap { tracing = False} 44.24/11.21 SRS with 13 rules on 4 letters weights 44.24/11.21 SRS with 6 rules on 4 letters EDG 44.24/11.21 SRS with 6 rules on 4 letters Matrix { monotone = Weak, domain = Arctic, bits = 4, dim = 3, solver = Minisatapi, verbose = False, tracing = True} 44.24/11.21 SRS with 5 rules on 4 letters weights 44.24/11.21 SRS with 4 rules on 3 letters EDG 44.24/11.21 SRS with 4 rules on 3 letters Matrix { monotone = Weak, domain = Arctic, bits = 4, dim = 4, solver = Minisatapi, verbose = False, tracing = True} 44.24/11.21 SRS with 3 rules on 2 letters EDG 44.24/11.21 44.24/11.21 ************************************************** 44.24/11.22 (3, 2)\Deepee(13, 4)\Weight(6, 4)\Matrix{\Arctic}{3}(5, 4)\Weight(4, 3)\Matrix{\Arctic}{4}(3, 2)\EDG[] 44.24/11.22 ************************************************** 44.24/11.23 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]} 44.24/11.23 in Apply (Worker Remap) (First_Of ([ yeah] <> noh)) 44.68/11.41 EOF