87.73/22.22 YES 87.73/22.22 property Termination 87.73/22.22 has value True 87.73/22.22 for SRS ( [a] -> [b], [a, c] -> [c, c, c, a, a, b], [b, b] -> []) 87.73/22.22 reason 87.73/22.22 remap for 3 rules 87.73/22.22 property Termination 87.73/22.22 has value True 87.73/22.22 for SRS ( [0] -> [1], [0, 2] -> [2, 2, 2, 0, 0, 1], [1, 1] -> []) 87.73/22.22 reason 87.73/22.22 reverse each lhs and rhs 87.73/22.22 property Termination 87.73/22.22 has value True 87.73/22.22 for SRS ( [0] -> [1], [2, 0] -> [1, 0, 0, 2, 2, 2], [1, 1] -> []) 87.73/22.22 reason 87.73/22.22 DP transform 87.73/22.22 property Termination 87.73/22.22 has value True 87.73/22.22 for SRS ( [0] ->= [1], [2, 0] ->= [1, 0, 0, 2, 2, 2], [1, 1] ->= [], [0#] |-> [1#], [2#, 0] |-> [1#, 0, 0, 2, 2, 2], [2#, 0] |-> [0#, 0, 2, 2, 2], [2#, 0] |-> [0#, 2, 2, 2], [2#, 0] |-> [2#, 2, 2], [2#, 0] |-> [2#, 2], [2#, 0] |-> [2#]) 87.73/22.22 reason 87.73/22.22 remap for 10 rules 87.73/22.22 property Termination 87.73/22.22 has value True 87.73/22.22 for SRS ( [0] ->= [1], [2, 0] ->= [1, 0, 0, 2, 2, 2], [1, 1] ->= [], [3] |-> [4], [5, 0] |-> [4, 0, 0, 2, 2, 2], [5, 0] |-> [3, 0, 2, 2, 2], [5, 0] |-> [3, 2, 2, 2], [5, 0] |-> [5, 2, 2], [5, 0] |-> [5, 2], [5, 0] |-> [5]) 87.73/22.22 reason 87.73/22.22 weights 87.73/22.22 Map [(3, 1/1), (5, 2/1)] 87.73/22.22 87.73/22.22 property Termination 87.73/22.22 has value True 87.73/22.22 for SRS ( [0] ->= [1], [2, 0] ->= [1, 0, 0, 2, 2, 2], [1, 1] ->= [], [5, 0] |-> [5, 2, 2], [5, 0] |-> [5, 2], [5, 0] |-> [5]) 87.73/22.22 reason 87.73/22.22 EDG has 1 SCCs 87.73/22.22 property Termination 87.73/22.22 has value True 87.73/22.22 for SRS ( [5, 0] |-> [5, 2, 2], [5, 0] |-> [5], [5, 0] |-> [5, 2], [0] ->= [1], [2, 0] ->= [1, 0, 0, 2, 2, 2], [1, 1] ->= []) 87.73/22.22 reason 87.99/22.22 Matrix { monotone = Weak, domain = Arctic, bits = 3, dim = 4, solver = Minisatapi, verbose = False, tracing = False} 87.99/22.22 interpretation 87.99/22.22 0 Wk / 3A 3A 0A 4A \ 87.99/22.22 | 0A 0A 0A 1A | 87.99/22.22 | 0A - 0A 3A | 87.99/22.22 \ - - - 0A / 87.99/22.22 1 Wk / - - 0A 1A \ 87.99/22.22 | - 0A - - | 87.99/22.22 | 0A - 0A - | 87.99/22.22 \ - - - 0A / 87.99/22.22 2 Wk / 0A 0A - - \ 87.99/22.22 | 0A - - 1A | 87.99/22.22 | 3A 2A 0A 1A | 87.99/22.22 \ - - - 0A / 87.99/22.22 5 Wk / 0A 2A - 2A \ 87.99/22.22 | 3A 4A 3A 3A | 87.99/22.22 | 3A 4A - - | 87.99/22.22 \ - - - 0A / 87.99/22.22 [5, 0] |-> [5, 2, 2] 87.99/22.22 lhs rhs ge gt 87.99/22.22 Wk / 3A 3A 2A 4A \ Wk / 2A 2A - 3A \ True False 87.99/22.22 | 6A 6A 4A 7A | | 6A 6A 3A 6A | 87.99/22.22 | 6A 6A 4A 7A | | 4A 4A - 5A | 87.99/22.22 \ - - - 0A / \ - - - 0A / 87.99/22.22 [5, 0] |-> [5] 87.99/22.24 lhs rhs ge gt 87.99/22.24 Wk / 3A 3A 2A 4A \ Wk / 0A 2A - 2A \ True True 87.99/22.24 | 6A 6A 4A 7A | | 3A 4A 3A 3A | 87.99/22.24 | 6A 6A 4A 7A | | 3A 4A - - | 87.99/22.24 \ - - - 0A / \ - - - 0A / 87.99/22.24 [5, 0] |-> [5, 2] 87.99/22.24 lhs rhs ge gt 88.16/22.26 Wk / 3A 3A 2A 4A \ Wk / 2A 0A - 3A \ True False 88.16/22.26 | 6A 6A 4A 7A | | 6A 5A 3A 5A | 88.16/22.26 | 6A 6A 4A 7A | | 4A 3A - 5A | 88.16/22.26 \ - - - 0A / \ - - - 0A / 88.16/22.26 [0] ->= [1] 88.16/22.26 lhs rhs ge gt 88.16/22.26 Wk / 3A 3A 0A 4A \ Wk / - - 0A 1A \ True False 88.16/22.26 | 0A 0A 0A 1A | | - 0A - - | 88.16/22.26 | 0A - 0A 3A | | 0A - 0A - | 88.16/22.26 \ - - - 0A / \ - - - 0A / 88.16/22.26 [2, 0] ->= [1, 0, 0, 2, 2, 2] 88.16/22.26 lhs rhs ge gt 88.16/22.26 Wk / 3A 3A 0A 4A \ Wk / 3A 3A 0A 4A \ True False 88.16/22.26 | 3A 3A 0A 4A | | 3A 3A 0A 4A | 88.16/22.26 | 6A 6A 3A 7A | | 6A 6A 3A 7A | 88.16/22.26 \ - - - 0A / \ - - - 0A / 88.16/22.26 [1, 1] ->= [] 88.16/22.28 lhs rhs ge gt 88.16/22.28 Wk / 0A - 0A 1A \ Wk / 0A - - - \ True False 88.16/22.28 | - 0A - - | | - 0A - - | 88.16/22.28 | 0A - 0A 1A | | - - 0A - | 88.16/22.28 \ - - - 0A / \ - - - 0A / 88.16/22.28 property Termination 88.16/22.28 has value True 88.16/22.28 for SRS ( [5, 0] |-> [5, 2, 2], [5, 0] |-> [5, 2], [0] ->= [1], [2, 0] ->= [1, 0, 0, 2, 2, 2], [1, 1] ->= []) 88.16/22.28 reason 88.16/22.28 EDG has 1 SCCs 88.16/22.28 property Termination 88.16/22.28 has value True 88.16/22.28 for SRS ( [5, 0] |-> [5, 2, 2], [5, 0] |-> [5, 2], [0] ->= [1], [2, 0] ->= [1, 0, 0, 2, 2, 2], [1, 1] ->= []) 88.16/22.28 reason 88.16/22.28 Matrix { monotone = Weak, domain = Arctic, bits = 3, dim = 4, solver = Minisatapi, verbose = False, tracing = False} 88.16/22.28 interpretation 88.16/22.28 0 Wk / - 0A - 3A \ 88.16/22.28 | 0A 1A - 3A | 88.16/22.28 | 3A 2A 0A - | 88.16/22.28 \ - - - 0A / 88.16/22.28 1 Wk / - 0A - 0A \ 88.16/22.28 | 0A - - - | 88.16/22.28 | 0A - 0A - | 88.16/22.28 \ - - - 0A / 88.16/22.28 2 Wk / - 1A - 2A \ 88.16/22.28 | - 0A - 0A | 88.16/22.28 | 0A 3A 0A 1A | 88.16/22.28 \ - - - 0A / 88.16/22.28 5 Wk / - 0A - 2A \ 88.16/22.28 | - - - - | 88.16/22.28 | - - - - | 88.16/22.28 \ - - - 0A / 88.16/22.28 [5, 0] |-> [5, 2, 2] 88.16/22.29 lhs rhs ge gt 88.16/22.29 Wk / 0A 1A - 3A \ Wk / - 0A - 2A \ True True 88.16/22.29 | - - - - | | - - - - | 88.16/22.29 | - - - - | | - - - - | 88.16/22.29 \ - - - 0A / \ - - - 0A / 88.16/22.29 [5, 0] |-> [5, 2] 88.16/22.29 lhs rhs ge gt 88.16/22.29 Wk / 0A 1A - 3A \ Wk / - 0A - 2A \ True True 88.16/22.29 | - - - - | | - - - - | 88.16/22.29 | - - - - | | - - - - | 88.16/22.29 \ - - - 0A / \ - - - 0A / 88.16/22.29 [0] ->= [1] 88.16/22.29 lhs rhs ge gt 88.16/22.29 Wk / - 0A - 3A \ Wk / - 0A - 0A \ True False 88.16/22.29 | 0A 1A - 3A | | 0A - - - | 88.16/22.29 | 3A 2A 0A - | | 0A - 0A - | 88.16/22.29 \ - - - 0A / \ - - - 0A / 88.16/22.29 [2, 0] ->= [1, 0, 0, 2, 2, 2] 88.16/22.31 lhs rhs ge gt 88.16/22.31 Wk / 1A 2A - 4A \ Wk / - 2A - 4A \ True False 88.16/22.31 | 0A 1A - 3A | | - 1A - 3A | 88.16/22.31 | 3A 4A 0A 6A | | 0A 4A 0A 6A | 88.16/22.31 \ - - - 0A / \ - - - 0A / 88.16/22.31 [1, 1] ->= [] 88.16/22.31 lhs rhs ge gt 88.16/22.31 Wk / 0A - - 0A \ Wk / 0A - - - \ True False 88.16/22.31 | - 0A - 0A | | - 0A - - | 88.16/22.31 | 0A 0A 0A 0A | | - - 0A - | 88.16/22.31 \ - - - 0A / \ - - - 0A / 88.16/22.31 property Termination 88.16/22.31 has value True 88.16/22.31 for SRS ( [0] ->= [1], [2, 0] ->= [1, 0, 0, 2, 2, 2], [1, 1] ->= []) 88.16/22.31 reason 88.16/22.31 EDG has 0 SCCs 88.16/22.31 88.16/22.31 ************************************************** 88.16/22.31 summary 88.16/22.31 ************************************************** 88.16/22.31 SRS with 3 rules on 3 letters Remap { tracing = False} 88.16/22.31 SRS with 3 rules on 3 letters reverse each lhs and rhs 88.16/22.31 SRS with 3 rules on 3 letters DP transform 88.16/22.31 SRS with 10 rules on 6 letters Remap { tracing = False} 88.16/22.31 SRS with 10 rules on 6 letters weights 88.16/22.31 SRS with 6 rules on 4 letters EDG 88.16/22.31 SRS with 6 rules on 4 letters Matrix { monotone = Weak, domain = Arctic, bits = 3, dim = 4, solver = Minisatapi, verbose = False, tracing = False} 88.16/22.32 SRS with 5 rules on 4 letters EDG 88.16/22.32 SRS with 5 rules on 4 letters Matrix { monotone = Weak, domain = Arctic, bits = 3, dim = 4, solver = Minisatapi, verbose = False, tracing = False} 88.16/22.32 SRS with 3 rules on 3 letters EDG 88.16/22.32 88.16/22.32 ************************************************** 88.16/22.32 (3, 3)\Deepee(10, 6)\Weight(6, 4)\Matrix{\Arctic}{4}(5, 4)\Matrix{\Arctic}{4}(3, 3)\EDG[] 88.16/22.32 ************************************************** 88.92/22.46 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]} 88.92/22.46 in Apply (Worker Remap) (First_Of ([ yeah] <> noh)) 89.36/22.61 EOF