/export/starexec/sandbox/solver/bin/starexec_run_tc20-rel.sh /export/starexec/sandbox/benchmark/theBenchmark.xml /export/starexec/sandbox/output/output_files -------------------------------------------------------------------------------- YES ************************************************** summary ************************************************** SRS with 4 strict rules and 2 weak rules on 3 letters tile all, by Config { method = Overlap,width = 2,unlabel = True} SRS with 64 strict rules and 32 weak rules on 15 letters weights SRS with 4 rules on 5 letters remove some, by Config { method = Overlap,width = 2,unlabel = True} SRS with 2 rules on 3 letters mirror SRS with 2 rules on 3 letters Matrix { monotone = Strict, domain = Natural, shape = Full, bits = 3, dim = 2, solver = Minisatapi, verbose = False, tracing = False} SRS with 0 rules on 0 letters no strict rules ************************************************** proof ************************************************** property Termination has value Just True for SRS [c, c, c] -> [a, a, c] {- Input 0 -} [b, a, a] -> [b, b, c] {- Input 1 -} [c, a, c] -> [a, c, c] {- Input 2 -} [b, c, c] -> [b, c, b] {- Input 3 -} [a, a, b] ->= [c, b, a] {- Input 4 -} [a, b, a] ->= [a, c, c] {- Input 5 -} reason Tiling { method = Overlap, width = 2, state_type = Bit64, map_type = Enum, unlabel = True, print_completion_steps = False, print_tiles = False, verbose = False, tracing = True} steps 1 using 15 tiles tile all rules steps: 1 property Termination has value Just True for SRS [[<, c], [c, c], [c, c], [c, >]] -> [ [<, a] , [a, a] , [a, c] , [ c , > ] ] {- Semlab 0 (Concon 0 (Input 0)) -} [[<, c], [c, c], [c, c], [c, c]] -> [ [<, a] , [a, a] , [a, c] , [ c , c ] ] {- Semlab 0 (Concon 1 (Input 0)) -} [[<, c], [c, c], [c, c], [c, a]] -> [ [<, a] , [a, a] , [a, c] , [ c , a ] ] {- Semlab 0 (Concon 2 (Input 0)) -} [[<, c], [c, c], [c, c], [c, b]] -> [ [<, a] , [a, a] , [a, c] , [ c , b ] ] {- Semlab 0 (Concon 3 (Input 0)) -} [[c, c], [c, c], [c, c], [c, >]] -> [ [c, a] , [a, a] , [a, c] , [ c , > ] ] {- Semlab 1 (Concon 0 (Input 0)) -} [[c, c], [c, c], [c, c], [c, c]] -> [ [c, a] , [a, a] , [a, c] , [ c , c ] ] {- Semlab 1 (Concon 1 (Input 0)) -} [[c, c], [c, c], [c, c], [c, a]] -> [ [c, a] , [a, a] , [a, c] , [ c , a ] ] {- Semlab 1 (Concon 2 (Input 0)) -} [[c, c], [c, c], [c, c], [c, b]] -> [ [c, a] , [a, a] , [a, c] , [ c , b ] ] {- Semlab 1 (Concon 3 (Input 0)) -} [[a, c], [c, c], [c, c], [c, >]] -> [ [a, a] , [a, a] , [a, c] , [ c , > ] ] {- Semlab 2 (Concon 0 (Input 0)) -} [[a, c], [c, c], [c, c], [c, c]] -> [ [a, a] , [a, a] , [a, c] , [ c , c ] ] {- Semlab 2 (Concon 1 (Input 0)) -} [[a, c], [c, c], [c, c], [c, a]] -> [ [a, a] , [a, a] , [a, c] , [ c , a ] ] {- Semlab 2 (Concon 2 (Input 0)) -} [[a, c], [c, c], [c, c], [c, b]] -> [ [a, a] , [a, a] , [a, c] , [ c , b ] ] {- Semlab 2 (Concon 3 (Input 0)) -} [[b, c], [c, c], [c, c], [c, >]] -> [ [b, a] , [a, a] , [a, c] , [ c , > ] ] {- Semlab 3 (Concon 0 (Input 0)) -} [[b, c], [c, c], [c, c], [c, c]] -> [ [b, a] , [a, a] , [a, c] , [ c , c ] ] {- Semlab 3 (Concon 1 (Input 0)) -} [[b, c], [c, c], [c, c], [c, a]] -> [ [b, a] , [a, a] , [a, c] , [ c , a ] ] {- Semlab 3 (Concon 2 (Input 0)) -} [[b, c], [c, c], [c, c], [c, b]] -> [ [b, a] , [a, a] , [a, c] , [ c , b ] ] {- Semlab 3 (Concon 3 (Input 0)) -} [[<, b], [b, a], [a, a], [a, >]] -> [ [<, b] , [b, b] , [b, c] , [ c , > ] ] {- Semlab 0 (Concon 0 (Input 1)) -} [[<, b], [b, a], [a, a], [a, c]] -> [ [<, b] , [b, b] , [b, c] , [ c , c ] ] {- Semlab 0 (Concon 1 (Input 1)) -} [[<, b], [b, a], [a, a], [a, a]] -> [ [<, b] , [b, b] , [b, c] , [ c , a ] ] {- Semlab 0 (Concon 2 (Input 1)) -} [[<, b], [b, a], [a, a], [a, b]] -> [ [<, b] , [b, b] , [b, c] , [ c , b ] ] {- Semlab 0 (Concon 3 (Input 1)) -} [[c, b], [b, a], [a, a], [a, >]] -> [ [c, b] , [b, b] , [b, c] , [ c , > ] ] {- Semlab 1 (Concon 0 (Input 1)) -} [[c, b], [b, a], [a, a], [a, c]] -> [ [c, b] , [b, b] , [b, c] , [ c , c ] ] {- Semlab 1 (Concon 1 (Input 1)) -} [[c, b], [b, a], [a, a], [a, a]] -> [ [c, b] , [b, b] , [b, c] , [ c , a ] ] {- Semlab 1 (Concon 2 (Input 1)) -} [[c, b], [b, a], [a, a], [a, b]] -> [ [c, b] , [b, b] , [b, c] , [ c , b ] ] {- Semlab 1 (Concon 3 (Input 1)) -} [[a, b], [b, a], [a, a], [a, >]] -> [ [a, b] , [b, b] , [b, c] , [ c , > ] ] {- Semlab 2 (Concon 0 (Input 1)) -} [[a, b], [b, a], [a, a], [a, c]] -> [ [a, b] , [b, b] , [b, c] , [ c , c ] ] {- Semlab 2 (Concon 1 (Input 1)) -} [[a, b], [b, a], [a, a], [a, a]] -> [ [a, b] , [b, b] , [b, c] , [ c , a ] ] {- Semlab 2 (Concon 2 (Input 1)) -} [[a, b], [b, a], [a, a], [a, b]] -> [ [a, b] , [b, b] , [b, c] , [ c , b ] ] {- Semlab 2 (Concon 3 (Input 1)) -} [[b, b], [b, a], [a, a], [a, >]] -> [ [b, b] , [b, b] , [b, c] , [ c , > ] ] {- Semlab 3 (Concon 0 (Input 1)) -} [[b, b], [b, a], [a, a], [a, c]] -> [ [b, b] , [b, b] , [b, c] , [ c , c ] ] {- Semlab 3 (Concon 1 (Input 1)) -} [[b, b], [b, a], [a, a], [a, a]] -> [ [b, b] , [b, b] , [b, c] , [ c , a ] ] {- Semlab 3 (Concon 2 (Input 1)) -} [[b, b], [b, a], [a, a], [a, b]] -> [ [b, b] , [b, b] , [b, c] , [ c , b ] ] {- Semlab 3 (Concon 3 (Input 1)) -} [[<, c], [c, a], [a, c], [c, >]] -> [ [<, a] , [a, c] , [c, c] , [ c , > ] ] {- Semlab 0 (Concon 0 (Input 2)) -} [[<, c], [c, a], [a, c], [c, c]] -> [ [<, a] , [a, c] , [c, c] , [ c , c ] ] {- Semlab 0 (Concon 1 (Input 2)) -} [[<, c], [c, a], [a, c], [c, a]] -> [ [<, a] , [a, c] , [c, c] , [ c , a ] ] {- Semlab 0 (Concon 2 (Input 2)) -} [[<, c], [c, a], [a, c], [c, b]] -> [ [<, a] , [a, c] , [c, c] , [ c , b ] ] {- Semlab 0 (Concon 3 (Input 2)) -} [[c, c], [c, a], [a, c], [c, >]] -> [ [c, a] , [a, c] , [c, c] , [ c , > ] ] {- Semlab 1 (Concon 0 (Input 2)) -} [[c, c], [c, a], [a, c], [c, c]] -> [ [c, a] , [a, c] , [c, c] , [ c , c ] ] {- Semlab 1 (Concon 1 (Input 2)) -} [[c, c], [c, a], [a, c], [c, a]] -> [ [c, a] , [a, c] , [c, c] , [ c , a ] ] {- Semlab 1 (Concon 2 (Input 2)) -} [[c, c], [c, a], [a, c], [c, b]] -> [ [c, a] , [a, c] , [c, c] , [ c , b ] ] {- Semlab 1 (Concon 3 (Input 2)) -} [[a, c], [c, a], [a, c], [c, >]] -> [ [a, a] , [a, c] , [c, c] , [ c , > ] ] {- Semlab 2 (Concon 0 (Input 2)) -} [[a, c], [c, a], [a, c], [c, c]] -> [ [a, a] , [a, c] , [c, c] , [ c , c ] ] {- Semlab 2 (Concon 1 (Input 2)) -} [[a, c], [c, a], [a, c], [c, a]] -> [ [a, a] , [a, c] , [c, c] , [ c , a ] ] {- Semlab 2 (Concon 2 (Input 2)) -} [[a, c], [c, a], [a, c], [c, b]] -> [ [a, a] , [a, c] , [c, c] , [ c , b ] ] {- Semlab 2 (Concon 3 (Input 2)) -} [[b, c], [c, a], [a, c], [c, >]] -> [ [b, a] , [a, c] , [c, c] , [ c , > ] ] {- Semlab 3 (Concon 0 (Input 2)) -} [[b, c], [c, a], [a, c], [c, c]] -> [ [b, a] , [a, c] , [c, c] , [ c , c ] ] {- Semlab 3 (Concon 1 (Input 2)) -} [[b, c], [c, a], [a, c], [c, a]] -> [ [b, a] , [a, c] , [c, c] , [ c , a ] ] {- Semlab 3 (Concon 2 (Input 2)) -} [[b, c], [c, a], [a, c], [c, b]] -> [ [b, a] , [a, c] , [c, c] , [ c , b ] ] {- Semlab 3 (Concon 3 (Input 2)) -} [[<, b], [b, c], [c, c], [c, >]] -> [ [<, b] , [b, c] , [c, b] , [ b , > ] ] {- Semlab 0 (Concon 0 (Input 3)) -} [[<, b], [b, c], [c, c], [c, c]] -> [ [<, b] , [b, c] , [c, b] , [ b , c ] ] {- Semlab 0 (Concon 1 (Input 3)) -} [[<, b], [b, c], [c, c], [c, a]] -> [ [<, b] , [b, c] , [c, b] , [ b , a ] ] {- Semlab 0 (Concon 2 (Input 3)) -} [[<, b], [b, c], [c, c], [c, b]] -> [ [<, b] , [b, c] , [c, b] , [ b , b ] ] {- Semlab 0 (Concon 3 (Input 3)) -} [[c, b], [b, c], [c, c], [c, >]] -> [ [c, b] , [b, c] , [c, b] , [ b , > ] ] {- Semlab 1 (Concon 0 (Input 3)) -} [[c, b], [b, c], [c, c], [c, c]] -> [ [c, b] , [b, c] , [c, b] , [ b , c ] ] {- Semlab 1 (Concon 1 (Input 3)) -} [[c, b], [b, c], [c, c], [c, a]] -> [ [c, b] , [b, c] , [c, b] , [ b , a ] ] {- Semlab 1 (Concon 2 (Input 3)) -} [[c, b], [b, c], [c, c], [c, b]] -> [ [c, b] , [b, c] , [c, b] , [ b , b ] ] {- Semlab 1 (Concon 3 (Input 3)) -} [[a, b], [b, c], [c, c], [c, >]] -> [ [a, b] , [b, c] , [c, b] , [ b , > ] ] {- Semlab 2 (Concon 0 (Input 3)) -} [[a, b], [b, c], [c, c], [c, c]] -> [ [a, b] , [b, c] , [c, b] , [ b , c ] ] {- Semlab 2 (Concon 1 (Input 3)) -} [[a, b], [b, c], [c, c], [c, a]] -> [ [a, b] , [b, c] , [c, b] , [ b , a ] ] {- Semlab 2 (Concon 2 (Input 3)) -} [[a, b], [b, c], [c, c], [c, b]] -> [ [a, b] , [b, c] , [c, b] , [ b , b ] ] {- Semlab 2 (Concon 3 (Input 3)) -} [[b, b], [b, c], [c, c], [c, >]] -> [ [b, b] , [b, c] , [c, b] , [ b , > ] ] {- Semlab 3 (Concon 0 (Input 3)) -} [[b, b], [b, c], [c, c], [c, c]] -> [ [b, b] , [b, c] , [c, b] , [ b , c ] ] {- Semlab 3 (Concon 1 (Input 3)) -} [[b, b], [b, c], [c, c], [c, a]] -> [ [b, b] , [b, c] , [c, b] , [ b , a ] ] {- Semlab 3 (Concon 2 (Input 3)) -} [[b, b], [b, c], [c, c], [c, b]] -> [ [b, b] , [b, c] , [c, b] , [ b , b ] ] {- Semlab 3 (Concon 3 (Input 3)) -} [[<, a], [a, a], [a, b], [b, >]] ->= [ [<, c] , [c, b] , [b, a] , [ a , > ] ] {- Semlab 0 (Concon 0 (Input 4)) -} [[<, a], [a, a], [a, b], [b, c]] ->= [ [<, c] , [c, b] , [b, a] , [ a , c ] ] {- Semlab 0 (Concon 1 (Input 4)) -} [[<, a], [a, a], [a, b], [b, a]] ->= [ [<, c] , [c, b] , [b, a] , [ a , a ] ] {- Semlab 0 (Concon 2 (Input 4)) -} [[<, a], [a, a], [a, b], [b, b]] ->= [ [<, c] , [c, b] , [b, a] , [ a , b ] ] {- Semlab 0 (Concon 3 (Input 4)) -} [[c, a], [a, a], [a, b], [b, >]] ->= [ [c, c] , [c, b] , [b, a] , [ a , > ] ] {- Semlab 1 (Concon 0 (Input 4)) -} [[c, a], [a, a], [a, b], [b, c]] ->= [ [c, c] , [c, b] , [b, a] , [ a , c ] ] {- Semlab 1 (Concon 1 (Input 4)) -} [[c, a], [a, a], [a, b], [b, a]] ->= [ [c, c] , [c, b] , [b, a] , [ a , a ] ] {- Semlab 1 (Concon 2 (Input 4)) -} [[c, a], [a, a], [a, b], [b, b]] ->= [ [c, c] , [c, b] , [b, a] , [ a , b ] ] {- Semlab 1 (Concon 3 (Input 4)) -} [[a, a], [a, a], [a, b], [b, >]] ->= [ [a, c] , [c, b] , [b, a] , [ a , > ] ] {- Semlab 2 (Concon 0 (Input 4)) -} [[a, a], [a, a], [a, b], [b, c]] ->= [ [a, c] , [c, b] , [b, a] , [ a , c ] ] {- Semlab 2 (Concon 1 (Input 4)) -} [[a, a], [a, a], [a, b], [b, a]] ->= [ [a, c] , [c, b] , [b, a] , [ a , a ] ] {- Semlab 2 (Concon 2 (Input 4)) -} [[a, a], [a, a], [a, b], [b, b]] ->= [ [a, c] , [c, b] , [b, a] , [ a , b ] ] {- Semlab 2 (Concon 3 (Input 4)) -} [[b, a], [a, a], [a, b], [b, >]] ->= [ [b, c] , [c, b] , [b, a] , [ a , > ] ] {- Semlab 3 (Concon 0 (Input 4)) -} [[b, a], [a, a], [a, b], [b, c]] ->= [ [b, c] , [c, b] , [b, a] , [ a , c ] ] {- Semlab 3 (Concon 1 (Input 4)) -} [[b, a], [a, a], [a, b], [b, a]] ->= [ [b, c] , [c, b] , [b, a] , [ a , a ] ] {- Semlab 3 (Concon 2 (Input 4)) -} [[b, a], [a, a], [a, b], [b, b]] ->= [ [b, c] , [c, b] , [b, a] , [ a , b ] ] {- Semlab 3 (Concon 3 (Input 4)) -} [[<, a], [a, b], [b, a], [a, >]] ->= [ [<, a] , [a, c] , [c, c] , [ c , > ] ] {- Semlab 0 (Concon 0 (Input 5)) -} [[<, a], [a, b], [b, a], [a, c]] ->= [ [<, a] , [a, c] , [c, c] , [ c , c ] ] {- Semlab 0 (Concon 1 (Input 5)) -} [[<, a], [a, b], [b, a], [a, a]] ->= [ [<, a] , [a, c] , [c, c] , [ c , a ] ] {- Semlab 0 (Concon 2 (Input 5)) -} [[<, a], [a, b], [b, a], [a, b]] ->= [ [<, a] , [a, c] , [c, c] , [ c , b ] ] {- Semlab 0 (Concon 3 (Input 5)) -} [[c, a], [a, b], [b, a], [a, >]] ->= [ [c, a] , [a, c] , [c, c] , [ c , > ] ] {- Semlab 1 (Concon 0 (Input 5)) -} [[c, a], [a, b], [b, a], [a, c]] ->= [ [c, a] , [a, c] , [c, c] , [ c , c ] ] {- Semlab 1 (Concon 1 (Input 5)) -} [[c, a], [a, b], [b, a], [a, a]] ->= [ [c, a] , [a, c] , [c, c] , [ c , a ] ] {- Semlab 1 (Concon 2 (Input 5)) -} [[c, a], [a, b], [b, a], [a, b]] ->= [ [c, a] , [a, c] , [c, c] , [ c , b ] ] {- Semlab 1 (Concon 3 (Input 5)) -} [[a, a], [a, b], [b, a], [a, >]] ->= [ [a, a] , [a, c] , [c, c] , [ c , > ] ] {- Semlab 2 (Concon 0 (Input 5)) -} [[a, a], [a, b], [b, a], [a, c]] ->= [ [a, a] , [a, c] , [c, c] , [ c , c ] ] {- Semlab 2 (Concon 1 (Input 5)) -} [[a, a], [a, b], [b, a], [a, a]] ->= [ [a, a] , [a, c] , [c, c] , [ c , a ] ] {- Semlab 2 (Concon 2 (Input 5)) -} [[a, a], [a, b], [b, a], [a, b]] ->= [ [a, a] , [a, c] , [c, c] , [ c , b ] ] {- Semlab 2 (Concon 3 (Input 5)) -} [[b, a], [a, b], [b, a], [a, >]] ->= [ [b, a] , [a, c] , [c, c] , [ c , > ] ] {- Semlab 3 (Concon 0 (Input 5)) -} [[b, a], [a, b], [b, a], [a, c]] ->= [ [b, a] , [a, c] , [c, c] , [ c , c ] ] {- Semlab 3 (Concon 1 (Input 5)) -} [[b, a], [a, b], [b, a], [a, a]] ->= [ [b, a] , [a, c] , [c, c] , [ c , a ] ] {- Semlab 3 (Concon 2 (Input 5)) -} [[b, a], [a, b], [b, a], [a, b]] ->= [ [b, a] , [a, c] , [c, c] , [ c , b ] ] {- Semlab 3 (Concon 3 (Input 5)) -} reason ([<, c], 3/2) ([c, c], 25/1) ([c, >], 1/1) ([a, a], 17/1) ([a, c], 31/2) ([c, a], 29/1) ([b, c], 4/1) ([a, >], 1/1) ([a, b], 107/2) property Termination has value Just True for SRS [[c, c], [c, a], [a, c], [c, >]] -> [ [c, a] , [a, c] , [c, c] , [ c , > ] ] {- Semlab 1 (Concon 0 (Input 2)) -} [[c, c], [c, a], [a, c], [c, c]] -> [ [c, a] , [a, c] , [c, c] , [ c , c ] ] {- Semlab 1 (Concon 1 (Input 2)) -} [[c, c], [c, a], [a, c], [c, a]] -> [ [c, a] , [a, c] , [c, c] , [ c , a ] ] {- Semlab 1 (Concon 2 (Input 2)) -} [[c, c], [c, a], [a, c], [c, b]] -> [ [c, a] , [a, c] , [c, c] , [ c , b ] ] {- Semlab 1 (Concon 3 (Input 2)) -} reason Tiling { method = Overlap, width = 2, state_type = Bit64, map_type = Enum, unlabel = True, print_completion_steps = False, print_tiles = False, verbose = False, tracing = True} steps 1 using 12 tiles remove some unmatched rules steps: 1 property Termination has value Just True for SRS [[c, c], [c, a], [a, c], [c, c]] -> [ [c, a] , [a, c] , [c, c] , [ c , c ] ] {- Semlab 1 (Concon 1 (Input 2)) -} [[c, c], [c, a], [a, c], [c, a]] -> [ [c, a] , [a, c] , [c, c] , [ c , a ] ] {- Semlab 1 (Concon 2 (Input 2)) -} reason mirror property Termination has value Just True for SRS [[c, c], [a, c], [c, a], [c, c]] -> [ [c, c] , [c, c] , [a, c] , [ c , a ] ] {- Mirror (Semlab 1 (Concon 1 (Input 2))) -} [[c, a], [a, c], [c, a], [c, c]] -> [ [c, a] , [c, c] , [a, c] , [ c , a ] ] {- Mirror (Semlab 1 (Concon 2 (Input 2))) -} reason ( [c, c] , St / 1 1 \ \ 0 1 / ) ( [c, a] , St / 1 1 \ \ 0 1 / ) ( [a, c] , St / 2 1 \ \ 0 1 / ) property Termination has value Just True for SRS reason no strict rules ************************************************** skeleton: (4/2,3)\TileAllROC{2}(64/32,15)\Weight(4,5)\TileRemoveROC{2}\Mirror(2,3)\Matrix{\Natural}{2}(0,0)[] ************************************************** let {} in let {done = Worker No_Strict_Rules;mo = Pre (Or_Else Count (IfSizeLeq 100000 GLPK Fail));wop = Or_Else (Worker (Weight {modus = mo})) Pass;weighted = \ m -> And_Then m wop;when_small = \ m -> And_Then (Worker (SizeAtmost 100)) m;when_medium = \ m -> And_Then (Worker (SizeAtmost 10000)) m;tiling = \ m w -> weighted (And_Then (Worker (Tiling {method = m,width = w,tracing = True})) (Worker Remap));matrix = \ mo dom dim bits -> when_small (weighted (Worker (Matrix {monotone = mo,domain = dom,dim = dim,bits = bits,shape = Corner})));kbo = \ b -> when_medium (weighted (Worker (KBO {bits = b,solver = Minisatapi})));yeah = Apply wop (Tree_Search_Preemptive 0 done ([ ] <> ([ kbo 1, And_Then (Worker Mirror) (kbo 1)] <> ((for [ 3, 4] (\ d -> matrix Strict Natural d 3)) <> (for [ 2, 3, 5] (\ w -> tiling Overlap w))))));noh = [ Timeout 5 (Worker (Enumerate {closure = Forward})), Timeout 5 (Worker (Enumerate {closure = Backward}))]} in Apply (Worker Remap) (First_Of ([ yeah] <> noh))