159.18/40.31 YES 159.18/40.31 property Termination 159.18/40.31 has value True 159.18/40.31 for SRS ( [b, b, a, a] -> [a, b, a, a], [a, a, b, a] -> [b, b, a, a], [a, a, b, a] -> [b, b, b, b]) 159.18/40.31 reason 159.18/40.31 remap for 3 rules 159.18/40.31 property Termination 159.18/40.31 has value True 159.31/40.34 for SRS ( [0, 0, 1, 1] -> [1, 0, 1, 1], [1, 1, 0, 1] -> [0, 0, 1, 1], [1, 1, 0, 1] -> [0, 0, 0, 0]) 159.31/40.34 reason 159.31/40.34 DP transform 159.31/40.34 property Termination 159.31/40.34 has value True 159.31/40.34 for SRS ( [0, 0, 1, 1] ->= [1, 0, 1, 1], [1, 1, 0, 1] ->= [0, 0, 1, 1], [1, 1, 0, 1] ->= [0, 0, 0, 0], [0#, 0, 1, 1] |-> [1#, 0, 1, 1], [1#, 1, 0, 1] |-> [0#, 0, 1, 1], [1#, 1, 0, 1] |-> [0#, 1, 1], [1#, 1, 0, 1] |-> [1#, 1], [1#, 1, 0, 1] |-> [0#, 0, 0, 0], [1#, 1, 0, 1] |-> [0#, 0, 0], [1#, 1, 0, 1] |-> [0#, 0], [1#, 1, 0, 1] |-> [0#]) 159.31/40.34 reason 159.31/40.34 remap for 11 rules 159.31/40.34 property Termination 159.31/40.34 has value True 159.31/40.34 for SRS ( [0, 0, 1, 1] ->= [1, 0, 1, 1], [1, 1, 0, 1] ->= [0, 0, 1, 1], [1, 1, 0, 1] ->= [0, 0, 0, 0], [2, 0, 1, 1] |-> [3, 0, 1, 1], [3, 1, 0, 1] |-> [2, 0, 1, 1], [3, 1, 0, 1] |-> [2, 1, 1], [3, 1, 0, 1] |-> [3, 1], [3, 1, 0, 1] |-> [2, 0, 0, 0], [3, 1, 0, 1] |-> [2, 0, 0], [3, 1, 0, 1] |-> [2, 0], [3, 1, 0, 1] |-> [2]) 159.31/40.34 reason 159.31/40.34 weights 159.31/40.34 Map [(0, 1/9), (1, 1/9)] 159.31/40.34 159.31/40.34 property Termination 159.31/40.34 has value True 159.31/40.34 for SRS ( [0, 0, 1, 1] ->= [1, 0, 1, 1], [1, 1, 0, 1] ->= [0, 0, 1, 1], [1, 1, 0, 1] ->= [0, 0, 0, 0], [2, 0, 1, 1] |-> [3, 0, 1, 1], [3, 1, 0, 1] |-> [2, 0, 1, 1], [3, 1, 0, 1] |-> [2, 0, 0, 0]) 159.31/40.34 reason 159.31/40.34 EDG has 1 SCCs 159.31/40.34 property Termination 159.31/40.34 has value True 159.31/40.36 for SRS ( [2, 0, 1, 1] |-> [3, 0, 1, 1], [3, 1, 0, 1] |-> [2, 0, 0, 0], [3, 1, 0, 1] |-> [2, 0, 1, 1], [0, 0, 1, 1] ->= [1, 0, 1, 1], [1, 1, 0, 1] ->= [0, 0, 1, 1], [1, 1, 0, 1] ->= [0, 0, 0, 0]) 159.31/40.36 reason 159.31/40.36 Matrix { monotone = Weak, domain = Arctic, bits = 4, dim = 2, solver = Minisatapi, verbose = False, tracing = True} 159.31/40.36 interpretation 159.31/40.36 0 / 6A 8A \ 159.31/40.36 \ 6A 6A / 159.31/40.36 1 / 8A 8A \ 159.31/40.36 \ 6A 6A / 159.31/40.36 2 / 7A 9A \ 159.31/40.36 \ 7A 9A / 159.31/40.36 3 / 9A 9A \ 159.31/40.36 \ 9A 9A / 159.31/40.36 [2, 0, 1, 1] |-> [3, 0, 1, 1] 159.31/40.36 lhs rhs ge gt 159.31/40.36 / 31A 31A \ / 31A 31A \ True False 159.31/40.36 \ 31A 31A / \ 31A 31A / 159.31/40.36 [3, 1, 0, 1] |-> [2, 0, 0, 0] 159.31/40.36 lhs rhs ge gt 159.31/40.36 / 31A 31A \ / 29A 29A \ True True 159.31/40.36 \ 31A 31A / \ 29A 29A / 159.31/40.36 [3, 1, 0, 1] |-> [2, 0, 1, 1] 159.31/40.36 lhs rhs ge gt 159.31/40.36 / 31A 31A \ / 31A 31A \ True False 159.31/40.36 \ 31A 31A / \ 31A 31A / 159.31/40.36 [0, 0, 1, 1] ->= [1, 0, 1, 1] 159.31/40.36 lhs rhs ge gt 159.31/40.36 / 30A 30A \ / 30A 30A \ True False 159.31/40.36 \ 28A 28A / \ 28A 28A / 159.31/40.36 [1, 1, 0, 1] ->= [0, 0, 1, 1] 159.31/40.36 lhs rhs ge gt 159.31/40.36 / 30A 30A \ / 30A 30A \ True False 159.31/40.36 \ 28A 28A / \ 28A 28A / 159.31/40.36 [1, 1, 0, 1] ->= [0, 0, 0, 0] 159.31/40.36 lhs rhs ge gt 159.31/40.36 / 30A 30A \ / 28A 28A \ True False 159.31/40.36 \ 28A 28A / \ 26A 28A / 159.31/40.36 property Termination 159.31/40.36 has value True 159.31/40.36 for SRS ( [2, 0, 1, 1] |-> [3, 0, 1, 1], [3, 1, 0, 1] |-> [2, 0, 1, 1], [0, 0, 1, 1] ->= [1, 0, 1, 1], [1, 1, 0, 1] ->= [0, 0, 1, 1], [1, 1, 0, 1] ->= [0, 0, 0, 0]) 159.31/40.36 reason 159.31/40.36 EDG has 1 SCCs 159.31/40.36 property Termination 159.31/40.36 has value True 159.31/40.36 for SRS ( [2, 0, 1, 1] |-> [3, 0, 1, 1], [3, 1, 0, 1] |-> [2, 0, 1, 1], [0, 0, 1, 1] ->= [1, 0, 1, 1], [1, 1, 0, 1] ->= [0, 0, 1, 1], [1, 1, 0, 1] ->= [0, 0, 0, 0]) 159.31/40.36 reason 159.31/40.36 Matrix { monotone = Weak, domain = Natural, bits = 3, dim = 4, solver = Minisatapi, verbose = False, tracing = False} 159.31/40.36 interpretation 159.31/40.36 0 Wk / 0 1 0 0 \ 159.31/40.36 | 0 0 1 0 | 159.31/40.36 | 0 0 0 0 | 159.31/40.36 \ 0 0 0 1 / 159.31/40.36 1 Wk / 0 0 0 1 \ 159.31/40.36 | 0 0 0 0 | 159.31/40.36 | 1 0 0 0 | 159.31/40.36 \ 0 0 0 1 / 159.31/40.37 2 Wk / 0 0 0 2 \ 159.31/40.37 | 0 0 0 0 | 159.31/40.37 | 0 0 0 0 | 159.31/40.37 \ 0 0 0 1 / 159.31/40.37 3 Wk / 2 0 1 0 \ 159.31/40.37 | 0 0 0 0 | 159.31/40.37 | 0 0 0 0 | 159.31/40.37 \ 0 0 0 1 / 159.31/40.37 [2, 0, 1, 1] |-> [3, 0, 1, 1] 159.31/40.37 lhs rhs ge gt 159.31/40.37 Wk / 0 0 0 2 \ Wk / 0 0 0 0 \ True True 159.31/40.37 | 0 0 0 0 | | 0 0 0 0 | 159.31/40.37 | 0 0 0 0 | | 0 0 0 0 | 159.31/40.37 \ 0 0 0 1 / \ 0 0 0 1 / 159.31/40.37 [3, 1, 0, 1] |-> [2, 0, 1, 1] 159.31/40.37 lhs rhs ge gt 159.31/40.37 Wk / 0 0 0 2 \ Wk / 0 0 0 2 \ True False 159.31/40.37 | 0 0 0 0 | | 0 0 0 0 | 159.31/40.37 | 0 0 0 0 | | 0 0 0 0 | 159.31/40.37 \ 0 0 0 1 / \ 0 0 0 1 / 159.31/40.37 [0, 0, 1, 1] ->= [1, 0, 1, 1] 159.31/40.38 lhs rhs ge gt 159.31/40.38 Wk / 0 0 0 1 \ Wk / 0 0 0 1 \ True False 159.31/40.38 | 0 0 0 0 | | 0 0 0 0 | 159.31/40.38 | 0 0 0 0 | | 0 0 0 0 | 159.31/40.38 \ 0 0 0 1 / \ 0 0 0 1 / 159.31/40.38 [1, 1, 0, 1] ->= [0, 0, 1, 1] 159.31/40.38 lhs rhs ge gt 159.31/40.38 Wk / 0 0 0 1 \ Wk / 0 0 0 1 \ True False 159.31/40.38 | 0 0 0 0 | | 0 0 0 0 | 159.31/40.38 | 0 0 0 1 | | 0 0 0 0 | 159.31/40.38 \ 0 0 0 1 / \ 0 0 0 1 / 159.31/40.38 [1, 1, 0, 1] ->= [0, 0, 0, 0] 159.31/40.38 lhs rhs ge gt 159.31/40.38 Wk / 0 0 0 1 \ Wk / 0 0 0 0 \ True True 159.31/40.38 | 0 0 0 0 | | 0 0 0 0 | 159.31/40.38 | 0 0 0 1 | | 0 0 0 0 | 159.31/40.38 \ 0 0 0 1 / \ 0 0 0 1 / 159.31/40.38 property Termination 159.31/40.38 has value True 159.31/40.39 for SRS ( [3, 1, 0, 1] |-> [2, 0, 1, 1], [0, 0, 1, 1] ->= [1, 0, 1, 1], [1, 1, 0, 1] ->= [0, 0, 1, 1], [1, 1, 0, 1] ->= [0, 0, 0, 0]) 159.31/40.39 reason 159.31/40.39 weights 159.31/40.39 Map [(3, 1/1)] 159.31/40.39 159.31/40.39 property Termination 159.31/40.39 has value True 159.31/40.39 for SRS ( [0, 0, 1, 1] ->= [1, 0, 1, 1], [1, 1, 0, 1] ->= [0, 0, 1, 1], [1, 1, 0, 1] ->= [0, 0, 0, 0]) 159.31/40.39 reason 159.31/40.39 EDG has 0 SCCs 159.31/40.39 159.31/40.39 ************************************************** 159.31/40.39 summary 159.31/40.39 ************************************************** 159.31/40.39 SRS with 3 rules on 2 letters Remap { tracing = False} 159.31/40.39 SRS with 3 rules on 2 letters DP transform 159.31/40.39 SRS with 11 rules on 4 letters Remap { tracing = False} 159.31/40.39 SRS with 11 rules on 4 letters weights 159.31/40.39 SRS with 6 rules on 4 letters EDG 159.31/40.39 SRS with 6 rules on 4 letters Matrix { monotone = Weak, domain = Arctic, bits = 4, dim = 2, solver = Minisatapi, verbose = False, tracing = True} 159.31/40.39 SRS with 5 rules on 4 letters EDG 159.31/40.39 SRS with 5 rules on 4 letters Matrix { monotone = Weak, domain = Natural, bits = 3, dim = 4, solver = Minisatapi, verbose = False, tracing = False} 159.31/40.39 SRS with 4 rules on 4 letters weights 159.31/40.39 SRS with 3 rules on 2 letters EDG 159.31/40.39 159.31/40.39 ************************************************** 159.31/40.39 (3, 2)\Deepee(11, 4)\Weight(6, 4)\Matrix{\Arctic}{2}(5, 4)\Matrix{\Natural}{4}(4, 4)\Weight(3, 2)\EDG[] 159.31/40.39 ************************************************** 159.89/40.52 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]} 159.89/40.52 in Apply (Worker Remap) (First_Of ([ yeah] <> noh)) 161.10/40.80 EOF