104.60/26.48 YES 104.60/26.48 property Termination 104.60/26.48 has value True 104.60/26.48 for SRS ( [a, b, a, a] -> [b, b, b, b], [b, b, a, b] -> [a, b, a, a], [b, a, b, b] -> [a, a, b, a]) 104.60/26.48 reason 104.60/26.48 remap for 3 rules 104.60/26.48 property Termination 104.60/26.48 has value True 104.60/26.48 for SRS ( [0, 1, 0, 0] -> [1, 1, 1, 1], [1, 1, 0, 1] -> [0, 1, 0, 0], [1, 0, 1, 1] -> [0, 0, 1, 0]) 104.60/26.48 reason 104.60/26.48 reverse each lhs and rhs 104.60/26.48 property Termination 104.60/26.48 has value True 104.60/26.48 for SRS ( [0, 0, 1, 0] -> [1, 1, 1, 1], [1, 0, 1, 1] -> [0, 0, 1, 0], [1, 1, 0, 1] -> [0, 1, 0, 0]) 104.60/26.48 reason 104.60/26.48 DP transform 104.60/26.48 property Termination 104.60/26.48 has value True 104.60/26.48 for SRS ( [0, 0, 1, 0] ->= [1, 1, 1, 1], [1, 0, 1, 1] ->= [0, 0, 1, 0], [1, 1, 0, 1] ->= [0, 1, 0, 0], [0#, 0, 1, 0] |-> [1#, 1, 1, 1], [0#, 0, 1, 0] |-> [1#, 1, 1], [0#, 0, 1, 0] |-> [1#, 1], [0#, 0, 1, 0] |-> [1#], [1#, 0, 1, 1] |-> [0#, 0, 1, 0], [1#, 0, 1, 1] |-> [0#, 1, 0], [1#, 0, 1, 1] |-> [1#, 0], [1#, 0, 1, 1] |-> [0#], [1#, 1, 0, 1] |-> [0#, 1, 0, 0], [1#, 1, 0, 1] |-> [1#, 0, 0], [1#, 1, 0, 1] |-> [0#, 0], [1#, 1, 0, 1] |-> [0#]) 104.60/26.48 reason 104.60/26.48 remap for 15 rules 104.60/26.48 property Termination 104.60/26.48 has value True 105.00/26.53 for SRS ( [0, 0, 1, 0] ->= [1, 1, 1, 1], [1, 0, 1, 1] ->= [0, 0, 1, 0], [1, 1, 0, 1] ->= [0, 1, 0, 0], [2, 0, 1, 0] |-> [3, 1, 1, 1], [2, 0, 1, 0] |-> [3, 1, 1], [2, 0, 1, 0] |-> [3, 1], [2, 0, 1, 0] |-> [3], [3, 0, 1, 1] |-> [2, 0, 1, 0], [3, 0, 1, 1] |-> [2, 1, 0], [3, 0, 1, 1] |-> [3, 0], [3, 0, 1, 1] |-> [2], [3, 1, 0, 1] |-> [2, 1, 0, 0], [3, 1, 0, 1] |-> [3, 0, 0], [3, 1, 0, 1] |-> [2, 0], [3, 1, 0, 1] |-> [2]) 105.00/26.53 reason 105.00/26.53 weights 105.00/26.53 Map [(0, 1/18), (1, 1/18)] 105.00/26.53 105.00/26.53 property Termination 105.00/26.53 has value True 105.00/26.53 for SRS ( [0, 0, 1, 0] ->= [1, 1, 1, 1], [1, 0, 1, 1] ->= [0, 0, 1, 0], [1, 1, 0, 1] ->= [0, 1, 0, 0], [2, 0, 1, 0] |-> [3, 1, 1, 1], [3, 0, 1, 1] |-> [2, 0, 1, 0], [3, 1, 0, 1] |-> [2, 1, 0, 0]) 105.00/26.53 reason 105.00/26.53 EDG has 1 SCCs 105.00/26.53 property Termination 105.00/26.53 has value True 105.00/26.53 for SRS ( [2, 0, 1, 0] |-> [3, 1, 1, 1], [3, 1, 0, 1] |-> [2, 1, 0, 0], [3, 0, 1, 1] |-> [2, 0, 1, 0], [0, 0, 1, 0] ->= [1, 1, 1, 1], [1, 0, 1, 1] ->= [0, 0, 1, 0], [1, 1, 0, 1] ->= [0, 1, 0, 0]) 105.00/26.53 reason 105.00/26.53 Matrix { monotone = Weak, domain = Arctic, bits = 4, dim = 5, solver = Minisatapi, verbose = False, tracing = True} 105.00/26.53 interpretation 105.00/26.53 0 / 0A 5A 5A 5A 5A \ 105.00/26.53 | 0A 5A 5A 5A 5A | 105.00/26.53 | 0A 5A 5A 5A 5A | 105.00/26.53 | 0A 0A 5A 5A 5A | 105.00/26.53 \ 0A 0A 0A 5A 5A / 105.00/26.53 1 / 5A 5A 5A 10A 10A \ 105.00/26.53 | 5A 5A 5A 5A 10A | 105.00/26.53 | 5A 5A 5A 5A 5A | 105.00/26.53 | 0A 0A 0A 5A 5A | 105.00/26.53 \ 0A 0A 0A 5A 5A / 105.00/26.53 2 / 1A 1A 1A 1A 1A \ 105.00/26.53 | 1A 1A 1A 1A 1A | 105.00/26.53 | 1A 1A 1A 1A 1A | 105.00/26.53 | 1A 1A 1A 1A 1A | 105.00/26.53 \ 1A 1A 1A 1A 1A / 105.00/26.53 3 / 1A 1A 1A 6A 6A \ 105.00/26.53 | 1A 1A 1A 6A 6A | 105.00/26.53 | 1A 1A 1A 6A 6A | 105.00/26.53 | 1A 1A 1A 6A 6A | 105.00/26.53 \ 1A 1A 1A 6A 6A / 105.00/26.53 [2, 0, 1, 0] |-> [3, 1, 1, 1] 105.00/26.53 lhs rhs ge gt 105.00/26.53 / 16A 16A 16A 21A 21A \ / 16A 16A 16A 21A 21A \ True False 105.00/26.53 | 16A 16A 16A 21A 21A | | 16A 16A 16A 21A 21A | 105.00/26.53 | 16A 16A 16A 21A 21A | | 16A 16A 16A 21A 21A | 105.00/26.53 | 16A 16A 16A 21A 21A | | 16A 16A 16A 21A 21A | 105.00/26.53 \ 16A 16A 16A 21A 21A / \ 16A 16A 16A 21A 21A / 105.00/26.53 [3, 1, 0, 1] |-> [2, 1, 0, 0] 105.00/26.53 lhs rhs ge gt 105.00/26.53 / 21A 21A 21A 21A 21A \ / 16A 21A 21A 21A 21A \ True False 105.00/26.53 | 21A 21A 21A 21A 21A | | 16A 21A 21A 21A 21A | 105.00/26.53 | 21A 21A 21A 21A 21A | | 16A 21A 21A 21A 21A | 105.00/26.53 | 21A 21A 21A 21A 21A | | 16A 21A 21A 21A 21A | 105.00/26.53 \ 21A 21A 21A 21A 21A / \ 16A 21A 21A 21A 21A / 105.00/26.53 [3, 0, 1, 1] |-> [2, 0, 1, 0] 105.00/26.53 lhs rhs ge gt 105.00/26.53 / 21A 21A 21A 26A 26A \ / 16A 16A 16A 21A 21A \ True True 105.00/26.53 | 21A 21A 21A 26A 26A | | 16A 16A 16A 21A 21A | 105.00/26.53 | 21A 21A 21A 26A 26A | | 16A 16A 16A 21A 21A | 105.00/26.53 | 21A 21A 21A 26A 26A | | 16A 16A 16A 21A 21A | 105.00/26.53 \ 21A 21A 21A 26A 26A / \ 16A 16A 16A 21A 21A / 105.00/26.53 [0, 0, 1, 0] ->= [1, 1, 1, 1] 105.00/26.53 lhs rhs ge gt 105.00/26.53 / 20A 20A 20A 25A 25A \ / 20A 20A 20A 25A 25A \ True False 105.00/26.53 | 20A 20A 20A 25A 25A | | 20A 20A 20A 25A 25A | 105.00/26.53 | 20A 20A 20A 25A 25A | | 20A 20A 20A 25A 25A | 105.00/26.53 | 20A 20A 20A 25A 25A | | 15A 15A 15A 20A 20A | 105.00/26.53 \ 15A 20A 20A 20A 20A / \ 15A 15A 15A 20A 20A / 105.00/26.53 [1, 0, 1, 1] ->= [0, 0, 1, 0] 105.00/26.53 lhs rhs ge gt 105.00/26.53 / 25A 25A 25A 30A 30A \ / 20A 20A 20A 25A 25A \ True False 105.00/26.53 | 20A 20A 20A 25A 25A | | 20A 20A 20A 25A 25A | 105.00/26.53 | 20A 20A 20A 25A 25A | | 20A 20A 20A 25A 25A | 105.00/26.53 | 20A 20A 20A 25A 25A | | 20A 20A 20A 25A 25A | 105.00/26.53 \ 20A 20A 20A 25A 25A / \ 15A 20A 20A 20A 20A / 105.00/26.53 [1, 1, 0, 1] ->= [0, 1, 0, 0] 105.00/26.53 lhs rhs ge gt 105.00/26.53 / 25A 25A 25A 25A 25A \ / 20A 20A 25A 25A 25A \ True False 105.00/26.53 | 25A 25A 25A 25A 25A | | 20A 20A 25A 25A 25A | 105.00/26.53 | 25A 25A 25A 25A 25A | | 20A 20A 25A 25A 25A | 105.00/26.53 | 20A 20A 20A 20A 20A | | 15A 20A 20A 20A 20A | 105.00/26.53 \ 20A 20A 20A 20A 20A / \ 15A 20A 20A 20A 20A / 105.00/26.53 property Termination 105.00/26.53 has value True 105.00/26.54 for SRS ( [2, 0, 1, 0] |-> [3, 1, 1, 1], [3, 1, 0, 1] |-> [2, 1, 0, 0], [0, 0, 1, 0] ->= [1, 1, 1, 1], [1, 0, 1, 1] ->= [0, 0, 1, 0], [1, 1, 0, 1] ->= [0, 1, 0, 0]) 105.00/26.54 reason 105.00/26.54 EDG has 1 SCCs 105.00/26.54 property Termination 105.00/26.54 has value True 105.00/26.54 for SRS ( [2, 0, 1, 0] |-> [3, 1, 1, 1], [3, 1, 0, 1] |-> [2, 1, 0, 0], [0, 0, 1, 0] ->= [1, 1, 1, 1], [1, 0, 1, 1] ->= [0, 0, 1, 0], [1, 1, 0, 1] ->= [0, 1, 0, 0]) 105.00/26.54 reason 105.00/26.54 Matrix { monotone = Weak, domain = Arctic, bits = 4, dim = 5, solver = Minisatapi, verbose = False, tracing = True} 105.00/26.54 interpretation 105.00/26.54 0 / 5A 5A 5A 5A 5A \ 105.00/26.54 | 0A 5A 5A 5A 5A | 105.00/26.54 | 0A 5A 5A 5A 5A | 105.00/26.54 | 0A 0A 5A 5A 5A | 105.00/26.54 \ 0A 0A 0A 5A 5A / 105.00/26.54 1 / 5A 5A 5A 10A 10A \ 105.00/26.54 | 5A 5A 5A 5A 10A | 105.00/26.54 | 5A 5A 5A 5A 5A | 105.00/26.54 | 0A 0A 0A 5A 5A | 105.00/26.54 \ 0A 0A 0A 5A 5A / 105.00/26.54 2 / 1A 1A 5A 5A 6A \ 105.00/26.54 | 1A 1A 5A 5A 6A | 105.00/26.54 | 1A 1A 5A 5A 6A | 105.00/26.54 | 1A 1A 5A 5A 6A | 105.00/26.54 \ 1A 1A 5A 5A 6A / 105.00/26.54 3 / 5A 5A 5A 5A 5A \ 105.00/26.54 | 5A 5A 5A 5A 5A | 105.00/26.54 | 5A 5A 5A 5A 5A | 105.00/26.54 | 5A 5A 5A 5A 5A | 105.00/26.54 \ 5A 5A 5A 5A 5A / 105.00/26.54 [2, 0, 1, 0] |-> [3, 1, 1, 1] 105.00/26.54 lhs rhs ge gt 105.00/26.54 / 20A 20A 21A 25A 25A \ / 20A 20A 20A 25A 25A \ True False 105.00/26.54 | 20A 20A 21A 25A 25A | | 20A 20A 20A 25A 25A | 105.00/26.54 | 20A 20A 21A 25A 25A | | 20A 20A 20A 25A 25A | 105.00/26.54 | 20A 20A 21A 25A 25A | | 20A 20A 20A 25A 25A | 105.00/26.54 \ 20A 20A 21A 25A 25A / \ 20A 20A 20A 25A 25A / 105.00/26.54 [3, 1, 0, 1] |-> [2, 1, 0, 0] 105.00/26.54 lhs rhs ge gt 105.00/26.54 / 25A 25A 25A 25A 25A \ / 20A 21A 21A 21A 21A \ True True 105.00/26.54 | 25A 25A 25A 25A 25A | | 20A 21A 21A 21A 21A | 105.00/26.54 | 25A 25A 25A 25A 25A | | 20A 21A 21A 21A 21A | 105.00/26.54 | 25A 25A 25A 25A 25A | | 20A 21A 21A 21A 21A | 105.00/26.54 \ 25A 25A 25A 25A 25A / \ 20A 21A 21A 21A 21A / 105.00/26.54 [0, 0, 1, 0] ->= [1, 1, 1, 1] 105.00/26.54 lhs rhs ge gt 105.00/26.54 / 20A 20A 25A 25A 25A \ / 20A 20A 20A 25A 25A \ True False 105.00/26.54 | 20A 20A 20A 25A 25A | | 20A 20A 20A 25A 25A | 105.00/26.54 | 20A 20A 20A 25A 25A | | 20A 20A 20A 25A 25A | 105.00/26.54 | 20A 20A 20A 25A 25A | | 15A 15A 15A 20A 20A | 105.00/26.54 \ 20A 20A 20A 20A 20A / \ 15A 15A 15A 20A 20A / 105.00/26.54 [1, 0, 1, 1] ->= [0, 0, 1, 0] 105.00/26.54 lhs rhs ge gt 105.00/26.54 / 25A 25A 25A 30A 30A \ / 20A 20A 25A 25A 25A \ True False 105.00/26.54 | 20A 20A 20A 25A 25A | | 20A 20A 20A 25A 25A | 105.00/26.54 | 20A 20A 20A 25A 25A | | 20A 20A 20A 25A 25A | 105.00/26.54 | 20A 20A 20A 25A 25A | | 20A 20A 20A 25A 25A | 105.00/26.54 \ 20A 20A 20A 25A 25A / \ 20A 20A 20A 20A 20A / 105.00/26.54 [1, 1, 0, 1] ->= [0, 1, 0, 0] 105.00/26.54 lhs rhs ge gt 105.00/26.54 / 25A 25A 25A 25A 25A \ / 20A 25A 25A 25A 25A \ True False 105.00/26.54 | 25A 25A 25A 25A 25A | | 20A 20A 25A 25A 25A | 105.00/26.54 | 25A 25A 25A 25A 25A | | 20A 20A 25A 25A 25A | 105.00/26.54 | 20A 20A 20A 20A 20A | | 20A 20A 20A 20A 20A | 105.00/26.54 \ 20A 20A 20A 20A 20A / \ 15A 20A 20A 20A 20A / 105.00/26.54 property Termination 105.00/26.54 has value True 105.00/26.54 for SRS ( [2, 0, 1, 0] |-> [3, 1, 1, 1], [0, 0, 1, 0] ->= [1, 1, 1, 1], [1, 0, 1, 1] ->= [0, 0, 1, 0], [1, 1, 0, 1] ->= [0, 1, 0, 0]) 105.00/26.54 reason 105.00/26.54 weights 105.00/26.54 Map [(2, 1/1)] 105.00/26.54 105.00/26.54 property Termination 105.00/26.54 has value True 105.00/26.54 for SRS ( [0, 0, 1, 0] ->= [1, 1, 1, 1], [1, 0, 1, 1] ->= [0, 0, 1, 0], [1, 1, 0, 1] ->= [0, 1, 0, 0]) 105.00/26.54 reason 105.00/26.54 EDG has 0 SCCs 105.00/26.54 105.00/26.54 ************************************************** 105.00/26.54 summary 105.00/26.54 ************************************************** 105.00/26.54 SRS with 3 rules on 2 letters Remap { tracing = False} 105.00/26.54 SRS with 3 rules on 2 letters reverse each lhs and rhs 105.00/26.54 SRS with 3 rules on 2 letters DP transform 105.00/26.54 SRS with 15 rules on 4 letters Remap { tracing = False} 105.00/26.54 SRS with 15 rules on 4 letters weights 105.00/26.54 SRS with 6 rules on 4 letters EDG 105.00/26.56 SRS with 6 rules on 4 letters Matrix { monotone = Weak, domain = Arctic, bits = 4, dim = 5, solver = Minisatapi, verbose = False, tracing = True} 105.00/26.56 SRS with 5 rules on 4 letters EDG 105.00/26.56 SRS with 5 rules on 4 letters Matrix { monotone = Weak, domain = Arctic, bits = 4, dim = 5, solver = Minisatapi, verbose = False, tracing = True} 105.00/26.56 SRS with 4 rules on 4 letters weights 105.00/26.56 SRS with 3 rules on 2 letters EDG 105.00/26.56 105.00/26.56 ************************************************** 105.00/26.56 (3, 2)\Deepee(15, 4)\Weight(6, 4)\Matrix{\Arctic}{5}(5, 4)\Matrix{\Arctic}{5}(4, 4)\Weight(3, 2)\EDG[] 105.00/26.56 ************************************************** 105.32/26.67 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]} 105.32/26.67 in Apply (Worker Remap) (First_Of ([ yeah] <> noh)) 106.12/26.87 EOF