161.08/40.73 YES 161.08/40.73 property Termination 161.08/40.73 has value True 161.08/40.73 for SRS ( [a, a, b] -> [b, a, a, a], [b, a, b, a] -> [a, b, b]) 161.08/40.73 reason 161.08/40.73 remap for 2 rules 161.08/40.73 property Termination 161.08/40.73 has value True 161.08/40.73 for SRS ( [0, 0, 1] -> [1, 0, 0, 0], [1, 0, 1, 0] -> [0, 1, 1]) 161.08/40.73 reason 161.08/40.73 reverse each lhs and rhs 161.08/40.73 property Termination 161.08/40.73 has value True 161.08/40.73 for SRS ( [1, 0, 0] -> [0, 0, 0, 1], [0, 1, 0, 1] -> [1, 1, 0]) 161.08/40.73 reason 161.08/40.73 DP transform 161.08/40.73 property Termination 161.08/40.73 has value True 161.08/40.73 for SRS ( [1, 0, 0] ->= [0, 0, 0, 1], [0, 1, 0, 1] ->= [1, 1, 0], [1#, 0, 0] |-> [0#, 0, 0, 1], [1#, 0, 0] |-> [0#, 0, 1], [1#, 0, 0] |-> [0#, 1], [1#, 0, 0] |-> [1#], [0#, 1, 0, 1] |-> [1#, 1, 0], [0#, 1, 0, 1] |-> [1#, 0], [0#, 1, 0, 1] |-> [0#]) 161.08/40.73 reason 161.08/40.73 remap for 9 rules 161.08/40.73 property Termination 161.08/40.73 has value True 161.08/40.73 for SRS ( [0, 1, 1] ->= [1, 1, 1, 0], [1, 0, 1, 0] ->= [0, 0, 1], [2, 1, 1] |-> [3, 1, 1, 0], [2, 1, 1] |-> [3, 1, 0], [2, 1, 1] |-> [3, 0], [2, 1, 1] |-> [2], [3, 0, 1, 0] |-> [2, 0, 1], [3, 0, 1, 0] |-> [2, 1], [3, 0, 1, 0] |-> [3]) 161.08/40.73 reason 161.31/40.75 weights 161.31/40.75 Map [(0, 1/3), (2, 1/3)] 161.31/40.75 161.31/40.75 property Termination 161.31/40.75 has value True 161.31/40.75 for SRS ( [0, 1, 1] ->= [1, 1, 1, 0], [1, 0, 1, 0] ->= [0, 0, 1], [2, 1, 1] |-> [3, 1, 1, 0], [2, 1, 1] |-> [3, 1, 0], [2, 1, 1] |-> [3, 0], [2, 1, 1] |-> [2], [3, 0, 1, 0] |-> [2, 0, 1]) 161.31/40.75 reason 161.31/40.75 EDG has 1 SCCs 161.31/40.75 property Termination 161.31/40.75 has value True 161.31/40.75 for SRS ( [2, 1, 1] |-> [3, 1, 1, 0], [3, 0, 1, 0] |-> [2, 0, 1], [2, 1, 1] |-> [2], [2, 1, 1] |-> [3, 0], [2, 1, 1] |-> [3, 1, 0], [0, 1, 1] ->= [1, 1, 1, 0], [1, 0, 1, 0] ->= [0, 0, 1]) 161.31/40.75 reason 161.31/40.75 Matrix { monotone = Weak, domain = Natural, bits = 3, dim = 4, solver = Minisatapi, verbose = False, tracing = False} 161.31/40.75 interpretation 161.31/40.75 0 Wk / 1 1 1 1 \ 161.31/40.75 | 1 0 0 0 | 161.31/40.75 | 0 0 1 0 | 161.31/40.75 \ 0 0 0 1 / 161.31/40.75 1 Wk / 1 0 1 1 \ 161.31/40.75 | 0 1 1 0 | 161.31/40.75 | 0 0 0 1 | 161.31/40.75 \ 0 0 0 1 / 161.31/40.75 2 Wk / 1 1 2 0 \ 161.31/40.75 | 0 0 0 4 | 161.31/40.75 | 0 0 0 4 | 161.31/40.75 \ 0 0 0 1 / 161.31/40.75 3 Wk / 1 0 0 2 \ 161.31/40.75 | 0 0 0 4 | 161.31/40.75 | 0 0 0 4 | 161.31/40.75 \ 0 0 0 1 / 161.31/40.75 [2, 1, 1] |-> [3, 1, 1, 0] 161.31/40.76 lhs rhs ge gt 161.31/40.76 Wk / 1 1 2 6 \ Wk / 1 1 2 6 \ True False 161.31/40.76 | 0 0 0 4 | | 0 0 0 4 | 161.31/40.76 | 0 0 0 4 | | 0 0 0 4 | 161.31/40.76 \ 0 0 0 1 / \ 0 0 0 1 / 161.31/40.76 [3, 0, 1, 0] |-> [2, 0, 1] 161.31/40.76 lhs rhs ge gt 161.31/40.76 Wk / 2 1 3 6 \ Wk / 2 1 3 6 \ True False 161.31/40.76 | 0 0 0 4 | | 0 0 0 4 | 161.31/40.76 | 0 0 0 4 | | 0 0 0 4 | 161.31/40.76 \ 0 0 0 1 / \ 0 0 0 1 / 161.31/40.76 [2, 1, 1] |-> [2] 161.31/40.76 lhs rhs ge gt 161.31/40.76 Wk / 1 1 2 6 \ Wk / 1 1 2 0 \ True True 161.31/40.76 | 0 0 0 4 | | 0 0 0 4 | 161.31/40.76 | 0 0 0 4 | | 0 0 0 4 | 161.31/40.76 \ 0 0 0 1 / \ 0 0 0 1 / 161.31/40.76 [2, 1, 1] |-> [3, 0] 161.39/40.77 lhs rhs ge gt 161.39/40.77 Wk / 1 1 2 6 \ Wk / 1 1 1 3 \ True True 161.39/40.77 | 0 0 0 4 | | 0 0 0 4 | 161.39/40.77 | 0 0 0 4 | | 0 0 0 4 | 161.39/40.77 \ 0 0 0 1 / \ 0 0 0 1 / 161.39/40.77 [2, 1, 1] |-> [3, 1, 0] 161.39/40.77 lhs rhs ge gt 161.39/40.77 Wk / 1 1 2 6 \ Wk / 1 1 2 4 \ True True 161.39/40.77 | 0 0 0 4 | | 0 0 0 4 | 161.39/40.77 | 0 0 0 4 | | 0 0 0 4 | 161.39/40.77 \ 0 0 0 1 / \ 0 0 0 1 / 161.39/40.77 [0, 1, 1] ->= [1, 1, 1, 0] 161.39/40.77 lhs rhs ge gt 161.39/40.77 Wk / 1 1 2 6 \ Wk / 1 1 2 6 \ True False 161.39/40.77 | 1 0 1 3 | | 1 0 1 2 | 161.39/40.77 | 0 0 0 1 | | 0 0 0 1 | 161.39/40.77 \ 0 0 0 1 / \ 0 0 0 1 / 161.39/40.80 [1, 0, 1, 0] ->= [0, 0, 1] 161.39/40.80 lhs rhs ge gt 161.39/40.80 Wk / 2 1 3 6 \ Wk / 2 1 3 6 \ True False 161.39/40.80 | 1 1 2 3 | | 1 1 2 3 | 161.39/40.80 | 0 0 0 1 | | 0 0 0 1 | 161.39/40.80 \ 0 0 0 1 / \ 0 0 0 1 / 161.39/40.80 property Termination 161.39/40.80 has value True 161.39/40.80 for SRS ( [2, 1, 1] |-> [3, 1, 1, 0], [3, 0, 1, 0] |-> [2, 0, 1], [0, 1, 1] ->= [1, 1, 1, 0], [1, 0, 1, 0] ->= [0, 0, 1]) 161.39/40.80 reason 161.39/40.80 EDG has 1 SCCs 161.39/40.80 property Termination 161.39/40.80 has value True 161.39/40.80 for SRS ( [2, 1, 1] |-> [3, 1, 1, 0], [3, 0, 1, 0] |-> [2, 0, 1], [0, 1, 1] ->= [1, 1, 1, 0], [1, 0, 1, 0] ->= [0, 0, 1]) 161.39/40.80 reason 161.39/40.80 Matrix { monotone = Weak, domain = Natural, bits = 3, dim = 4, solver = Minisatapi, verbose = False, tracing = False} 161.39/40.80 interpretation 161.39/40.80 0 Wk / 1 0 0 0 \ 161.39/40.80 | 0 0 1 2 | 161.39/40.80 | 0 1 1 0 | 161.39/40.80 \ 0 0 0 1 / 161.39/40.80 1 Wk / 0 0 0 2 \ 161.39/40.80 | 0 1 0 1 | 161.39/40.80 | 0 0 1 2 | 161.39/40.80 \ 0 0 0 1 / 161.39/40.80 2 Wk / 1 0 1 1 \ 161.39/40.80 | 0 0 0 4 | 161.39/40.80 | 0 0 0 4 | 161.39/40.80 \ 0 0 0 1 / 161.39/40.80 3 Wk / 1 1 0 0 \ 161.39/40.80 | 0 0 0 4 | 161.39/40.80 | 0 0 0 4 | 161.39/40.80 \ 0 0 0 1 / 161.39/40.80 [2, 1, 1] |-> [3, 1, 1, 0] 161.39/40.80 lhs rhs ge gt 161.39/40.80 Wk / 0 0 1 7 \ Wk / 0 0 1 6 \ True True 161.39/40.80 | 0 0 0 4 | | 0 0 0 4 | 161.39/40.80 | 0 0 0 4 | | 0 0 0 4 | 161.39/40.80 \ 0 0 0 1 / \ 0 0 0 1 / 161.39/40.80 [3, 0, 1, 0] |-> [2, 0, 1] 161.39/40.80 lhs rhs ge gt 161.39/40.80 Wk / 0 1 1 6 \ Wk / 0 1 1 6 \ True False 161.39/40.80 | 0 0 0 4 | | 0 0 0 4 | 161.39/40.80 | 0 0 0 4 | | 0 0 0 4 | 161.39/40.80 \ 0 0 0 1 / \ 0 0 0 1 / 161.39/40.80 [0, 1, 1] ->= [1, 1, 1, 0] 161.39/40.80 lhs rhs ge gt 161.39/40.80 Wk / 0 0 0 2 \ Wk / 0 0 0 2 \ True False 161.39/40.80 | 0 0 1 6 | | 0 0 1 5 | 161.39/40.80 | 0 1 1 6 | | 0 1 1 6 | 161.39/40.80 \ 0 0 0 1 / \ 0 0 0 1 / 161.39/40.80 [1, 0, 1, 0] ->= [0, 0, 1] 161.39/40.80 lhs rhs ge gt 161.39/40.80 Wk / 0 0 0 2 \ Wk / 0 0 0 2 \ True False 161.39/40.80 | 0 1 1 5 | | 0 1 1 5 | 161.39/40.80 | 0 1 2 7 | | 0 1 2 7 | 161.39/40.80 \ 0 0 0 1 / \ 0 0 0 1 / 161.39/40.80 property Termination 161.39/40.80 has value True 161.39/40.80 for SRS ( [3, 0, 1, 0] |-> [2, 0, 1], [0, 1, 1] ->= [1, 1, 1, 0], [1, 0, 1, 0] ->= [0, 0, 1]) 161.39/40.80 reason 161.39/40.80 weights 161.39/40.80 Map [(0, 1/1), (3, 1/1)] 161.39/40.80 161.39/40.80 property Termination 161.39/40.80 has value True 161.39/40.80 for SRS ( [0, 1, 1] ->= [1, 1, 1, 0], [1, 0, 1, 0] ->= [0, 0, 1]) 161.39/40.80 reason 161.39/40.80 EDG has 0 SCCs 161.39/40.80 161.39/40.80 ************************************************** 161.39/40.80 summary 161.39/40.80 ************************************************** 161.39/40.80 SRS with 2 rules on 2 letters Remap { tracing = False} 161.39/40.80 SRS with 2 rules on 2 letters reverse each lhs and rhs 161.39/40.80 SRS with 2 rules on 2 letters DP transform 161.39/40.80 SRS with 9 rules on 4 letters Remap { tracing = False} 161.39/40.80 SRS with 9 rules on 4 letters weights 161.39/40.80 SRS with 7 rules on 4 letters EDG 161.39/40.81 SRS with 7 rules on 4 letters Matrix { monotone = Weak, domain = Natural, bits = 3, dim = 4, solver = Minisatapi, verbose = False, tracing = False} 161.39/40.81 SRS with 4 rules on 4 letters EDG 161.39/40.81 SRS with 4 rules on 4 letters Matrix { monotone = Weak, domain = Natural, bits = 3, dim = 4, solver = Minisatapi, verbose = False, tracing = False} 161.39/40.81 SRS with 3 rules on 4 letters weights 161.39/40.81 SRS with 2 rules on 2 letters EDG 161.39/40.81 161.39/40.81 ************************************************** 161.39/40.81 (2, 2)\Deepee(9, 4)\Weight(7, 4)\Matrix{\Natural}{4}(4, 4)\Matrix{\Natural}{4}(3, 4)\Weight(2, 2)\EDG[] 161.39/40.81 ************************************************** 161.74/40.85 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]} 161.74/40.85 in Apply (Worker Remap) (First_Of ([ yeah] <> noh)) 162.25/41.03 EOF