12.42/3.15 YES 12.42/3.15 property Termination 12.42/3.15 has value True 12.42/3.15 for SRS ( [a, a] -> [b, b], [c, c, b] -> [d, c, a], [a] -> [d, c, c], [c, d] -> [b, c]) 12.42/3.15 reason 12.42/3.15 remap for 4 rules 12.42/3.15 property Termination 12.42/3.15 has value True 12.42/3.15 for SRS ( [0, 0] -> [1, 1], [2, 2, 1] -> [3, 2, 0], [0] -> [3, 2, 2], [2, 3] -> [1, 2]) 12.42/3.15 reason 12.42/3.15 reverse each lhs and rhs 12.42/3.15 property Termination 12.42/3.15 has value True 12.42/3.15 for SRS ( [0, 0] -> [1, 1], [1, 2, 2] -> [0, 2, 3], [0] -> [2, 2, 3], [3, 2] -> [2, 1]) 12.42/3.15 reason 12.42/3.15 DP transform 12.42/3.15 property Termination 12.42/3.15 has value True 12.42/3.15 for SRS ( [0, 0] ->= [1, 1], [1, 2, 2] ->= [0, 2, 3], [0] ->= [2, 2, 3], [3, 2] ->= [2, 1], [0#, 0] |-> [1#, 1], [0#, 0] |-> [1#], [1#, 2, 2] |-> [0#, 2, 3], [1#, 2, 2] |-> [3#], [0#] |-> [3#], [3#, 2] |-> [1#]) 12.42/3.15 reason 12.42/3.15 remap for 10 rules 12.42/3.15 property Termination 12.42/3.15 has value True 12.42/3.15 for SRS ( [0, 0] ->= [1, 1], [1, 2, 2] ->= [0, 2, 3], [0] ->= [2, 2, 3], [3, 2] ->= [2, 1], [4, 0] |-> [5, 1], [4, 0] |-> [5], [5, 2, 2] |-> [4, 2, 3], [5, 2, 2] |-> [6], [4] |-> [6], [6, 2] |-> [5]) 12.42/3.15 reason 12.42/3.15 EDG has 1 SCCs 12.42/3.15 property Termination 12.42/3.15 has value True 12.42/3.15 for SRS ( [5, 2, 2] |-> [4, 2, 3], [4] |-> [6], [6, 2] |-> [5], [5, 2, 2] |-> [6], [0, 0] ->= [1, 1], [1, 2, 2] ->= [0, 2, 3], [0] ->= [2, 2, 3], [3, 2] ->= [2, 1]) 12.42/3.15 reason 12.42/3.15 Matrix { monotone = Weak, domain = Arctic, bits = 4, dim = 3, solver = Minisatapi, verbose = False, tracing = True} 12.42/3.15 interpretation 12.42/3.15 0 / 3A 3A 3A \ 12.42/3.15 | 0A 0A 0A | 12.42/3.15 \ 0A 0A 0A / 12.42/3.15 1 / 0A 0A 3A \ 12.42/3.15 | -3A -3A 0A | 12.42/3.15 \ -3A -3A 0A / 12.42/3.15 2 / 0A 0A 3A \ 12.42/3.15 | 0A 0A 0A | 12.42/3.15 \ -3A 0A 0A / 12.42/3.15 3 / 0A 0A 0A \ 12.42/3.15 | 0A 0A 0A | 12.42/3.15 \ -3A -3A -3A / 12.42/3.15 4 / 3A 3A 3A \ 12.42/3.15 | 3A 3A 3A | 12.42/3.15 \ 3A 3A 3A / 12.42/3.15 5 / 3A 3A 4A \ 12.42/3.15 | 3A 3A 4A | 12.42/3.15 \ 3A 3A 4A / 12.42/3.15 6 / 3A 3A 3A \ 12.42/3.15 | 3A 3A 3A | 12.42/3.15 \ 3A 3A 3A / 12.42/3.15 [5, 2, 2] |-> [4, 2, 3] 12.42/3.15 lhs rhs ge gt 12.42/3.15 / 4A 6A 6A \ / 3A 3A 3A \ True True 12.42/3.15 | 4A 6A 6A | | 3A 3A 3A | 12.42/3.15 \ 4A 6A 6A / \ 3A 3A 3A / 12.42/3.15 [4] |-> [6] 12.42/3.15 lhs rhs ge gt 12.42/3.15 / 3A 3A 3A \ / 3A 3A 3A \ True False 12.42/3.15 | 3A 3A 3A | | 3A 3A 3A | 12.42/3.15 \ 3A 3A 3A / \ 3A 3A 3A / 12.42/3.15 [6, 2] |-> [5] 12.42/3.15 lhs rhs ge gt 12.42/3.15 / 3A 3A 6A \ / 3A 3A 4A \ True False 12.42/3.15 | 3A 3A 6A | | 3A 3A 4A | 12.42/3.15 \ 3A 3A 6A / \ 3A 3A 4A / 12.42/3.15 [5, 2, 2] |-> [6] 12.42/3.15 lhs rhs ge gt 12.42/3.15 / 4A 6A 6A \ / 3A 3A 3A \ True True 12.42/3.15 | 4A 6A 6A | | 3A 3A 3A | 12.42/3.15 \ 4A 6A 6A / \ 3A 3A 3A / 12.42/3.15 [0, 0] ->= [1, 1] 12.42/3.15 lhs rhs ge gt 12.42/3.15 / 6A 6A 6A \ / 0A 0A 3A \ True True 12.42/3.15 | 3A 3A 3A | | -3A -3A 0A | 12.42/3.15 \ 3A 3A 3A / \ -3A -3A 0A / 12.42/3.15 [1, 2, 2] ->= [0, 2, 3] 12.42/3.15 lhs rhs ge gt 12.42/3.15 / 3A 3A 3A \ / 3A 3A 3A \ True False 12.42/3.15 | 0A 0A 0A | | 0A 0A 0A | 12.42/3.15 \ 0A 0A 0A / \ 0A 0A 0A / 12.42/3.15 [0] ->= [2, 2, 3] 12.42/3.15 lhs rhs ge gt 12.42/3.15 / 3A 3A 3A \ / 3A 3A 3A \ True False 12.42/3.15 | 0A 0A 0A | | 0A 0A 0A | 12.42/3.15 \ 0A 0A 0A / \ 0A 0A 0A / 12.42/3.15 [3, 2] ->= [2, 1] 12.42/3.15 lhs rhs ge gt 12.42/3.15 / 0A 0A 3A \ / 0A 0A 3A \ True False 12.42/3.15 | 0A 0A 3A | | 0A 0A 3A | 12.42/3.15 \ -3A -3A 0A / \ -3A -3A 0A / 12.42/3.15 property Termination 12.42/3.15 has value True 12.42/3.15 for SRS ( [4] |-> [6], [6, 2] |-> [5], [0, 0] ->= [1, 1], [1, 2, 2] ->= [0, 2, 3], [0] ->= [2, 2, 3], [3, 2] ->= [2, 1]) 12.42/3.15 reason 12.42/3.15 weights 12.42/3.15 Map [(4, 2/1), (6, 1/1)] 12.42/3.15 12.42/3.15 property Termination 12.42/3.15 has value True 12.42/3.15 for SRS ( [0, 0] ->= [1, 1], [1, 2, 2] ->= [0, 2, 3], [0] ->= [2, 2, 3], [3, 2] ->= [2, 1]) 12.42/3.15 reason 12.42/3.15 EDG has 0 SCCs 12.42/3.15 12.42/3.15 ************************************************** 12.42/3.15 summary 12.42/3.15 ************************************************** 12.42/3.15 SRS with 4 rules on 4 letters Remap { tracing = False} 12.42/3.15 SRS with 4 rules on 4 letters reverse each lhs and rhs 12.42/3.15 SRS with 4 rules on 4 letters DP transform 12.42/3.15 SRS with 10 rules on 7 letters Remap { tracing = False} 12.42/3.15 SRS with 10 rules on 7 letters EDG 12.42/3.15 SRS with 8 rules on 7 letters Matrix { monotone = Weak, domain = Arctic, bits = 4, dim = 3, solver = Minisatapi, verbose = False, tracing = True} 12.42/3.15 SRS with 6 rules on 7 letters weights 12.42/3.15 SRS with 4 rules on 4 letters EDG 12.42/3.15 12.42/3.15 ************************************************** 12.42/3.15 (4, 4)\Deepee(10, 7)\EDG(8, 7)\Matrix{\Arctic}{3}(6, 7)\Weight(4, 4)\EDG[] 12.42/3.15 ************************************************** 12.42/3.22 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]} 12.42/3.22 in Apply (Worker Remap) (First_Of ([ yeah] <> noh)) 12.74/3.24 EOF