177.23/44.92 YES 177.23/44.92 property Termination 177.23/44.92 has value True 177.23/44.92 for SRS ( [a, a, b, b] -> [b, b, c, c, a, a], [b, b, c, c] -> [c, c, b, b, b, b], [a, a, c, c] -> [c, c, a, a, b, b]) 177.23/44.92 reason 177.23/44.92 remap for 3 rules 177.23/44.92 property Termination 177.23/44.92 has value True 177.23/44.92 for SRS ( [0, 0, 1, 1] -> [1, 1, 2, 2, 0, 0], [1, 1, 2, 2] -> [2, 2, 1, 1, 1, 1], [0, 0, 2, 2] -> [2, 2, 0, 0, 1, 1]) 177.23/44.92 reason 177.23/44.92 reverse each lhs and rhs 177.23/44.92 property Termination 177.23/44.92 has value True 177.23/44.92 for SRS ( [1, 1, 0, 0] -> [0, 0, 2, 2, 1, 1], [2, 2, 1, 1] -> [1, 1, 1, 1, 2, 2], [2, 2, 0, 0] -> [1, 1, 0, 0, 2, 2]) 177.23/44.92 reason 177.23/44.92 DP transform 177.23/44.92 property Termination 177.23/44.92 has value True 177.23/44.92 for SRS ( [1, 1, 0, 0] ->= [0, 0, 2, 2, 1, 1], [2, 2, 1, 1] ->= [1, 1, 1, 1, 2, 2], [2, 2, 0, 0] ->= [1, 1, 0, 0, 2, 2], [1#, 1, 0, 0] |-> [2#, 2, 1, 1], [1#, 1, 0, 0] |-> [2#, 1, 1], [1#, 1, 0, 0] |-> [1#, 1], [1#, 1, 0, 0] |-> [1#], [2#, 2, 1, 1] |-> [1#, 1, 1, 1, 2, 2], [2#, 2, 1, 1] |-> [1#, 1, 1, 2, 2], [2#, 2, 1, 1] |-> [1#, 1, 2, 2], [2#, 2, 1, 1] |-> [1#, 2, 2], [2#, 2, 1, 1] |-> [2#, 2], [2#, 2, 1, 1] |-> [2#], [2#, 2, 0, 0] |-> [1#, 1, 0, 0, 2, 2], [2#, 2, 0, 0] |-> [1#, 0, 0, 2, 2], [2#, 2, 0, 0] |-> [2#, 2], [2#, 2, 0, 0] |-> [2#]) 177.23/44.92 reason 177.23/44.92 remap for 17 rules 177.23/44.92 property Termination 177.23/44.92 has value True 177.23/44.94 for SRS ( [0, 0, 1, 1] ->= [1, 1, 2, 2, 0, 0], [2, 2, 0, 0] ->= [0, 0, 0, 0, 2, 2], [2, 2, 1, 1] ->= [0, 0, 1, 1, 2, 2], [3, 0, 1, 1] |-> [4, 2, 0, 0], [3, 0, 1, 1] |-> [4, 0, 0], [3, 0, 1, 1] |-> [3, 0], [3, 0, 1, 1] |-> [3], [4, 2, 0, 0] |-> [3, 0, 0, 0, 2, 2], [4, 2, 0, 0] |-> [3, 0, 0, 2, 2], [4, 2, 0, 0] |-> [3, 0, 2, 2], [4, 2, 0, 0] |-> [3, 2, 2], [4, 2, 0, 0] |-> [4, 2], [4, 2, 0, 0] |-> [4], [4, 2, 1, 1] |-> [3, 0, 1, 1, 2, 2], [4, 2, 1, 1] |-> [3, 1, 1, 2, 2], [4, 2, 1, 1] |-> [4, 2], [4, 2, 1, 1] |-> [4]) 177.23/44.94 reason 177.23/44.94 weights 177.23/44.94 Map [(1, 7/2), (4, 6/1)] 177.23/44.94 177.23/44.94 property Termination 177.23/44.94 has value True 177.23/44.94 for SRS ( [0, 0, 1, 1] ->= [1, 1, 2, 2, 0, 0], [2, 2, 0, 0] ->= [0, 0, 0, 0, 2, 2], [2, 2, 1, 1] ->= [0, 0, 1, 1, 2, 2], [4, 2, 0, 0] |-> [4, 2], [4, 2, 0, 0] |-> [4]) 177.23/44.94 reason 177.23/44.94 EDG has 1 SCCs 177.23/44.94 property Termination 177.23/44.94 has value True 177.23/44.94 for SRS ( [4, 2, 0, 0] |-> [4, 2], [4, 2, 0, 0] |-> [4], [0, 0, 1, 1] ->= [1, 1, 2, 2, 0, 0], [2, 2, 0, 0] ->= [0, 0, 0, 0, 2, 2], [2, 2, 1, 1] ->= [0, 0, 1, 1, 2, 2]) 177.23/44.94 reason 177.23/44.94 Matrix { monotone = Weak, domain = Arctic, bits = 3, dim = 4, solver = Minisatapi, verbose = False, tracing = False} 177.23/44.94 interpretation 177.23/44.94 0 Wk / - 0A 2A 2A \ 177.23/44.94 | 0A - - 0A | 177.23/44.94 | - - 0A - | 177.23/44.94 \ - - - 0A / 177.52/44.96 1 Wk / - 1A - 3A \ 177.52/44.96 | - - - 1A | 177.52/44.96 | - 0A - - | 177.52/44.96 \ - - - 0A / 177.52/44.96 2 Wk / - - 1A 0A \ 177.52/44.96 | 5A - - 7A | 177.52/44.96 | 0A - - - | 177.52/44.96 \ - - - 0A / 177.52/44.96 4 Wk / - - 1A 2A \ 177.52/44.96 | 1A - 3A - | 177.52/44.96 | - - 0A 0A | 177.52/44.96 \ - - - 0A / 177.52/44.96 [4, 2, 0, 0] |-> [4, 2] 177.52/44.96 lhs rhs ge gt 177.52/44.96 Wk / 1A - 3A 3A \ Wk / 1A - - 2A \ True False 177.52/44.96 | 3A - 5A 5A | | 3A - 2A 1A | 177.52/44.96 | 0A - 2A 2A | | 0A - - 0A | 177.52/44.96 \ - - - 0A / \ - - - 0A / 177.52/44.96 [4, 2, 0, 0] |-> [4] 177.52/44.96 lhs rhs ge gt 177.52/44.97 Wk / 1A - 3A 3A \ Wk / - - 1A 2A \ True True 177.52/44.97 | 3A - 5A 5A | | 1A - 3A - | 177.52/44.97 | 0A - 2A 2A | | - - 0A 0A | 177.52/44.97 \ - - - 0A / \ - - - 0A / 177.52/44.97 [0, 0, 1, 1] ->= [1, 1, 2, 2, 0, 0] 177.52/44.97 lhs rhs ge gt 177.52/44.97 Wk / - - - 3A \ Wk / - - - 3A \ True False 177.52/44.97 | - - - 3A | | - - - 1A | 177.52/44.97 | - - - 1A | | - - - 1A | 177.52/44.97 \ - - - 0A / \ - - - 0A / 177.52/44.97 [2, 2, 0, 0] ->= [0, 0, 0, 0, 2, 2] 177.52/44.97 lhs rhs ge gt 177.52/44.97 Wk / 1A - 3A 3A \ Wk / 1A - 3A 2A \ True False 177.52/44.97 | - - 6A 7A | | - - 6A 7A | 177.52/44.97 | - - 1A 0A | | - - 1A 0A | 177.52/44.97 \ - - - 0A / \ - - - 0A / 177.52/44.97 [2, 2, 1, 1] ->= [0, 0, 1, 1, 2, 2] 177.52/45.00 lhs rhs ge gt 177.52/45.00 Wk / - - - 4A \ Wk / - - - 3A \ True True 177.52/45.00 | - - - 7A | | - - - 3A | 177.52/45.00 | - - - 2A | | - - - 1A | 177.52/45.00 \ - - - 0A / \ - - - 0A / 177.52/45.00 property Termination 177.52/45.00 has value True 177.52/45.00 for SRS ( [4, 2, 0, 0] |-> [4, 2], [0, 0, 1, 1] ->= [1, 1, 2, 2, 0, 0], [2, 2, 0, 0] ->= [0, 0, 0, 0, 2, 2], [2, 2, 1, 1] ->= [0, 0, 1, 1, 2, 2]) 177.52/45.00 reason 177.52/45.00 EDG has 1 SCCs 177.52/45.00 property Termination 177.52/45.00 has value True 177.52/45.00 for SRS ( [4, 2, 0, 0] |-> [4, 2], [0, 0, 1, 1] ->= [1, 1, 2, 2, 0, 0], [2, 2, 0, 0] ->= [0, 0, 0, 0, 2, 2], [2, 2, 1, 1] ->= [0, 0, 1, 1, 2, 2]) 177.52/45.00 reason 177.52/45.00 Matrix { monotone = Weak, domain = Natural, bits = 3, dim = 4, solver = Minisatapi, verbose = False, tracing = False} 177.52/45.00 interpretation 177.52/45.00 0 Wk / 0 1 1 0 \ 177.52/45.00 | 0 1 2 0 | 177.52/45.00 | 0 0 0 1 | 177.52/45.00 \ 0 0 0 1 / 177.52/45.00 1 Wk / 0 0 0 1 \ 177.52/45.00 | 0 0 0 2 | 177.52/45.00 | 0 0 0 1 | 177.52/45.00 \ 0 0 0 1 / 177.52/45.00 2 Wk / 0 3 0 0 \ 177.52/45.00 | 1 0 1 0 | 177.52/45.00 | 0 0 1 0 | 177.52/45.00 \ 0 0 0 1 / 177.52/45.00 4 Wk / 1 0 0 0 \ 177.52/45.00 | 0 0 0 4 | 177.52/45.00 | 0 0 0 4 | 177.52/45.00 \ 0 0 0 1 / 177.52/45.00 [4, 2, 0, 0] |-> [4, 2] 177.74/45.02 lhs rhs ge gt 177.74/45.02 Wk / 0 3 6 6 \ Wk / 0 3 0 0 \ True True 177.74/45.02 | 0 0 0 4 | | 0 0 0 4 | 177.74/45.02 | 0 0 0 4 | | 0 0 0 4 | 177.74/45.02 \ 0 0 0 1 / \ 0 0 0 1 / 177.74/45.02 [0, 0, 1, 1] ->= [1, 1, 2, 2, 0, 0] 177.74/45.02 lhs rhs ge gt 177.74/45.02 Wk / 0 0 0 5 \ Wk / 0 0 0 1 \ True True 177.74/45.02 | 0 0 0 6 | | 0 0 0 2 | 177.74/45.02 | 0 0 0 1 | | 0 0 0 1 | 177.74/45.02 \ 0 0 0 1 / \ 0 0 0 1 / 177.74/45.02 [2, 2, 0, 0] ->= [0, 0, 0, 0, 2, 2] 177.74/45.02 lhs rhs ge gt 177.74/45.02 Wk / 0 3 6 6 \ Wk / 0 3 3 5 \ True True 177.74/45.02 | 0 3 6 7 | | 0 3 3 6 | 177.74/45.04 | 0 0 0 1 | | 0 0 0 1 | 177.74/45.04 \ 0 0 0 1 / \ 0 0 0 1 / 177.74/45.04 [2, 2, 1, 1] ->= [0, 0, 1, 1, 2, 2] 177.74/45.04 lhs rhs ge gt 177.74/45.04 Wk / 0 0 0 6 \ Wk / 0 0 0 5 \ True True 177.74/45.04 | 0 0 0 7 | | 0 0 0 6 | 177.74/45.04 | 0 0 0 1 | | 0 0 0 1 | 177.74/45.04 \ 0 0 0 1 / \ 0 0 0 1 / 177.74/45.04 property Termination 177.74/45.04 has value True 177.74/45.04 for SRS ( [0, 0, 1, 1] ->= [1, 1, 2, 2, 0, 0], [2, 2, 0, 0] ->= [0, 0, 0, 0, 2, 2], [2, 2, 1, 1] ->= [0, 0, 1, 1, 2, 2]) 177.74/45.04 reason 177.74/45.04 EDG has 0 SCCs 177.74/45.04 177.74/45.04 ************************************************** 177.74/45.04 summary 177.74/45.04 ************************************************** 177.74/45.04 SRS with 3 rules on 3 letters Remap { tracing = False} 177.74/45.04 SRS with 3 rules on 3 letters reverse each lhs and rhs 177.74/45.04 SRS with 3 rules on 3 letters DP transform 177.74/45.04 SRS with 17 rules on 5 letters Remap { tracing = False} 177.74/45.04 SRS with 17 rules on 5 letters weights 177.74/45.04 SRS with 5 rules on 4 letters EDG 177.74/45.04 SRS with 5 rules on 4 letters Matrix { monotone = Weak, domain = Arctic, bits = 3, dim = 4, solver = Minisatapi, verbose = False, tracing = False} 177.74/45.04 SRS with 4 rules on 4 letters EDG 177.74/45.04 SRS with 4 rules on 4 letters Matrix { monotone = Weak, domain = Natural, bits = 3, dim = 4, solver = Minisatapi, verbose = False, tracing = False} 177.74/45.04 SRS with 3 rules on 3 letters EDG 177.74/45.04 177.74/45.04 ************************************************** 177.92/45.07 (3, 3)\Deepee(17, 5)\Weight(5, 4)\Matrix{\Arctic}{4}(4, 4)\Matrix{\Natural}{4}(3, 3)\EDG[] 177.92/45.07 ************************************************** 178.68/45.25 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]} 178.68/45.25 in Apply (Worker Remap) (First_Of ([ yeah] <> noh)) 179.53/45.50 EOF