642.44/162.15 YES 643.03/162.25 property Termination 643.03/162.27 has value True 646.89/163.26 for SRS ( [b, b, d, d, b, b] -> [c, c, d, d, b, b], [b, b, a, a, c, c] -> [b, b, c, c], [a, a, d, d] -> [d, d, c, c], [b, b, b, b, b, b] -> [a, a, b, b, c, c], [d, d, c, c] -> [b, b, d, d], [d, d, c, c] -> [d, d, b, b, d, d], [d, d, a, a, c, c] -> [b, b, b, b]) 646.89/163.26 reason 646.89/163.26 remap for 7 rules 646.89/163.26 property Termination 646.89/163.26 has value True 646.89/163.26 for SRS ( [0, 0, 1, 1, 0, 0] -> [2, 2, 1, 1, 0, 0], [0, 0, 3, 3, 2, 2] -> [0, 0, 2, 2], [3, 3, 1, 1] -> [1, 1, 2, 2], [0, 0, 0, 0, 0, 0] -> [3, 3, 0, 0, 2, 2], [1, 1, 2, 2] -> [0, 0, 1, 1], [1, 1, 2, 2] -> [1, 1, 0, 0, 1, 1], [1, 1, 3, 3, 2, 2] -> [0, 0, 0, 0]) 646.89/163.26 reason 646.89/163.26 weights 646.89/163.26 Map [(0, 1/2), (2, 1/2), (3, 1/2)] 646.89/163.26 646.89/163.26 property Termination 646.89/163.26 has value True 646.89/163.26 for SRS ( [0, 0, 1, 1, 0, 0] -> [2, 2, 1, 1, 0, 0], [3, 3, 1, 1] -> [1, 1, 2, 2], [0, 0, 0, 0, 0, 0] -> [3, 3, 0, 0, 2, 2], [1, 1, 2, 2] -> [0, 0, 1, 1], [1, 1, 2, 2] -> [1, 1, 0, 0, 1, 1], [1, 1, 3, 3, 2, 2] -> [0, 0, 0, 0]) 646.89/163.26 reason 646.89/163.26 reverse each lhs and rhs 646.89/163.26 property Termination 646.89/163.26 has value True 646.89/163.26 for SRS ( [0, 0, 1, 1, 0, 0] -> [0, 0, 1, 1, 2, 2], [1, 1, 3, 3] -> [2, 2, 1, 1], [0, 0, 0, 0, 0, 0] -> [2, 2, 0, 0, 3, 3], [2, 2, 1, 1] -> [1, 1, 0, 0], [2, 2, 1, 1] -> [1, 1, 0, 0, 1, 1], [2, 2, 3, 3, 1, 1] -> [0, 0, 0, 0]) 646.89/163.26 reason 646.89/163.26 DP transform 646.89/163.26 property Termination 646.89/163.26 has value True 647.15/163.29 for SRS ( [0, 0, 1, 1, 0, 0] ->= [0, 0, 1, 1, 2, 2], [1, 1, 3, 3] ->= [2, 2, 1, 1], [0, 0, 0, 0, 0, 0] ->= [2, 2, 0, 0, 3, 3], [2, 2, 1, 1] ->= [1, 1, 0, 0], [2, 2, 1, 1] ->= [1, 1, 0, 0, 1, 1], [2, 2, 3, 3, 1, 1] ->= [0, 0, 0, 0], [0#, 0, 1, 1, 0, 0] |-> [0#, 0, 1, 1, 2, 2], [0#, 0, 1, 1, 0, 0] |-> [0#, 1, 1, 2, 2], [0#, 0, 1, 1, 0, 0] |-> [1#, 1, 2, 2], [0#, 0, 1, 1, 0, 0] |-> [1#, 2, 2], [0#, 0, 1, 1, 0, 0] |-> [2#, 2], [0#, 0, 1, 1, 0, 0] |-> [2#], [1#, 1, 3, 3] |-> [2#, 2, 1, 1], [1#, 1, 3, 3] |-> [2#, 1, 1], [1#, 1, 3, 3] |-> [1#, 1], [1#, 1, 3, 3] |-> [1#], [0#, 0, 0, 0, 0, 0] |-> [2#, 2, 0, 0, 3, 3], [0#, 0, 0, 0, 0, 0] |-> [2#, 0, 0, 3, 3], [0#, 0, 0, 0, 0, 0] |-> [0#, 0, 3, 3], [0#, 0, 0, 0, 0, 0] |-> [0#, 3, 3], [2#, 2, 1, 1] |-> [1#, 1, 0, 0], [2#, 2, 1, 1] |-> [1#, 0, 0], [2#, 2, 1, 1] |-> [0#, 0], [2#, 2, 1, 1] |-> [0#], [2#, 2, 1, 1] |-> [1#, 1, 0, 0, 1, 1], [2#, 2, 1, 1] |-> [1#, 0, 0, 1, 1], [2#, 2, 1, 1] |-> [0#, 0, 1, 1], [2#, 2, 1, 1] |-> [0#, 1, 1], [2#, 2, 3, 3, 1, 1] |-> [0#, 0, 0, 0], [2#, 2, 3, 3, 1, 1] |-> [0#, 0, 0], [2#, 2, 3, 3, 1, 1] |-> [0#, 0], [2#, 2, 3, 3, 1, 1] |-> [0#]) 647.15/163.29 reason 647.15/163.29 remap for 32 rules 647.15/163.29 property Termination 647.15/163.29 has value True 647.15/163.29 for SRS ( [0, 0, 1, 1, 0, 0] ->= [0, 0, 1, 1, 2, 2], [1, 1, 3, 3] ->= [2, 2, 1, 1], [0, 0, 0, 0, 0, 0] ->= [2, 2, 0, 0, 3, 3], [2, 2, 1, 1] ->= [1, 1, 0, 0], [2, 2, 1, 1] ->= [1, 1, 0, 0, 1, 1], [2, 2, 3, 3, 1, 1] ->= [0, 0, 0, 0], [4, 0, 1, 1, 0, 0] |-> [4, 0, 1, 1, 2, 2], [4, 0, 1, 1, 0, 0] |-> [4, 1, 1, 2, 2], [4, 0, 1, 1, 0, 0] |-> [5, 1, 2, 2], [4, 0, 1, 1, 0, 0] |-> [5, 2, 2], [4, 0, 1, 1, 0, 0] |-> [6, 2], [4, 0, 1, 1, 0, 0] |-> [6], [5, 1, 3, 3] |-> [6, 2, 1, 1], [5, 1, 3, 3] |-> [6, 1, 1], [5, 1, 3, 3] |-> [5, 1], [5, 1, 3, 3] |-> [5], [4, 0, 0, 0, 0, 0] |-> [6, 2, 0, 0, 3, 3], [4, 0, 0, 0, 0, 0] |-> [6, 0, 0, 3, 3], [4, 0, 0, 0, 0, 0] |-> [4, 0, 3, 3], [4, 0, 0, 0, 0, 0] |-> [4, 3, 3], [6, 2, 1, 1] |-> [5, 1, 0, 0], [6, 2, 1, 1] |-> [5, 0, 0], [6, 2, 1, 1] |-> [4, 0], [6, 2, 1, 1] |-> [4], [6, 2, 1, 1] |-> [5, 1, 0, 0, 1, 1], [6, 2, 1, 1] |-> [5, 0, 0, 1, 1], [6, 2, 1, 1] |-> [4, 0, 1, 1], [6, 2, 1, 1] |-> [4, 1, 1], [6, 2, 3, 3, 1, 1] |-> [4, 0, 0, 0], [6, 2, 3, 3, 1, 1] |-> [4, 0, 0], [6, 2, 3, 3, 1, 1] |-> [4, 0], [6, 2, 3, 3, 1, 1] |-> [4]) 647.15/163.29 reason 647.15/163.29 weights 647.15/163.29 Map [(0, 1/29), (2, 1/29), (3, 1/29), (4, 1/29), (6, 1/29)] 647.15/163.29 647.15/163.29 property Termination 647.15/163.29 has value True 647.15/163.31 for SRS ( [0, 0, 1, 1, 0, 0] ->= [0, 0, 1, 1, 2, 2], [1, 1, 3, 3] ->= [2, 2, 1, 1], [0, 0, 0, 0, 0, 0] ->= [2, 2, 0, 0, 3, 3], [2, 2, 1, 1] ->= [1, 1, 0, 0], [2, 2, 1, 1] ->= [1, 1, 0, 0, 1, 1], [2, 2, 3, 3, 1, 1] ->= [0, 0, 0, 0], [4, 0, 1, 1, 0, 0] |-> [4, 0, 1, 1, 2, 2], [5, 1, 3, 3] |-> [6, 2, 1, 1], [4, 0, 0, 0, 0, 0] |-> [6, 2, 0, 0, 3, 3], [6, 2, 1, 1] |-> [5, 1, 0, 0], [6, 2, 1, 1] |-> [5, 0, 0], [6, 2, 1, 1] |-> [4, 0], [6, 2, 1, 1] |-> [5, 1, 0, 0, 1, 1], [6, 2, 1, 1] |-> [5, 0, 0, 1, 1], [6, 2, 1, 1] |-> [4, 0, 1, 1], [6, 2, 3, 3, 1, 1] |-> [4, 0, 0, 0]) 647.15/163.31 reason 647.15/163.31 EDG has 2 SCCs 647.15/163.31 property Termination 647.15/163.31 has value True 647.15/163.31 for SRS ( [4, 0, 1, 1, 0, 0] |-> [4, 0, 1, 1, 2, 2], [0, 0, 1, 1, 0, 0] ->= [0, 0, 1, 1, 2, 2], [1, 1, 3, 3] ->= [2, 2, 1, 1], [0, 0, 0, 0, 0, 0] ->= [2, 2, 0, 0, 3, 3], [2, 2, 1, 1] ->= [1, 1, 0, 0], [2, 2, 1, 1] ->= [1, 1, 0, 0, 1, 1], [2, 2, 3, 3, 1, 1] ->= [0, 0, 0, 0]) 647.15/163.31 reason 647.15/163.31 Matrix { monotone = Weak, domain = Natural, bits = 3, dim = 4, solver = Minisatapi, verbose = False, tracing = False} 647.15/163.31 interpretation 647.15/163.31 0 Wk / 0 0 0 0 \ 647.15/163.31 | 1 0 0 0 | 647.15/163.31 | 1 1 0 1 | 647.15/163.31 \ 0 0 0 1 / 647.15/163.31 1 Wk / 0 1 0 0 \ 647.15/163.31 | 0 0 1 1 | 647.15/163.31 | 2 0 0 0 | 647.15/163.31 \ 0 0 0 1 / 647.76/163.46 2 Wk / 1 1 0 0 \ 647.76/163.46 | 1 0 0 0 | 647.76/163.46 | 0 1 0 0 | 647.76/163.46 \ 0 0 0 1 / 647.76/163.46 3 Wk / 0 0 1 0 \ 647.76/163.46 | 1 0 0 1 | 647.76/163.46 | 1 1 1 1 | 647.76/163.46 \ 0 0 0 1 / 647.76/163.46 4 Wk / 1 1 0 3 \ 647.76/163.46 | 0 0 0 0 | 647.76/163.46 | 0 0 0 4 | 647.76/163.46 \ 0 0 0 1 / 647.76/163.46 [4, 0, 1, 1, 0, 0] |-> [4, 0, 1, 1, 2, 2] 647.76/163.46 lhs rhs ge gt 647.76/163.46 Wk / 1 0 0 5 \ Wk / 1 0 0 4 \ True True 647.76/163.46 | 0 0 0 0 | | 0 0 0 0 | 647.76/163.46 | 0 0 0 4 | | 0 0 0 4 | 647.76/163.46 \ 0 0 0 1 / \ 0 0 0 1 / 647.76/163.46 [0, 0, 1, 1, 0, 0] ->= [0, 0, 1, 1, 2, 2] 647.76/163.46 lhs rhs ge gt 647.76/163.46 Wk / 0 0 0 0 \ Wk / 0 0 0 0 \ True False 647.76/163.46 | 0 0 0 0 | | 0 0 0 0 | 647.76/163.46 | 1 0 0 3 | | 1 0 0 2 | 647.76/163.46 \ 0 0 0 1 / \ 0 0 0 1 / 647.76/163.52 [1, 1, 3, 3] ->= [2, 2, 1, 1] 647.76/163.52 lhs rhs ge gt 647.76/163.52 Wk / 2 1 2 4 \ Wk / 2 0 2 3 \ True True 647.76/163.52 | 2 2 2 3 | | 2 0 1 2 | 647.76/163.52 | 0 0 2 2 | | 0 0 1 1 | 647.76/163.52 \ 0 0 0 1 / \ 0 0 0 1 / 647.76/163.52 [0, 0, 0, 0, 0, 0] ->= [2, 2, 0, 0, 3, 3] 647.76/163.52 lhs rhs ge gt 647.76/163.52 Wk / 0 0 0 0 \ Wk / 0 0 0 0 \ True False 647.76/163.52 | 0 0 0 0 | | 0 0 0 0 | 648.11/163.52 | 0 0 0 1 | | 0 0 0 0 | 648.11/163.52 \ 0 0 0 1 / \ 0 0 0 1 / 648.11/163.52 [2, 2, 1, 1] ->= [1, 1, 0, 0] 648.11/163.53 lhs rhs ge gt 648.11/163.53 Wk / 2 0 2 3 \ Wk / 1 0 0 2 \ True True 648.11/163.53 | 2 0 1 2 | | 0 0 0 1 | 648.11/163.53 | 0 0 1 1 | | 0 0 0 0 | 648.11/163.53 \ 0 0 0 1 / \ 0 0 0 1 / 648.11/163.53 [2, 2, 1, 1] ->= [1, 1, 0, 0, 1, 1] 648.11/163.53 lhs rhs ge gt 648.11/163.53 Wk / 2 0 2 3 \ Wk / 0 0 1 3 \ True False 648.11/163.53 | 2 0 1 2 | | 0 0 0 1 | 648.11/163.53 | 0 0 1 1 | | 0 0 0 0 | 648.11/163.53 \ 0 0 0 1 / \ 0 0 0 1 / 648.11/163.53 [2, 2, 3, 3, 1, 1] ->= [0, 0, 0, 0] 648.11/163.53 lhs rhs ge gt 648.11/163.53 Wk / 4 6 2 7 \ Wk / 0 0 0 0 \ True True 648.11/163.53 | 2 4 1 4 | | 0 0 0 0 | 648.11/163.53 | 2 2 1 3 | | 0 0 0 1 | 648.11/163.53 \ 0 0 0 1 / \ 0 0 0 1 / 648.11/163.53 property Termination 648.11/163.53 has value True 648.11/163.53 for SRS ( [0, 0, 1, 1, 0, 0] ->= [0, 0, 1, 1, 2, 2], [1, 1, 3, 3] ->= [2, 2, 1, 1], [0, 0, 0, 0, 0, 0] ->= [2, 2, 0, 0, 3, 3], [2, 2, 1, 1] ->= [1, 1, 0, 0], [2, 2, 1, 1] ->= [1, 1, 0, 0, 1, 1], [2, 2, 3, 3, 1, 1] ->= [0, 0, 0, 0]) 648.11/163.53 reason 648.11/163.53 EDG has 0 SCCs 648.11/163.53 648.11/163.53 property Termination 648.11/163.53 has value True 648.11/163.55 for SRS ( [5, 1, 3, 3] |-> [6, 2, 1, 1], [6, 2, 1, 1] |-> [5, 0, 0, 1, 1], [6, 2, 1, 1] |-> [5, 1, 0, 0, 1, 1], [6, 2, 1, 1] |-> [5, 0, 0], [6, 2, 1, 1] |-> [5, 1, 0, 0], [0, 0, 1, 1, 0, 0] ->= [0, 0, 1, 1, 2, 2], [1, 1, 3, 3] ->= [2, 2, 1, 1], [0, 0, 0, 0, 0, 0] ->= [2, 2, 0, 0, 3, 3], [2, 2, 1, 1] ->= [1, 1, 0, 0], [2, 2, 1, 1] ->= [1, 1, 0, 0, 1, 1], [2, 2, 3, 3, 1, 1] ->= [0, 0, 0, 0]) 648.11/163.55 reason 648.11/163.55 Tiling { method = Overlap, width = 3, state_type = Bit64, map_type = Enum, verbose = False, tracing = False} 648.11/163.55 using 93 tiles 648.11/163.56 [ [0, 0, >] , [0, 1, >] , [1, 1, >] , [2, 0, >] , [2, 1, >] , [2, 2, >] , [3, 0, >] , [3, 1, >] , [3, 3, >] , [<, <, 0] , [<, 0, 0] , [<, 1, 0] , [<, 2, 0] , [<, 5, 0] , [<, 6, 0] , [0, 0, 0] , [0, 1, 0] , [0, 2, 0] , [1, 0, 0] , [1, 1, 0] , [1, 2, 0] , [2, 0, 0] , [2, 1, 0] , [2, 2, 0] , [3, 0, 0] , [3, 1, 0] , [3, 2, 0] , [3, 3, 0] , [5, 0, 0] , [5, 1, 0] , [5, 2, 0] , [6, 0, 0] , [6, 1, 0] , [6, 2, 0] , [<, <, 1] , [<, 0, 1] , [<, 1, 1] , [<, 2, 1] , [<, 5, 1] , [<, 6, 1] , [0, 0, 1] , [0, 1, 1] , [0, 2, 1] , [1, 0, 1] , [1, 1, 1] , [1, 2, 1] , [2, 0, 1] , [2, 1, 1] , [2, 2, 1] , [3, 0, 1] , [3, 1, 1] , [3, 2, 1] , [3, 3, 1] , [5, 0, 1] , [5, 1, 1] , [5, 2, 1] , [6, 0, 1] , [6, 1, 1] , [6, 2, 1] , [<, <, 2] , [<, 0, 2] , [<, 1, 2] , [<, 2, 2] , [<, 5, 2] , [<, 6, 2] , [0, 0, 2] , [0, 1, 2] , [0, 2, 2] , [1, 0, 2] , [1, 1, 2] , [1, 2, 2] , [2, 0, 2] , [2, 1, 2] , [2, 2, 2] , [3, 0, 2] , [3, 1, 2] , [3, 2, 2] , [3, 3, 2] , [5, 0, 2] , [5, 1, 2] , [5, 2, 2] , [6, 0, 2] , [6, 1, 2] , [6, 2, 2] , [0, 0, 3] , [0, 3, 3] , [2, 0, 3] , [2, 2, 3] , [2, 3, 3] , [3, 0, 3] , [3, 3, 3] , [<, <, 5] , [<, <, 6] ] 648.11/163.56 remove some unmatched rules 648.11/163.56 648.11/163.56 property Termination 648.11/163.56 has value True 648.11/163.56 for SRS ( [[6], [2], [1], [1]] |-> [[5], [0], [0], [1], [1]], [[6], [2], [1], [1]] |-> [[5], [1], [0], [0], [1], [1]], [[6], [2], [1], [1]] |-> [[5], [0], [0]], [[6], [2], [1], [1]] |-> [[5], [1], [0], [0]], [[0], [0], [1], [1], [0], [0]] ->= [[0], [0], [1], [1], [2], [2]], [[0], [0], [0], [0], [0], [0]] ->= [[2], [2], [0], [0], [3], [3]], [[2], [2], [1], [1]] ->= [[1], [1], [0], [0]], [[2], [2], [1], [1]] ->= [[1], [1], [0], [0], [1], [1]], [[2], [2], [3], [3], [1], [1]] ->= [[0], [0], [0], [0]]) 648.11/163.56 reason 648.11/163.56 remap for 9 rules 648.11/163.56 property Termination 648.11/163.56 has value True 648.11/163.57 for SRS ( [0, 1, 2, 2] |-> [3, 4, 4, 2, 2], [0, 1, 2, 2] |-> [3, 2, 4, 4, 2, 2], [0, 1, 2, 2] |-> [3, 4, 4], [0, 1, 2, 2] |-> [3, 2, 4, 4], [4, 4, 2, 2, 4, 4] ->= [4, 4, 2, 2, 1, 1], [4, 4, 4, 4, 4, 4] ->= [1, 1, 4, 4, 5, 5], [1, 1, 2, 2] ->= [2, 2, 4, 4], [1, 1, 2, 2] ->= [2, 2, 4, 4, 2, 2], [1, 1, 5, 5, 2, 2] ->= [4, 4, 4, 4]) 648.11/163.57 reason 648.11/163.57 weights 648.11/163.57 Map [(0, 4/1)] 648.11/163.57 648.11/163.57 property Termination 648.11/163.57 has value True 648.11/163.57 for SRS ( [4, 4, 2, 2, 4, 4] ->= [4, 4, 2, 2, 1, 1], [4, 4, 4, 4, 4, 4] ->= [1, 1, 4, 4, 5, 5], [1, 1, 2, 2] ->= [2, 2, 4, 4], [1, 1, 2, 2] ->= [2, 2, 4, 4, 2, 2], [1, 1, 5, 5, 2, 2] ->= [4, 4, 4, 4]) 648.11/163.57 reason 648.11/163.58 EDG has 0 SCCs 648.11/163.58 648.11/163.58 ************************************************** 648.11/163.58 summary 648.11/163.58 ************************************************** 648.11/163.58 SRS with 7 rules on 4 letters Remap { tracing = False} 648.11/163.58 SRS with 7 rules on 4 letters weights 648.11/163.58 SRS with 6 rules on 4 letters reverse each lhs and rhs 648.11/163.58 SRS with 6 rules on 4 letters DP transform 648.11/163.58 SRS with 32 rules on 7 letters Remap { tracing = False} 648.11/163.58 SRS with 32 rules on 7 letters weights 648.11/163.58 SRS with 16 rules on 7 letters EDG 648.11/163.58 2 sub-proofs 648.11/163.58 1 SRS with 7 rules on 5 letters Matrix { monotone = Weak, domain = Natural, bits = 3, dim = 4, solver = Minisatapi, verbose = False, tracing = False} 648.11/163.58 SRS with 6 rules on 4 letters EDG 648.11/163.58 648.11/163.58 2 SRS with 11 rules on 6 letters remove some, by Tiling { method = Overlap, width = 3, state_type = Bit64, map_type = Enum, verbose = False, tracing = False} 648.11/163.58 SRS with 9 rules on 6 letters Remap { tracing = False} 648.11/163.58 SRS with 9 rules on 6 letters weights 648.11/163.58 SRS with 5 rules on 4 letters EDG 648.38/163.59 648.38/163.59 ************************************************** 648.38/163.59 (7, 4)\Weight(6, 4)\Deepee(32, 7)\Weight(16, 7)\EDG[(7, 5)\Matrix{\Natural}{4}(6, 4)\EDG[],(11, 6)\TileRemoveROC{3}(9, 6)\Weight(5, 4)\EDG[]] 648.38/163.59 ************************************************** 648.77/163.69 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]} 648.77/163.69 in Apply (Worker Remap) (First_Of ([ yeah] <> noh)) 666.91/168.29 EOF