175.71/44.44 YES 175.71/44.44 property Termination 175.71/44.44 has value True 175.71/44.44 for SRS ( [a, b, b, b] -> [b, b, a, b], [a, b, a, a] -> [b, a, b, a], [b, b, a, a] -> [b, a, a, a], [a, b, b, b] -> [a, b, a, a]) 175.71/44.44 reason 175.71/44.44 remap for 4 rules 175.71/44.44 property Termination 175.71/44.44 has value True 175.71/44.44 for SRS ( [0, 1, 1, 1] -> [1, 1, 0, 1], [0, 1, 0, 0] -> [1, 0, 1, 0], [1, 1, 0, 0] -> [1, 0, 0, 0], [0, 1, 1, 1] -> [0, 1, 0, 0]) 175.71/44.44 reason 175.71/44.44 reverse each lhs and rhs 175.71/44.44 property Termination 175.71/44.44 has value True 175.71/44.44 for SRS ( [1, 1, 1, 0] -> [1, 0, 1, 1], [0, 0, 1, 0] -> [0, 1, 0, 1], [0, 0, 1, 1] -> [0, 0, 0, 1], [1, 1, 1, 0] -> [0, 0, 1, 0]) 175.71/44.44 reason 175.71/44.44 DP transform 175.71/44.44 property Termination 175.71/44.44 has value True 175.71/44.44 for SRS ( [1, 1, 1, 0] ->= [1, 0, 1, 1], [0, 0, 1, 0] ->= [0, 1, 0, 1], [0, 0, 1, 1] ->= [0, 0, 0, 1], [1, 1, 1, 0] ->= [0, 0, 1, 0], [1#, 1, 1, 0] |-> [1#, 0, 1, 1], [1#, 1, 1, 0] |-> [0#, 1, 1], [1#, 1, 1, 0] |-> [1#, 1], [1#, 1, 1, 0] |-> [1#], [0#, 0, 1, 0] |-> [0#, 1, 0, 1], [0#, 0, 1, 0] |-> [1#, 0, 1], [0#, 0, 1, 0] |-> [0#, 1], [0#, 0, 1, 0] |-> [1#], [0#, 0, 1, 1] |-> [0#, 0, 0, 1], [0#, 0, 1, 1] |-> [0#, 0, 1], [0#, 0, 1, 1] |-> [0#, 1], [1#, 1, 1, 0] |-> [0#, 0, 1, 0], [1#, 1, 1, 0] |-> [0#, 1, 0]) 175.71/44.44 reason 175.71/44.44 remap for 17 rules 175.71/44.44 property Termination 175.71/44.44 has value True 175.71/44.45 for SRS ( [0, 0, 0, 1] ->= [0, 1, 0, 0], [1, 1, 0, 1] ->= [1, 0, 1, 0], [1, 1, 0, 0] ->= [1, 1, 1, 0], [0, 0, 0, 1] ->= [1, 1, 0, 1], [2, 0, 0, 1] |-> [2, 1, 0, 0], [2, 0, 0, 1] |-> [3, 0, 0], [2, 0, 0, 1] |-> [2, 0], [2, 0, 0, 1] |-> [2], [3, 1, 0, 1] |-> [3, 0, 1, 0], [3, 1, 0, 1] |-> [2, 1, 0], [3, 1, 0, 1] |-> [3, 0], [3, 1, 0, 1] |-> [2], [3, 1, 0, 0] |-> [3, 1, 1, 0], [3, 1, 0, 0] |-> [3, 1, 0], [3, 1, 0, 0] |-> [3, 0], [2, 0, 0, 1] |-> [3, 1, 0, 1], [2, 0, 0, 1] |-> [3, 0, 1]) 175.71/44.45 reason 175.71/44.45 weights 175.71/44.45 Map [(0, 2/1), (1, 2/1), (2, 1/1)] 175.71/44.45 175.71/44.45 property Termination 175.71/44.45 has value True 175.71/44.45 for SRS ( [0, 0, 0, 1] ->= [0, 1, 0, 0], [1, 1, 0, 1] ->= [1, 0, 1, 0], [1, 1, 0, 0] ->= [1, 1, 1, 0], [0, 0, 0, 1] ->= [1, 1, 0, 1], [2, 0, 0, 1] |-> [2, 1, 0, 0], [3, 1, 0, 1] |-> [3, 0, 1, 0], [3, 1, 0, 0] |-> [3, 1, 1, 0]) 175.71/44.45 reason 175.71/44.45 EDG has 2 SCCs 175.71/44.45 property Termination 175.71/44.45 has value True 175.71/44.45 for SRS ( [2, 0, 0, 1] |-> [2, 1, 0, 0], [0, 0, 0, 1] ->= [0, 1, 0, 0], [1, 1, 0, 1] ->= [1, 0, 1, 0], [1, 1, 0, 0] ->= [1, 1, 1, 0], [0, 0, 0, 1] ->= [1, 1, 0, 1]) 175.71/44.45 reason 175.71/44.45 Matrix { monotone = Weak, domain = Arctic, bits = 4, dim = 2, solver = Minisatapi, verbose = False, tracing = True} 175.71/44.45 interpretation 175.71/44.45 0 / 2A 4A \ 175.71/44.45 \ 0A 2A / 175.71/44.45 1 / 0A 2A \ 175.71/44.45 \ 0A 2A / 175.71/44.45 2 / 18A 19A \ 175.71/44.45 \ 18A 19A / 175.71/44.45 [2, 0, 0, 1] |-> [2, 1, 0, 0] 175.71/44.45 lhs rhs ge gt 175.71/44.45 / 24A 26A \ / 23A 25A \ True True 175.71/44.45 \ 24A 26A / \ 23A 25A / 175.71/44.45 [0, 0, 0, 1] ->= [0, 1, 0, 0] 175.71/44.45 lhs rhs ge gt 175.71/44.45 / 8A 10A \ / 8A 10A \ True False 175.71/44.45 \ 6A 8A / \ 6A 8A / 175.71/44.45 [1, 1, 0, 1] ->= [1, 0, 1, 0] 175.71/44.45 lhs rhs ge gt 175.71/44.45 / 6A 8A \ / 6A 8A \ True False 175.71/44.45 \ 6A 8A / \ 6A 8A / 175.71/44.45 [1, 1, 0, 0] ->= [1, 1, 1, 0] 175.71/44.45 lhs rhs ge gt 175.71/44.45 / 6A 8A \ / 6A 8A \ True False 175.71/44.45 \ 6A 8A / \ 6A 8A / 175.71/44.45 [0, 0, 0, 1] ->= [1, 1, 0, 1] 175.71/44.45 lhs rhs ge gt 176.07/44.46 / 8A 10A \ / 6A 8A \ True False 176.07/44.46 \ 6A 8A / \ 6A 8A / 176.07/44.46 property Termination 176.07/44.46 has value True 176.07/44.46 for SRS ( [0, 0, 0, 1] ->= [0, 1, 0, 0], [1, 1, 0, 1] ->= [1, 0, 1, 0], [1, 1, 0, 0] ->= [1, 1, 1, 0], [0, 0, 0, 1] ->= [1, 1, 0, 1]) 176.07/44.46 reason 176.07/44.46 EDG has 0 SCCs 176.07/44.46 176.07/44.46 property Termination 176.07/44.46 has value True 176.07/44.46 for SRS ( [3, 1, 0, 1] |-> [3, 0, 1, 0], [3, 1, 0, 0] |-> [3, 1, 1, 0], [0, 0, 0, 1] ->= [0, 1, 0, 0], [1, 1, 0, 1] ->= [1, 0, 1, 0], [1, 1, 0, 0] ->= [1, 1, 1, 0], [0, 0, 0, 1] ->= [1, 1, 0, 1]) 176.07/44.46 reason 176.07/44.46 Matrix { monotone = Weak, domain = Natural, bits = 3, dim = 4, solver = Minisatapi, verbose = False, tracing = False} 176.07/44.46 interpretation 176.07/44.46 0 Wk / 0 0 0 0 \ 176.07/44.46 | 0 0 1 1 | 176.07/44.46 | 0 0 1 1 | 176.07/44.46 \ 0 0 0 1 / 176.07/44.46 1 Wk / 1 0 0 0 \ 176.07/44.46 | 0 1 0 0 | 176.07/44.46 | 5 0 0 4 | 176.07/44.46 \ 0 0 0 1 / 176.07/44.46 3 Wk / 0 1 0 0 \ 176.07/44.46 | 0 0 0 1 | 176.07/44.46 | 0 0 0 5 | 176.07/44.46 \ 0 0 0 1 / 176.07/44.46 [3, 1, 0, 1] |-> [3, 0, 1, 0] 176.07/44.48 lhs rhs ge gt 176.07/44.48 Wk / 5 0 0 5 \ Wk / 0 0 0 5 \ True False 176.07/44.48 | 0 0 0 1 | | 0 0 0 1 | 176.07/44.48 | 0 0 0 5 | | 0 0 0 5 | 176.07/44.48 \ 0 0 0 1 / \ 0 0 0 1 / 176.07/44.48 [3, 1, 0, 0] |-> [3, 1, 1, 0] 176.07/44.48 lhs rhs ge gt 176.07/44.48 Wk / 0 0 1 2 \ Wk / 0 0 1 1 \ True True 176.07/44.48 | 0 0 0 1 | | 0 0 0 1 | 176.07/44.48 | 0 0 0 5 | | 0 0 0 5 | 176.07/44.48 \ 0 0 0 1 / \ 0 0 0 1 / 176.07/44.48 [0, 0, 0, 1] ->= [0, 1, 0, 0] 176.07/44.48 lhs rhs ge gt 176.07/44.48 Wk / 0 0 0 0 \ Wk / 0 0 0 0 \ True False 176.07/44.48 | 5 0 0 7 | | 0 0 0 5 | 176.07/44.48 | 5 0 0 7 | | 0 0 0 5 | 176.07/44.48 \ 0 0 0 1 / \ 0 0 0 1 / 176.07/44.48 [1, 1, 0, 1] ->= [1, 0, 1, 0] 176.20/44.49 lhs rhs ge gt 176.20/44.49 Wk / 0 0 0 0 \ Wk / 0 0 0 0 \ True False 176.20/44.49 | 5 0 0 5 | | 0 0 0 5 | 176.20/44.49 | 0 0 0 4 | | 0 0 0 4 | 176.20/44.49 \ 0 0 0 1 / \ 0 0 0 1 / 176.20/44.49 [1, 1, 0, 0] ->= [1, 1, 1, 0] 176.20/44.49 lhs rhs ge gt 176.20/44.49 Wk / 0 0 0 0 \ Wk / 0 0 0 0 \ True False 176.20/44.49 | 0 0 1 2 | | 0 0 1 1 | 176.20/44.49 | 0 0 0 4 | | 0 0 0 4 | 176.20/44.49 \ 0 0 0 1 / \ 0 0 0 1 / 176.20/44.49 [0, 0, 0, 1] ->= [1, 1, 0, 1] 176.20/44.49 lhs rhs ge gt 176.20/44.49 Wk / 0 0 0 0 \ Wk / 0 0 0 0 \ True False 176.20/44.49 | 5 0 0 7 | | 5 0 0 5 | 176.20/44.49 | 5 0 0 7 | | 0 0 0 4 | 176.20/44.49 \ 0 0 0 1 / \ 0 0 0 1 / 176.20/44.49 property Termination 176.20/44.49 has value True 176.20/44.49 for SRS ( [3, 1, 0, 1] |-> [3, 0, 1, 0], [0, 0, 0, 1] ->= [0, 1, 0, 0], [1, 1, 0, 1] ->= [1, 0, 1, 0], [1, 1, 0, 0] ->= [1, 1, 1, 0], [0, 0, 0, 1] ->= [1, 1, 0, 1]) 176.20/44.49 reason 176.20/44.49 EDG has 1 SCCs 176.20/44.49 property Termination 176.20/44.49 has value True 176.20/44.51 for SRS ( [3, 1, 0, 1] |-> [3, 0, 1, 0], [0, 0, 0, 1] ->= [0, 1, 0, 0], [1, 1, 0, 1] ->= [1, 0, 1, 0], [1, 1, 0, 0] ->= [1, 1, 1, 0], [0, 0, 0, 1] ->= [1, 1, 0, 1]) 176.20/44.51 reason 176.20/44.51 Matrix { monotone = Weak, domain = Arctic, bits = 3, dim = 4, solver = Minisatapi, verbose = False, tracing = False} 176.20/44.51 interpretation 176.20/44.51 0 Wk / 1A 1A 0A - \ 176.20/44.51 | 0A 0A - - | 176.20/44.51 | - 3A - 0A | 176.20/44.51 \ - - - 0A / 176.20/44.51 1 Wk / 0A 1A 0A - \ 176.20/44.51 | - - - - | 176.20/44.51 | 2A 3A 1A 0A | 176.20/44.51 \ - - - 0A / 176.20/44.51 3 Wk / - - 5A 6A \ 176.20/44.51 | - - - - | 176.20/44.51 | - - - - | 176.20/44.51 \ - - - 0A / 176.20/44.51 [3, 1, 0, 1] |-> [3, 0, 1, 0] 176.20/44.51 lhs rhs ge gt 176.20/44.51 Wk / 9A 10A 8A 7A \ Wk / - - - 6A \ True True 176.20/44.51 | - - - - | | - - - - | 176.20/44.51 | - - - - | | - - - - | 176.20/44.51 \ - - - 0A / \ - - - 0A / 176.20/44.51 [0, 0, 0, 1] ->= [0, 1, 0, 0] 176.20/44.52 lhs rhs ge gt 176.20/44.52 Wk / 4A 5A 3A 2A \ Wk / 4A 5A 3A 2A \ True False 176.20/44.52 | 3A 4A 2A 1A | | 3A 3A 1A 0A | 176.20/44.52 | 5A 6A 4A 3A | | - - - 0A | 176.20/44.52 \ - - - 0A / \ - - - 0A / 176.20/44.52 [1, 1, 0, 1] ->= [1, 0, 1, 0] 176.20/44.52 lhs rhs ge gt 176.20/44.52 Wk / 4A 5A 3A 2A \ Wk / 3A 4A 2A 1A \ True False 176.20/44.52 | - - - - | | - - - - | 176.20/44.52 | 5A 6A 4A 3A | | 5A 6A 4A 3A | 176.20/44.52 \ - - - 0A / \ - - - 0A / 176.20/44.52 [1, 1, 0, 0] ->= [1, 1, 1, 0] 176.43/44.55 lhs rhs ge gt 176.43/44.55 Wk / 4A 5A 3A 2A \ Wk / 4A 5A 3A 2A \ True False 176.43/44.55 | - - - - | | - - - - | 176.43/44.55 | 5A 6A 4A 3A | | 5A 6A 4A 3A | 176.43/44.55 \ - - - 0A / \ - - - 0A / 176.43/44.55 [0, 0, 0, 1] ->= [1, 1, 0, 1] 176.43/44.55 lhs rhs ge gt 176.43/44.55 Wk / 4A 5A 3A 2A \ Wk / 4A 5A 3A 2A \ True False 176.43/44.55 | 3A 4A 2A 1A | | - - - - | 176.43/44.55 | 5A 6A 4A 3A | | 5A 6A 4A 3A | 176.43/44.55 \ - - - 0A / \ - - - 0A / 176.43/44.55 property Termination 176.43/44.55 has value True 176.43/44.55 for SRS ( [0, 0, 0, 1] ->= [0, 1, 0, 0], [1, 1, 0, 1] ->= [1, 0, 1, 0], [1, 1, 0, 0] ->= [1, 1, 1, 0], [0, 0, 0, 1] ->= [1, 1, 0, 1]) 176.43/44.55 reason 176.43/44.55 EDG has 0 SCCs 176.43/44.55 176.43/44.55 ************************************************** 176.43/44.55 summary 176.43/44.55 ************************************************** 176.43/44.55 SRS with 4 rules on 2 letters Remap { tracing = False} 176.43/44.55 SRS with 4 rules on 2 letters reverse each lhs and rhs 176.43/44.55 SRS with 4 rules on 2 letters DP transform 176.43/44.55 SRS with 17 rules on 4 letters Remap { tracing = False} 176.43/44.55 SRS with 17 rules on 4 letters weights 176.43/44.55 SRS with 7 rules on 4 letters EDG 176.43/44.55 2 sub-proofs 176.43/44.55 1 SRS with 5 rules on 3 letters Matrix { monotone = Weak, domain = Arctic, bits = 4, dim = 2, solver = Minisatapi, verbose = False, tracing = True} 176.43/44.55 SRS with 4 rules on 2 letters EDG 176.43/44.55 176.43/44.55 2 SRS with 6 rules on 3 letters Matrix { monotone = Weak, domain = Natural, bits = 3, dim = 4, solver = Minisatapi, verbose = False, tracing = False} 176.43/44.55 SRS with 5 rules on 3 letters EDG 176.43/44.57 SRS with 5 rules on 3 letters Matrix { monotone = Weak, domain = Arctic, bits = 3, dim = 4, solver = Minisatapi, verbose = False, tracing = False} 176.43/44.57 SRS with 4 rules on 2 letters EDG 176.43/44.57 176.43/44.57 ************************************************** 176.43/44.57 (4, 2)\Deepee(17, 4)\Weight(7, 4)\EDG[(5, 3)\Matrix{\Arctic}{2}(4, 2)\EDG[],(6, 3)\Matrix{\Natural}{4}(5, 3)\Matrix{\Arctic}{4}(4, 2)\EDG[]] 176.43/44.57 ************************************************** 176.69/44.64 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]} 176.69/44.64 in Apply (Worker Remap) (First_Of ([ yeah] <> noh)) 177.42/44.90 EOF