4.01/1.04 YES 4.01/1.04 property Termination 4.01/1.04 has value True 4.01/1.04 for SRS ( [a, b, a] -> [a, b, b, a], [b, b, b] -> [b, b]) 4.01/1.04 reason 4.01/1.04 remap for 2 rules 4.01/1.04 property Termination 4.01/1.04 has value True 4.01/1.04 for SRS ( [0, 1, 0] -> [0, 1, 1, 0], [1, 1, 1] -> [1, 1]) 4.01/1.04 reason 4.01/1.04 DP transform 4.01/1.04 property Termination 4.01/1.04 has value True 4.01/1.04 for SRS ( [0, 1, 0] ->= [0, 1, 1, 0], [1, 1, 1] ->= [1, 1], [0#, 1, 0] |-> [0#, 1, 1, 0], [0#, 1, 0] |-> [1#, 1, 0]) 4.01/1.04 reason 4.01/1.04 remap for 4 rules 4.01/1.04 property Termination 4.01/1.04 has value True 4.01/1.04 for SRS ( [0, 1, 0] ->= [0, 1, 1, 0], [1, 1, 1] ->= [1, 1], [2, 1, 0] |-> [2, 1, 1, 0], [2, 1, 0] |-> [3, 1, 0]) 4.01/1.04 reason 4.01/1.04 weights 4.01/1.04 Map [(2, 1/1)] 4.01/1.04 4.01/1.04 property Termination 4.01/1.04 has value True 4.01/1.04 for SRS ( [0, 1, 0] ->= [0, 1, 1, 0], [1, 1, 1] ->= [1, 1], [2, 1, 0] |-> [2, 1, 1, 0]) 4.01/1.04 reason 4.01/1.04 EDG has 1 SCCs 4.01/1.04 property Termination 4.01/1.04 has value True 4.01/1.04 for SRS ( [2, 1, 0] |-> [2, 1, 1, 0], [0, 1, 0] ->= [0, 1, 1, 0], [1, 1, 1] ->= [1, 1]) 4.01/1.04 reason 4.01/1.04 Matrix { monotone = Weak, domain = Arctic, bits = 4, dim = 3, solver = Minisatapi, verbose = False, tracing = True} 4.01/1.04 interpretation 4.01/1.04 0 / 15A 15A 15A \ 4.01/1.04 | 15A 15A 15A | 4.01/1.04 \ 15A 15A 15A / 4.01/1.04 1 / 0A 0A 0A \ 4.01/1.04 | -3A -3A 0A | 4.01/1.04 \ -3A -3A -3A / 4.01/1.04 2 / 20A 23A 23A \ 4.01/1.04 | 20A 23A 23A | 4.01/1.04 \ 20A 23A 23A / 4.01/1.04 [2, 1, 0] |-> [2, 1, 1, 0] 4.01/1.04 lhs rhs ge gt 4.01/1.04 / 38A 38A 38A \ / 35A 35A 35A \ True True 4.01/1.04 | 38A 38A 38A | | 35A 35A 35A | 4.01/1.04 \ 38A 38A 38A / \ 35A 35A 35A / 4.01/1.04 [0, 1, 0] ->= [0, 1, 1, 0] 4.01/1.04 lhs rhs ge gt 4.01/1.04 / 30A 30A 30A \ / 30A 30A 30A \ True False 4.01/1.04 | 30A 30A 30A | | 30A 30A 30A | 4.01/1.04 \ 30A 30A 30A / \ 30A 30A 30A / 4.01/1.04 [1, 1, 1] ->= [1, 1] 4.01/1.04 lhs rhs ge gt 4.01/1.04 / 0A 0A 0A \ / 0A 0A 0A \ True False 4.01/1.04 | -3A -3A -3A | | -3A -3A -3A | 4.01/1.04 \ -3A -3A -3A / \ -3A -3A -3A / 4.01/1.04 property Termination 4.01/1.04 has value True 4.01/1.04 for SRS ( [0, 1, 0] ->= [0, 1, 1, 0], [1, 1, 1] ->= [1, 1]) 4.01/1.04 reason 4.01/1.04 EDG has 0 SCCs 4.01/1.04 4.01/1.04 ************************************************** 4.01/1.04 summary 4.01/1.04 ************************************************** 4.01/1.04 SRS with 2 rules on 2 letters Remap { tracing = False} 4.01/1.04 SRS with 2 rules on 2 letters DP transform 4.01/1.04 SRS with 4 rules on 4 letters Remap { tracing = False} 4.01/1.04 SRS with 4 rules on 4 letters weights 4.01/1.04 SRS with 3 rules on 3 letters EDG 4.01/1.04 SRS with 3 rules on 3 letters Matrix { monotone = Weak, domain = Arctic, bits = 4, dim = 3, solver = Minisatapi, verbose = False, tracing = True} 4.01/1.04 SRS with 2 rules on 2 letters EDG 4.01/1.04 4.01/1.04 ************************************************** 4.01/1.04 (2, 2)\Deepee(4, 4)\Weight(3, 3)\Matrix{\Arctic}{3}(2, 2)\EDG[] 4.01/1.04 ************************************************** 4.01/1.05 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]} 4.01/1.05 in Apply (Worker Remap) (First_Of ([ yeah] <> noh)) 4.01/1.08 EOF