41.20/10.45 YES 41.20/10.45 property Termination 41.20/10.45 has value True 41.20/10.46 for SRS ( [a, a, b] -> [b, a, b], [b, a] -> [a, b, b], [b, c, a] -> [c, c, a, a, b]) 41.20/10.46 reason 41.20/10.46 remap for 3 rules 41.20/10.46 property Termination 41.20/10.46 has value True 41.20/10.46 for SRS ( [0, 0, 1] -> [1, 0, 1], [1, 0] -> [0, 1, 1], [1, 2, 0] -> [2, 2, 0, 0, 1]) 41.20/10.46 reason 41.20/10.46 DP transform 41.20/10.47 property Termination 41.20/10.47 has value True 41.48/10.48 for SRS ( [0, 0, 1] ->= [1, 0, 1], [1, 0] ->= [0, 1, 1], [1, 2, 0] ->= [2, 2, 0, 0, 1], [0#, 0, 1] |-> [1#, 0, 1], [1#, 0] |-> [0#, 1, 1], [1#, 0] |-> [1#, 1], [1#, 0] |-> [1#], [1#, 2, 0] |-> [0#, 0, 1], [1#, 2, 0] |-> [0#, 1], [1#, 2, 0] |-> [1#]) 41.48/10.48 reason 41.48/10.48 remap for 10 rules 41.48/10.48 property Termination 41.48/10.48 has value True 41.48/10.49 for SRS ( [0, 0, 1] ->= [1, 0, 1], [1, 0] ->= [0, 1, 1], [1, 2, 0] ->= [2, 2, 0, 0, 1], [3, 0, 1] |-> [4, 0, 1], [4, 0] |-> [3, 1, 1], [4, 0] |-> [4, 1], [4, 0] |-> [4], [4, 2, 0] |-> [3, 0, 1], [4, 2, 0] |-> [3, 1], [4, 2, 0] |-> [4]) 41.48/10.49 reason 41.48/10.49 EDG has 1 SCCs 41.48/10.49 property Termination 41.48/10.49 has value True 41.48/10.49 for SRS ( [3, 0, 1] |-> [4, 0, 1], [4, 2, 0] |-> [4], [4, 2, 0] |-> [3, 1], [4, 2, 0] |-> [3, 0, 1], [4, 0] |-> [4], [4, 0] |-> [4, 1], [4, 0] |-> [3, 1, 1], [0, 0, 1] ->= [1, 0, 1], [1, 0] ->= [0, 1, 1], [1, 2, 0] ->= [2, 2, 0, 0, 1]) 41.48/10.49 reason 41.48/10.50 Matrix { monotone = Weak, domain = Arctic, bits = 4, dim = 2, solver = Minisatapi, verbose = False, tracing = True} 41.48/10.50 interpretation 41.48/10.50 0 / 0A 2A \ 41.48/10.50 \ -2A 0A / 41.48/10.50 1 / 0A 0A \ 41.48/10.50 \ -2A 0A / 41.48/10.50 2 / 0A 0A \ 41.48/10.50 \ 0A 0A / 41.48/10.50 3 / 1A 3A \ 41.48/10.50 \ 1A 3A / 41.48/10.50 4 / 1A 3A \ 41.48/10.50 \ 1A 3A / 41.48/10.50 [3, 0, 1] |-> [4, 0, 1] 41.48/10.50 lhs rhs ge gt 41.48/10.50 / 1A 3A \ / 1A 3A \ True False 41.48/10.50 \ 1A 3A / \ 1A 3A / 41.48/10.50 [4, 2, 0] |-> [4] 41.48/10.50 lhs rhs ge gt 41.48/10.50 / 3A 5A \ / 1A 3A \ True True 41.48/10.50 \ 3A 5A / \ 1A 3A / 41.48/10.50 [4, 2, 0] |-> [3, 1] 41.48/10.50 lhs rhs ge gt 41.48/10.50 / 3A 5A \ / 1A 3A \ True True 41.48/10.50 \ 3A 5A / \ 1A 3A / 41.48/10.50 [4, 2, 0] |-> [3, 0, 1] 41.48/10.51 lhs rhs ge gt 41.48/10.51 / 3A 5A \ / 1A 3A \ True True 41.48/10.51 \ 3A 5A / \ 1A 3A / 41.48/10.51 [4, 0] |-> [4] 41.48/10.51 lhs rhs ge gt 41.48/10.51 / 1A 3A \ / 1A 3A \ True False 41.48/10.51 \ 1A 3A / \ 1A 3A / 41.48/10.51 [4, 0] |-> [4, 1] 41.48/10.51 lhs rhs ge gt 41.48/10.51 / 1A 3A \ / 1A 3A \ True False 41.48/10.51 \ 1A 3A / \ 1A 3A / 41.48/10.51 [4, 0] |-> [3, 1, 1] 41.48/10.51 lhs rhs ge gt 41.48/10.51 / 1A 3A \ / 1A 3A \ True False 41.48/10.51 \ 1A 3A / \ 1A 3A / 41.48/10.51 [0, 0, 1] ->= [1, 0, 1] 41.48/10.51 lhs rhs ge gt 41.48/10.51 / 0A 2A \ / 0A 2A \ True False 41.48/10.51 \ -2A 0A / \ -2A 0A / 41.48/10.51 [1, 0] ->= [0, 1, 1] 41.48/10.51 lhs rhs ge gt 41.48/10.51 / 0A 2A \ / 0A 2A \ True False 41.48/10.51 \ -2A 0A / \ -2A 0A / 41.48/10.51 [1, 2, 0] ->= [2, 2, 0, 0, 1] 41.48/10.51 lhs rhs ge gt 41.48/10.51 / 0A 2A \ / 0A 2A \ True False 41.48/10.51 \ 0A 2A / \ 0A 2A / 41.48/10.51 property Termination 41.48/10.51 has value True 41.48/10.51 for SRS ( [3, 0, 1] |-> [4, 0, 1], [4, 0] |-> [4], [4, 0] |-> [4, 1], [4, 0] |-> [3, 1, 1], [0, 0, 1] ->= [1, 0, 1], [1, 0] ->= [0, 1, 1], [1, 2, 0] ->= [2, 2, 0, 0, 1]) 41.48/10.51 reason 41.48/10.51 EDG has 1 SCCs 41.48/10.51 property Termination 41.48/10.51 has value True 41.48/10.51 for SRS ( [3, 0, 1] |-> [4, 0, 1], [4, 0] |-> [3, 1, 1], [4, 0] |-> [4, 1], [4, 0] |-> [4], [0, 0, 1] ->= [1, 0, 1], [1, 0] ->= [0, 1, 1], [1, 2, 0] ->= [2, 2, 0, 0, 1]) 41.48/10.51 reason 41.48/10.51 Matrix { monotone = Weak, domain = Arctic, bits = 4, dim = 3, solver = Minisatapi, verbose = False, tracing = True} 41.48/10.51 interpretation 41.48/10.51 0 / 0A 3A 3A \ 41.48/10.51 | 0A 3A 3A | 41.48/10.51 \ 0A 3A 3A / 41.48/10.51 1 / 0A 3A 3A \ 41.48/10.51 | -3A 0A 0A | 41.48/10.51 \ -3A 0A 0A / 41.48/10.51 2 / 0A 0A 0A \ 41.48/10.51 | -3A -3A 0A | 41.48/10.51 \ -3A -3A -3A / 41.48/10.51 3 / 25A 27A 28A \ 41.48/10.51 | 25A 27A 28A | 41.48/10.51 \ 25A 27A 28A / 41.48/10.51 4 / 26A 26A 26A \ 41.48/10.51 | 26A 26A 26A | 41.48/10.51 \ 26A 26A 26A / 41.48/10.51 [3, 0, 1] |-> [4, 0, 1] 41.48/10.51 lhs rhs ge gt 41.48/10.51 / 28A 31A 31A \ / 26A 29A 29A \ True True 41.48/10.51 | 28A 31A 31A | | 26A 29A 29A | 41.48/10.51 \ 28A 31A 31A / \ 26A 29A 29A / 41.48/10.51 [4, 0] |-> [3, 1, 1] 41.48/10.51 lhs rhs ge gt 41.48/10.51 / 26A 29A 29A \ / 25A 28A 28A \ True True 41.48/10.51 | 26A 29A 29A | | 25A 28A 28A | 41.48/10.51 \ 26A 29A 29A / \ 25A 28A 28A / 41.48/10.51 [4, 0] |-> [4, 1] 41.48/10.51 lhs rhs ge gt 41.48/10.51 / 26A 29A 29A \ / 26A 29A 29A \ True False 41.48/10.51 | 26A 29A 29A | | 26A 29A 29A | 41.48/10.51 \ 26A 29A 29A / \ 26A 29A 29A / 41.48/10.51 [4, 0] |-> [4] 41.48/10.51 lhs rhs ge gt 41.48/10.51 / 26A 29A 29A \ / 26A 26A 26A \ True False 41.48/10.51 | 26A 29A 29A | | 26A 26A 26A | 41.48/10.51 \ 26A 29A 29A / \ 26A 26A 26A / 41.48/10.51 [0, 0, 1] ->= [1, 0, 1] 41.48/10.51 lhs rhs ge gt 41.48/10.51 / 3A 6A 6A \ / 3A 6A 6A \ True False 41.48/10.51 | 3A 6A 6A | | 0A 3A 3A | 41.48/10.51 \ 3A 6A 6A / \ 0A 3A 3A / 41.48/10.51 [1, 0] ->= [0, 1, 1] 41.48/10.51 lhs rhs ge gt 41.48/10.51 / 3A 6A 6A \ / 0A 3A 3A \ True False 41.48/10.51 | 0A 3A 3A | | 0A 3A 3A | 41.48/10.51 \ 0A 3A 3A / \ 0A 3A 3A / 41.48/10.51 [1, 2, 0] ->= [2, 2, 0, 0, 1] 41.48/10.51 lhs rhs ge gt 41.48/10.51 / 3A 6A 6A \ / 3A 6A 6A \ True False 41.48/10.51 | 0A 3A 3A | | 0A 3A 3A | 41.48/10.51 \ 0A 3A 3A / \ 0A 3A 3A / 41.48/10.51 property Termination 41.48/10.51 has value True 41.48/10.51 for SRS ( [4, 0] |-> [4, 1], [4, 0] |-> [4], [0, 0, 1] ->= [1, 0, 1], [1, 0] ->= [0, 1, 1], [1, 2, 0] ->= [2, 2, 0, 0, 1]) 41.48/10.51 reason 41.48/10.51 EDG has 1 SCCs 41.48/10.51 property Termination 41.48/10.51 has value True 41.48/10.52 for SRS ( [4, 0] |-> [4, 1], [4, 0] |-> [4], [0, 0, 1] ->= [1, 0, 1], [1, 0] ->= [0, 1, 1], [1, 2, 0] ->= [2, 2, 0, 0, 1]) 41.48/10.52 reason 41.48/10.52 Matrix { monotone = Weak, domain = Arctic, bits = 4, dim = 3, solver = Minisatapi, verbose = False, tracing = True} 41.48/10.52 interpretation 41.48/10.52 0 / 0A 3A 3A \ 41.48/10.52 | 0A 3A 3A | 41.48/10.52 \ 0A 3A 3A / 41.48/10.52 1 / 0A 3A 3A \ 41.48/10.52 | -3A 0A 0A | 41.48/10.52 \ -3A 0A 0A / 41.48/10.52 2 / 0A 0A 0A \ 41.48/10.52 | -3A -3A 0A | 41.48/10.52 \ -3A -3A -3A / 41.48/10.52 4 / 22A 24A 24A \ 41.48/10.52 | 22A 24A 24A | 41.48/10.52 \ 22A 24A 24A / 41.48/10.52 [4, 0] |-> [4, 1] 41.48/10.52 lhs rhs ge gt 41.48/10.52 / 24A 27A 27A \ / 22A 25A 25A \ True True 41.48/10.52 | 24A 27A 27A | | 22A 25A 25A | 41.48/10.52 \ 24A 27A 27A / \ 22A 25A 25A / 41.48/10.52 [4, 0] |-> [4] 41.48/10.52 lhs rhs ge gt 41.48/10.52 / 24A 27A 27A \ / 22A 24A 24A \ True True 41.48/10.52 | 24A 27A 27A | | 22A 24A 24A | 41.48/10.52 \ 24A 27A 27A / \ 22A 24A 24A / 41.48/10.52 [0, 0, 1] ->= [1, 0, 1] 41.48/10.52 lhs rhs ge gt 41.48/10.52 / 3A 6A 6A \ / 3A 6A 6A \ True False 41.48/10.52 | 3A 6A 6A | | 0A 3A 3A | 41.48/10.52 \ 3A 6A 6A / \ 0A 3A 3A / 41.48/10.52 [1, 0] ->= [0, 1, 1] 41.48/10.52 lhs rhs ge gt 41.48/10.52 / 3A 6A 6A \ / 0A 3A 3A \ True False 41.48/10.52 | 0A 3A 3A | | 0A 3A 3A | 41.48/10.52 \ 0A 3A 3A / \ 0A 3A 3A / 41.48/10.52 [1, 2, 0] ->= [2, 2, 0, 0, 1] 41.48/10.52 lhs rhs ge gt 41.48/10.52 / 3A 6A 6A \ / 3A 6A 6A \ True False 41.48/10.52 | 0A 3A 3A | | 0A 3A 3A | 41.48/10.52 \ 0A 3A 3A / \ 0A 3A 3A / 41.48/10.52 property Termination 41.48/10.52 has value True 41.48/10.52 for SRS ( [0, 0, 1] ->= [1, 0, 1], [1, 0] ->= [0, 1, 1], [1, 2, 0] ->= [2, 2, 0, 0, 1]) 41.48/10.52 reason 41.48/10.52 EDG has 0 SCCs 41.48/10.52 41.48/10.52 ************************************************** 41.48/10.52 summary 41.48/10.52 ************************************************** 41.48/10.52 SRS with 3 rules on 3 letters Remap { tracing = False} 41.48/10.52 SRS with 3 rules on 3 letters DP transform 41.48/10.52 SRS with 10 rules on 5 letters Remap { tracing = False} 41.48/10.52 SRS with 10 rules on 5 letters EDG 41.48/10.52 SRS with 10 rules on 5 letters Matrix { monotone = Weak, domain = Arctic, bits = 4, dim = 2, solver = Minisatapi, verbose = False, tracing = True} 41.48/10.52 SRS with 7 rules on 5 letters EDG 41.48/10.52 SRS with 7 rules on 5 letters Matrix { monotone = Weak, domain = Arctic, bits = 4, dim = 3, solver = Minisatapi, verbose = False, tracing = True} 41.48/10.52 SRS with 5 rules on 4 letters EDG 41.48/10.52 SRS with 5 rules on 4 letters Matrix { monotone = Weak, domain = Arctic, bits = 4, dim = 3, solver = Minisatapi, verbose = False, tracing = True} 41.48/10.52 SRS with 3 rules on 3 letters EDG 41.48/10.52 41.48/10.52 ************************************************** 41.48/10.52 (3, 3)\Deepee(10, 5)\Matrix{\Arctic}{2}(7, 5)\Matrix{\Arctic}{3}(5, 4)\Matrix{\Arctic}{3}(3, 3)\EDG[] 41.48/10.52 ************************************************** 42.34/10.77 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]} 42.34/10.77 in Apply (Worker Remap) (First_Of ([ yeah] <> noh)) 42.89/10.96 EOF