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