72.75/18.38 YES 72.75/18.38 property Termination 72.75/18.38 has value True 72.75/18.40 for SRS ( [c, b, a, a] -> [a, a, b, c], [b, a, a, a] -> [a, a, a, b], [a, b, c] -> [c, b, a], [c, c, b, b] -> [b, b, c, c]) 72.75/18.40 reason 72.75/18.40 remap for 4 rules 72.75/18.40 property Termination 72.75/18.40 has value True 72.75/18.41 for SRS ( [0, 1, 2, 2] -> [2, 2, 1, 0], [1, 2, 2, 2] -> [2, 2, 2, 1], [2, 1, 0] -> [0, 1, 2], [0, 0, 1, 1] -> [1, 1, 0, 0]) 72.75/18.41 reason 72.75/18.41 reverse each lhs and rhs 72.75/18.41 property Termination 72.75/18.41 has value True 72.75/18.41 for SRS ( [2, 2, 1, 0] -> [0, 1, 2, 2], [2, 2, 2, 1] -> [1, 2, 2, 2], [0, 1, 2] -> [2, 1, 0], [1, 1, 0, 0] -> [0, 0, 1, 1]) 72.75/18.41 reason 72.75/18.41 DP transform 72.75/18.41 property Termination 72.75/18.41 has value True 72.75/18.41 for SRS ( [2, 2, 1, 0] ->= [0, 1, 2, 2], [2, 2, 2, 1] ->= [1, 2, 2, 2], [0, 1, 2] ->= [2, 1, 0], [1, 1, 0, 0] ->= [0, 0, 1, 1], [2#, 2, 1, 0] |-> [0#, 1, 2, 2], [2#, 2, 1, 0] |-> [1#, 2, 2], [2#, 2, 1, 0] |-> [2#, 2], [2#, 2, 1, 0] |-> [2#], [2#, 2, 2, 1] |-> [1#, 2, 2, 2], [2#, 2, 2, 1] |-> [2#, 2, 2], [2#, 2, 2, 1] |-> [2#, 2], [2#, 2, 2, 1] |-> [2#], [0#, 1, 2] |-> [2#, 1, 0], [0#, 1, 2] |-> [1#, 0], [0#, 1, 2] |-> [0#], [1#, 1, 0, 0] |-> [0#, 0, 1, 1], [1#, 1, 0, 0] |-> [0#, 1, 1], [1#, 1, 0, 0] |-> [1#, 1], [1#, 1, 0, 0] |-> [1#]) 72.75/18.41 reason 72.75/18.41 remap for 19 rules 72.75/18.41 property Termination 72.75/18.41 has value True 72.87/18.41 for SRS ( [0, 0, 1, 2] ->= [2, 1, 0, 0], [0, 0, 0, 1] ->= [1, 0, 0, 0], [2, 1, 0] ->= [0, 1, 2], [1, 1, 2, 2] ->= [2, 2, 1, 1], [3, 0, 1, 2] |-> [4, 1, 0, 0], [3, 0, 1, 2] |-> [5, 0, 0], [3, 0, 1, 2] |-> [3, 0], [3, 0, 1, 2] |-> [3], [3, 0, 0, 1] |-> [5, 0, 0, 0], [3, 0, 0, 1] |-> [3, 0, 0], [3, 0, 0, 1] |-> [3, 0], [3, 0, 0, 1] |-> [3], [4, 1, 0] |-> [3, 1, 2], [4, 1, 0] |-> [5, 2], [4, 1, 0] |-> [4], [5, 1, 2, 2] |-> [4, 2, 1, 1], [5, 1, 2, 2] |-> [4, 1, 1], [5, 1, 2, 2] |-> [5, 1], [5, 1, 2, 2] |-> [5]) 72.87/18.41 reason 72.87/18.41 weights 72.87/18.41 Map [(0, 1/21), (1, 1/21), (2, 1/21)] 72.87/18.41 72.87/18.41 property Termination 72.87/18.41 has value True 72.87/18.41 for SRS ( [0, 0, 1, 2] ->= [2, 1, 0, 0], [0, 0, 0, 1] ->= [1, 0, 0, 0], [2, 1, 0] ->= [0, 1, 2], [1, 1, 2, 2] ->= [2, 2, 1, 1], [3, 0, 1, 2] |-> [4, 1, 0, 0], [3, 0, 0, 1] |-> [5, 0, 0, 0], [4, 1, 0] |-> [3, 1, 2], [5, 1, 2, 2] |-> [4, 2, 1, 1]) 72.87/18.41 reason 72.87/18.41 EDG has 1 SCCs 72.87/18.41 property Termination 72.87/18.41 has value True 72.87/18.41 for SRS ( [3, 0, 1, 2] |-> [4, 1, 0, 0], [4, 1, 0] |-> [3, 1, 2], [3, 0, 0, 1] |-> [5, 0, 0, 0], [5, 1, 2, 2] |-> [4, 2, 1, 1], [0, 0, 1, 2] ->= [2, 1, 0, 0], [0, 0, 0, 1] ->= [1, 0, 0, 0], [2, 1, 0] ->= [0, 1, 2], [1, 1, 2, 2] ->= [2, 2, 1, 1]) 72.87/18.41 reason 72.87/18.41 Matrix { monotone = Weak, domain = Arctic, bits = 4, dim = 3, solver = Minisatapi, verbose = False, tracing = True} 72.87/18.41 interpretation 72.87/18.41 0 / 3A 3A 3A \ 72.87/18.41 | 3A 3A 3A | 72.87/18.41 \ 0A 0A 0A / 72.87/18.41 1 / 0A 0A 0A \ 72.87/18.41 | -3A -3A 0A | 72.87/18.41 \ -3A -3A 0A / 72.87/18.41 2 / 15A 15A 15A \ 72.87/18.41 | 15A 15A 15A | 72.87/18.41 \ 12A 15A 15A / 72.87/18.41 3 / 9A 10A 10A \ 72.87/18.41 | 9A 10A 10A | 72.87/18.41 \ 9A 10A 10A / 72.87/18.41 4 / 22A 23A 23A \ 72.87/18.41 | 22A 23A 23A | 72.87/18.41 \ 22A 23A 23A / 72.87/18.41 5 / 5A 5A 8A \ 72.87/18.41 | 5A 5A 8A | 72.87/18.41 \ 5A 5A 8A / 72.87/18.41 [3, 0, 1, 2] |-> [4, 1, 0, 0] 72.87/18.41 lhs rhs ge gt 72.87/18.41 / 28A 28A 28A \ / 28A 28A 28A \ True False 72.87/18.41 | 28A 28A 28A | | 28A 28A 28A | 72.87/18.41 \ 28A 28A 28A / \ 28A 28A 28A / 72.87/18.41 [4, 1, 0] |-> [3, 1, 2] 72.87/18.41 lhs rhs ge gt 72.87/18.41 / 25A 25A 25A \ / 24A 25A 25A \ True False 72.87/18.41 | 25A 25A 25A | | 24A 25A 25A | 72.87/18.41 \ 25A 25A 25A / \ 24A 25A 25A / 72.87/18.41 [3, 0, 0, 1] |-> [5, 0, 0, 0] 72.87/18.41 lhs rhs ge gt 72.87/18.41 / 16A 16A 16A \ / 14A 14A 14A \ True True 72.87/18.41 | 16A 16A 16A | | 14A 14A 14A | 72.87/18.41 \ 16A 16A 16A / \ 14A 14A 14A / 72.87/18.41 [5, 1, 2, 2] |-> [4, 2, 1, 1] 72.87/18.41 lhs rhs ge gt 72.87/18.41 / 38A 38A 38A \ / 38A 38A 38A \ True False 72.87/18.41 | 38A 38A 38A | | 38A 38A 38A | 72.87/18.41 \ 38A 38A 38A / \ 38A 38A 38A / 72.87/18.41 [0, 0, 1, 2] ->= [2, 1, 0, 0] 72.87/18.41 lhs rhs ge gt 72.87/18.41 / 21A 21A 21A \ / 21A 21A 21A \ True False 72.87/18.41 | 21A 21A 21A | | 21A 21A 21A | 72.87/18.41 \ 18A 18A 18A / \ 18A 18A 18A / 72.87/18.41 [0, 0, 0, 1] ->= [1, 0, 0, 0] 72.87/18.41 lhs rhs ge gt 72.87/18.41 / 9A 9A 9A \ / 9A 9A 9A \ True False 72.87/18.41 | 9A 9A 9A | | 6A 6A 6A | 72.87/18.41 \ 6A 6A 6A / \ 6A 6A 6A / 72.87/18.41 [2, 1, 0] ->= [0, 1, 2] 72.87/18.41 lhs rhs ge gt 72.87/18.41 / 18A 18A 18A \ / 18A 18A 18A \ True False 72.87/18.41 | 18A 18A 18A | | 18A 18A 18A | 72.87/18.41 \ 15A 15A 15A / \ 15A 15A 15A / 72.87/18.41 [1, 1, 2, 2] ->= [2, 2, 1, 1] 72.87/18.41 lhs rhs ge gt 72.87/18.41 / 30A 30A 30A \ / 30A 30A 30A \ True False 72.87/18.41 | 30A 30A 30A | | 30A 30A 30A | 72.87/18.41 \ 30A 30A 30A / \ 30A 30A 30A / 72.87/18.41 property Termination 72.87/18.41 has value True 72.87/18.41 for SRS ( [3, 0, 1, 2] |-> [4, 1, 0, 0], [4, 1, 0] |-> [3, 1, 2], [5, 1, 2, 2] |-> [4, 2, 1, 1], [0, 0, 1, 2] ->= [2, 1, 0, 0], [0, 0, 0, 1] ->= [1, 0, 0, 0], [2, 1, 0] ->= [0, 1, 2], [1, 1, 2, 2] ->= [2, 2, 1, 1]) 72.87/18.41 reason 72.87/18.41 weights 72.87/18.41 Map [(5, 1/1)] 72.87/18.41 72.87/18.41 property Termination 72.87/18.41 has value True 72.87/18.41 for SRS ( [3, 0, 1, 2] |-> [4, 1, 0, 0], [4, 1, 0] |-> [3, 1, 2], [0, 0, 1, 2] ->= [2, 1, 0, 0], [0, 0, 0, 1] ->= [1, 0, 0, 0], [2, 1, 0] ->= [0, 1, 2], [1, 1, 2, 2] ->= [2, 2, 1, 1]) 72.87/18.41 reason 72.87/18.41 EDG has 1 SCCs 72.87/18.41 property Termination 72.87/18.41 has value True 72.87/18.41 for SRS ( [3, 0, 1, 2] |-> [4, 1, 0, 0], [4, 1, 0] |-> [3, 1, 2], [0, 0, 1, 2] ->= [2, 1, 0, 0], [0, 0, 0, 1] ->= [1, 0, 0, 0], [2, 1, 0] ->= [0, 1, 2], [1, 1, 2, 2] ->= [2, 2, 1, 1]) 72.87/18.41 reason 72.87/18.41 Matrix { monotone = Weak, domain = Arctic, bits = 4, dim = 3, solver = Minisatapi, verbose = False, tracing = True} 72.87/18.41 interpretation 72.87/18.41 0 / 0A 0A 0A \ 72.87/18.41 | 0A 0A 0A | 72.87/18.41 \ 0A 0A 0A / 72.87/18.41 1 / 0A 0A 0A \ 72.87/18.41 | -3A -3A 0A | 72.87/18.41 \ -3A -3A -3A / 72.87/18.41 2 / 3A 3A 3A \ 72.87/18.41 | 0A 3A 3A | 72.87/18.41 \ 0A 3A 3A / 72.87/18.41 3 / 19A 19A 20A \ 72.87/18.41 | 19A 19A 20A | 72.87/18.41 \ 19A 19A 20A / 72.87/18.41 4 / 22A 22A 25A \ 72.87/18.41 | 22A 22A 25A | 72.87/18.41 \ 22A 22A 25A / 72.87/18.41 [3, 0, 1, 2] |-> [4, 1, 0, 0] 72.87/18.41 lhs rhs ge gt 72.87/18.41 / 23A 23A 23A \ / 22A 22A 22A \ True True 72.87/18.41 | 23A 23A 23A | | 22A 22A 22A | 72.87/18.41 \ 23A 23A 23A / \ 22A 22A 22A / 72.87/18.41 [4, 1, 0] |-> [3, 1, 2] 72.87/18.41 lhs rhs ge gt 72.87/18.41 / 22A 22A 22A \ / 22A 22A 22A \ True False 72.87/18.41 | 22A 22A 22A | | 22A 22A 22A | 72.87/18.41 \ 22A 22A 22A / \ 22A 22A 22A / 72.87/18.41 [0, 0, 1, 2] ->= [2, 1, 0, 0] 72.87/18.41 lhs rhs ge gt 72.87/18.41 / 3A 3A 3A \ / 3A 3A 3A \ True False 72.87/18.41 | 3A 3A 3A | | 3A 3A 3A | 72.87/18.41 \ 3A 3A 3A / \ 3A 3A 3A / 72.87/18.41 [0, 0, 0, 1] ->= [1, 0, 0, 0] 72.87/18.41 lhs rhs ge gt 72.87/18.41 / 0A 0A 0A \ / 0A 0A 0A \ True False 72.87/18.41 | 0A 0A 0A | | 0A 0A 0A | 72.87/18.41 \ 0A 0A 0A / \ -3A -3A -3A / 72.87/18.41 [2, 1, 0] ->= [0, 1, 2] 72.87/18.41 lhs rhs ge gt 72.87/18.41 / 3A 3A 3A \ / 3A 3A 3A \ True False 72.87/18.41 | 3A 3A 3A | | 3A 3A 3A | 72.87/18.41 \ 3A 3A 3A / \ 3A 3A 3A / 72.87/18.41 [1, 1, 2, 2] ->= [2, 2, 1, 1] 72.87/18.41 lhs rhs ge gt 72.87/18.41 / 6A 6A 6A \ / 6A 6A 6A \ True False 72.87/18.41 | 3A 3A 3A | | 3A 3A 3A | 72.87/18.41 \ 3A 3A 3A / \ 3A 3A 3A / 72.87/18.41 property Termination 72.87/18.41 has value True 72.87/18.42 for SRS ( [4, 1, 0] |-> [3, 1, 2], [0, 0, 1, 2] ->= [2, 1, 0, 0], [0, 0, 0, 1] ->= [1, 0, 0, 0], [2, 1, 0] ->= [0, 1, 2], [1, 1, 2, 2] ->= [2, 2, 1, 1]) 72.87/18.42 reason 72.87/18.42 weights 72.87/18.42 Map [(0, 1/1), (4, 1/1)] 72.87/18.42 72.87/18.42 property Termination 72.87/18.42 has value True 72.87/18.42 for SRS ( [0, 0, 1, 2] ->= [2, 1, 0, 0], [0, 0, 0, 1] ->= [1, 0, 0, 0], [2, 1, 0] ->= [0, 1, 2], [1, 1, 2, 2] ->= [2, 2, 1, 1]) 72.87/18.42 reason 72.87/18.42 EDG has 0 SCCs 72.87/18.42 72.87/18.42 ************************************************** 72.87/18.42 summary 72.87/18.42 ************************************************** 72.87/18.42 SRS with 4 rules on 3 letters Remap { tracing = False} 72.87/18.42 SRS with 4 rules on 3 letters reverse each lhs and rhs 72.87/18.42 SRS with 4 rules on 3 letters DP transform 72.87/18.42 SRS with 19 rules on 6 letters Remap { tracing = False} 72.87/18.42 SRS with 19 rules on 6 letters weights 72.87/18.42 SRS with 8 rules on 6 letters EDG 72.87/18.42 SRS with 8 rules on 6 letters Matrix { monotone = Weak, domain = Arctic, bits = 4, dim = 3, solver = Minisatapi, verbose = False, tracing = True} 72.87/18.42 SRS with 7 rules on 6 letters weights 72.87/18.42 SRS with 6 rules on 5 letters EDG 72.87/18.42 SRS with 6 rules on 5 letters Matrix { monotone = Weak, domain = Arctic, bits = 4, dim = 3, solver = Minisatapi, verbose = False, tracing = True} 72.87/18.42 SRS with 5 rules on 5 letters weights 72.87/18.42 SRS with 4 rules on 3 letters EDG 72.87/18.42 72.87/18.42 ************************************************** 72.87/18.42 (4, 3)\Deepee(19, 6)\Weight(8, 6)\Matrix{\Arctic}{3}(7, 6)\Weight(6, 5)\Matrix{\Arctic}{3}(5, 5)\Weight(4, 3)\EDG[] 72.87/18.42 ************************************************** 72.96/18.44 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]} 72.96/18.44 in Apply (Worker Remap) (First_Of ([ yeah] <> noh)) 73.08/18.55 EOF