/export/starexec/sandbox2/solver/bin/starexec_run_tc20-rel.sh /export/starexec/sandbox2/benchmark/theBenchmark.xml /export/starexec/sandbox2/output/output_files -------------------------------------------------------------------------------- YES ************************************************** summary ************************************************** SRS with 2 strict rules and 4 weak rules on 3 letters weights SRS with 1 strict rules and 2 weak rules on 3 letters mirror SRS with 1 strict rules and 2 weak rules on 3 letters Matrix { monotone = Strict, domain = Natural, shape = Full, bits = 3, dim = 2, solver = Minisatapi, verbose = False, tracing = False} SRS with 1 strict rules and 1 weak rules on 3 letters tile all, by Config { method = Overlap,width = 3,unlabel = True} SRS with 42 strict rules and 7 weak rules on 20 letters weights SRS with 4 strict rules and 4 weak rules on 14 letters remove some, by Config { method = Overlap,width = 2,unlabel = True} SRS with 4 strict rules and 1 weak rules on 14 letters weights SRS with 1 strict rules and 1 weak rules on 9 letters remove some, by Config { method = Overlap,width = 2,unlabel = True} SRS with 0 rules on 0 letters no strict rules ************************************************** proof ************************************************** property Termination has value Just True for SRS [a, c, a] -> [c, a, c] {- Input 0 -} [c, b, a] -> [b, c, b] {- Input 1 -} [c, c, c] ->= [a, b, c] {- Input 2 -} [a, a, b] ->= [c, b, a] {- Input 3 -} [b, c, c] ->= [b, c, a] {- Input 4 -} [b, a, a] ->= [b, c, b] {- Input 5 -} reason (a, 1/3) (c, 1/3) property Termination has value Just True for SRS [a, c, a] -> [c, a, c] {- Input 0 -} [a, a, b] ->= [c, b, a] {- Input 3 -} [b, c, c] ->= [b, c, a] {- Input 4 -} reason mirror property Termination has value Just True for SRS [a, c, a] -> [c, a, c] {- Mirror (Input 0) -} [b, a, a] ->= [a, b, c] {- Mirror (Input 3) -} [c, c, b] ->= [a, c, b] {- Mirror (Input 4) -} reason ( a , St / 1 1 \ \ 0 1 / ) ( c , St / 1 1 \ \ 0 1 / ) ( b , St / 2 1 \ \ 0 1 / ) property Termination has value Just True for SRS [a, c, a] -> [c, a, c] {- Mirror (Input 0) -} [c, c, b] ->= [a, c, b] {- Mirror (Input 4) -} reason Tiling { method = Overlap, width = 3, state_type = Bit64, map_type = Enum, unlabel = True, print_completion_steps = False, print_tiles = False, verbose = False, tracing = True} steps 2 using 19 tiles tile all rules steps: 2 property Termination has value Just True for SRS [[<, <, a], [<, a, c], [a, c, a], [c, a, a], [a, a, a]] -> [ [<, <, c] , [<, c, a] , [c, a, c] , [a, c, a] , [ c , a , a ] ] {- Semlab 0 (Concon 0 (Mirror (Input 0))) -} [[<, <, a], [<, a, c], [a, c, a], [c, a, a], [a, a, c]] -> [ [<, <, c] , [<, c, a] , [c, a, c] , [a, c, a] , [ c , a , c ] ] {- Semlab 0 (Concon 1 (Mirror (Input 0))) -} [[<, <, a], [<, a, c], [a, c, a], [c, a, c], [a, c, >]] -> [ [<, <, c] , [<, c, a] , [c, a, c] , [a, c, c] , [ c , c , > ] ] {- Semlab 0 (Concon 2 (Mirror (Input 0))) -} [[<, <, a], [<, a, c], [a, c, a], [c, a, c], [a, c, a]] -> [ [<, <, c] , [<, c, a] , [c, a, c] , [a, c, c] , [ c , c , a ] ] {- Semlab 0 (Concon 3 (Mirror (Input 0))) -} [[<, <, a], [<, a, c], [a, c, a], [c, a, c], [a, c, c]] -> [ [<, <, c] , [<, c, a] , [c, a, c] , [a, c, c] , [ c , c , c ] ] {- Semlab 0 (Concon 4 (Mirror (Input 0))) -} [[<, <, a], [<, a, c], [a, c, a], [c, a, c], [a, c, b]] -> [ [<, <, c] , [<, c, a] , [c, a, c] , [a, c, c] , [ c , c , b ] ] {- Semlab 0 (Concon 5 (Mirror (Input 0))) -} [[<, a, a], [a, a, c], [a, c, a], [c, a, a], [a, a, a]] -> [ [<, a, c] , [a, c, a] , [c, a, c] , [a, c, a] , [ c , a , a ] ] {- Semlab 1 (Concon 0 (Mirror (Input 0))) -} [[<, a, a], [a, a, c], [a, c, a], [c, a, a], [a, a, c]] -> [ [<, a, c] , [a, c, a] , [c, a, c] , [a, c, a] , [ c , a , c ] ] {- Semlab 1 (Concon 1 (Mirror (Input 0))) -} [[<, a, a], [a, a, c], [a, c, a], [c, a, c], [a, c, >]] -> [ [<, a, c] , [a, c, a] , [c, a, c] , [a, c, c] , [ c , c , > ] ] {- Semlab 1 (Concon 2 (Mirror (Input 0))) -} [[<, a, a], [a, a, c], [a, c, a], [c, a, c], [a, c, a]] -> [ [<, a, c] , [a, c, a] , [c, a, c] , [a, c, c] , [ c , c , a ] ] {- Semlab 1 (Concon 3 (Mirror (Input 0))) -} [[<, a, a], [a, a, c], [a, c, a], [c, a, c], [a, c, c]] -> [ [<, a, c] , [a, c, a] , [c, a, c] , [a, c, c] , [ c , c , c ] ] {- Semlab 1 (Concon 4 (Mirror (Input 0))) -} [[<, a, a], [a, a, c], [a, c, a], [c, a, c], [a, c, b]] -> [ [<, a, c] , [a, c, a] , [c, a, c] , [a, c, c] , [ c , c , b ] ] {- Semlab 1 (Concon 5 (Mirror (Input 0))) -} [[<, c, a], [c, a, c], [a, c, a], [c, a, a], [a, a, a]] -> [ [<, c, c] , [c, c, a] , [c, a, c] , [a, c, a] , [ c , a , a ] ] {- Semlab 2 (Concon 0 (Mirror (Input 0))) -} [[<, c, a], [c, a, c], [a, c, a], [c, a, a], [a, a, c]] -> [ [<, c, c] , [c, c, a] , [c, a, c] , [a, c, a] , [ c , a , c ] ] {- Semlab 2 (Concon 1 (Mirror (Input 0))) -} [[<, c, a], [c, a, c], [a, c, a], [c, a, c], [a, c, >]] -> [ [<, c, c] , [c, c, a] , [c, a, c] , [a, c, c] , [ c , c , > ] ] {- Semlab 2 (Concon 2 (Mirror (Input 0))) -} [[<, c, a], [c, a, c], [a, c, a], [c, a, c], [a, c, a]] -> [ [<, c, c] , [c, c, a] , [c, a, c] , [a, c, c] , [ c , c , a ] ] {- Semlab 2 (Concon 3 (Mirror (Input 0))) -} [[<, c, a], [c, a, c], [a, c, a], [c, a, c], [a, c, c]] -> [ [<, c, c] , [c, c, a] , [c, a, c] , [a, c, c] , [ c , c , c ] ] {- Semlab 2 (Concon 4 (Mirror (Input 0))) -} [[<, c, a], [c, a, c], [a, c, a], [c, a, c], [a, c, b]] -> [ [<, c, c] , [c, c, a] , [c, a, c] , [a, c, c] , [ c , c , b ] ] {- Semlab 2 (Concon 5 (Mirror (Input 0))) -} [[a, a, a], [a, a, c], [a, c, a], [c, a, a], [a, a, a]] -> [ [a, a, c] , [a, c, a] , [c, a, c] , [a, c, a] , [ c , a , a ] ] {- Semlab 3 (Concon 0 (Mirror (Input 0))) -} [[a, a, a], [a, a, c], [a, c, a], [c, a, a], [a, a, c]] -> [ [a, a, c] , [a, c, a] , [c, a, c] , [a, c, a] , [ c , a , c ] ] {- Semlab 3 (Concon 1 (Mirror (Input 0))) -} [[a, a, a], [a, a, c], [a, c, a], [c, a, c], [a, c, >]] -> [ [a, a, c] , [a, c, a] , [c, a, c] , [a, c, c] , [ c , c , > ] ] {- Semlab 3 (Concon 2 (Mirror (Input 0))) -} [[a, a, a], [a, a, c], [a, c, a], [c, a, c], [a, c, a]] -> [ [a, a, c] , [a, c, a] , [c, a, c] , [a, c, c] , [ c , c , a ] ] {- Semlab 3 (Concon 3 (Mirror (Input 0))) -} [[a, a, a], [a, a, c], [a, c, a], [c, a, c], [a, c, c]] -> [ [a, a, c] , [a, c, a] , [c, a, c] , [a, c, c] , [ c , c , c ] ] {- Semlab 3 (Concon 4 (Mirror (Input 0))) -} [[a, a, a], [a, a, c], [a, c, a], [c, a, c], [a, c, b]] -> [ [a, a, c] , [a, c, a] , [c, a, c] , [a, c, c] , [ c , c , b ] ] {- Semlab 3 (Concon 5 (Mirror (Input 0))) -} [[a, c, a], [c, a, c], [a, c, a], [c, a, a], [a, a, a]] -> [ [a, c, c] , [c, c, a] , [c, a, c] , [a, c, a] , [ c , a , a ] ] {- Semlab 4 (Concon 0 (Mirror (Input 0))) -} [[a, c, a], [c, a, c], [a, c, a], [c, a, a], [a, a, c]] -> [ [a, c, c] , [c, c, a] , [c, a, c] , [a, c, a] , [ c , a , c ] ] {- Semlab 4 (Concon 1 (Mirror (Input 0))) -} [[a, c, a], [c, a, c], [a, c, a], [c, a, c], [a, c, >]] -> [ [a, c, c] , [c, c, a] , [c, a, c] , [a, c, c] , [ c , c , > ] ] {- Semlab 4 (Concon 2 (Mirror (Input 0))) -} [[a, c, a], [c, a, c], [a, c, a], [c, a, c], [a, c, a]] -> [ [a, c, c] , [c, c, a] , [c, a, c] , [a, c, c] , [ c , c , a ] ] {- Semlab 4 (Concon 3 (Mirror (Input 0))) -} [[a, c, a], [c, a, c], [a, c, a], [c, a, c], [a, c, c]] -> [ [a, c, c] , [c, c, a] , [c, a, c] , [a, c, c] , [ c , c , c ] ] {- Semlab 4 (Concon 4 (Mirror (Input 0))) -} [[a, c, a], [c, a, c], [a, c, a], [c, a, c], [a, c, b]] -> [ [a, c, c] , [c, c, a] , [c, a, c] , [a, c, c] , [ c , c , b ] ] {- Semlab 4 (Concon 5 (Mirror (Input 0))) -} [[c, a, a], [a, a, c], [a, c, a], [c, a, a], [a, a, a]] -> [ [c, a, c] , [a, c, a] , [c, a, c] , [a, c, a] , [ c , a , a ] ] {- Semlab 5 (Concon 0 (Mirror (Input 0))) -} [[c, a, a], [a, a, c], [a, c, a], [c, a, a], [a, a, c]] -> [ [c, a, c] , [a, c, a] , [c, a, c] , [a, c, a] , [ c , a , c ] ] {- Semlab 5 (Concon 1 (Mirror (Input 0))) -} [[c, a, a], [a, a, c], [a, c, a], [c, a, c], [a, c, >]] -> [ [c, a, c] , [a, c, a] , [c, a, c] , [a, c, c] , [ c , c , > ] ] {- Semlab 5 (Concon 2 (Mirror (Input 0))) -} [[c, a, a], [a, a, c], [a, c, a], [c, a, c], [a, c, a]] -> [ [c, a, c] , [a, c, a] , [c, a, c] , [a, c, c] , [ c , c , a ] ] {- Semlab 5 (Concon 3 (Mirror (Input 0))) -} [[c, a, a], [a, a, c], [a, c, a], [c, a, c], [a, c, c]] -> [ [c, a, c] , [a, c, a] , [c, a, c] , [a, c, c] , [ c , c , c ] ] {- Semlab 5 (Concon 4 (Mirror (Input 0))) -} [[c, a, a], [a, a, c], [a, c, a], [c, a, c], [a, c, b]] -> [ [c, a, c] , [a, c, a] , [c, a, c] , [a, c, c] , [ c , c , b ] ] {- Semlab 5 (Concon 5 (Mirror (Input 0))) -} [[c, c, a], [c, a, c], [a, c, a], [c, a, a], [a, a, a]] -> [ [c, c, c] , [c, c, a] , [c, a, c] , [a, c, a] , [ c , a , a ] ] {- Semlab 6 (Concon 0 (Mirror (Input 0))) -} [[c, c, a], [c, a, c], [a, c, a], [c, a, a], [a, a, c]] -> [ [c, c, c] , [c, c, a] , [c, a, c] , [a, c, a] , [ c , a , c ] ] {- Semlab 6 (Concon 1 (Mirror (Input 0))) -} [[c, c, a], [c, a, c], [a, c, a], [c, a, c], [a, c, >]] -> [ [c, c, c] , [c, c, a] , [c, a, c] , [a, c, c] , [ c , c , > ] ] {- Semlab 6 (Concon 2 (Mirror (Input 0))) -} [[c, c, a], [c, a, c], [a, c, a], [c, a, c], [a, c, a]] -> [ [c, c, c] , [c, c, a] , [c, a, c] , [a, c, c] , [ c , c , a ] ] {- Semlab 6 (Concon 3 (Mirror (Input 0))) -} [[c, c, a], [c, a, c], [a, c, a], [c, a, c], [a, c, c]] -> [ [c, c, c] , [c, c, a] , [c, a, c] , [a, c, c] , [ c , c , c ] ] {- Semlab 6 (Concon 4 (Mirror (Input 0))) -} [[c, c, a], [c, a, c], [a, c, a], [c, a, c], [a, c, b]] -> [ [c, c, c] , [c, c, a] , [c, a, c] , [a, c, c] , [ c , c , b ] ] {- Semlab 6 (Concon 5 (Mirror (Input 0))) -} [[<, <, c], [<, c, c], [c, c, b], [c, b, >], [b, >, >]] ->= [ [<, <, a] , [<, a, c] , [a, c, b] , [c, b, >] , [ b , > , > ] ] {- Semlab 0 (Concon 0 (Mirror (Input 4))) -} [[<, a, c], [a, c, c], [c, c, b], [c, b, >], [b, >, >]] ->= [ [<, a, a] , [a, a, c] , [a, c, b] , [c, b, >] , [ b , > , > ] ] {- Semlab 1 (Concon 0 (Mirror (Input 4))) -} [[<, c, c], [c, c, c], [c, c, b], [c, b, >], [b, >, >]] ->= [ [<, c, a] , [c, a, c] , [a, c, b] , [c, b, >] , [ b , > , > ] ] {- Semlab 2 (Concon 0 (Mirror (Input 4))) -} [[a, a, c], [a, c, c], [c, c, b], [c, b, >], [b, >, >]] ->= [ [a, a, a] , [a, a, c] , [a, c, b] , [c, b, >] , [ b , > , > ] ] {- Semlab 3 (Concon 0 (Mirror (Input 4))) -} [[a, c, c], [c, c, c], [c, c, b], [c, b, >], [b, >, >]] ->= [ [a, c, a] , [c, a, c] , [a, c, b] , [c, b, >] , [ b , > , > ] ] {- Semlab 4 (Concon 0 (Mirror (Input 4))) -} [[c, a, c], [a, c, c], [c, c, b], [c, b, >], [b, >, >]] ->= [ [c, a, a] , [a, a, c] , [a, c, b] , [c, b, >] , [ b , > , > ] ] {- Semlab 5 (Concon 0 (Mirror (Input 4))) -} [[c, c, c], [c, c, c], [c, c, b], [c, b, >], [b, >, >]] ->= [ [c, c, a] , [c, a, c] , [a, c, b] , [c, b, >] , [ b , > , > ] ] {- Semlab 6 (Concon 0 (Mirror (Input 4))) -} reason ([<, <, a], 2/1) ([a, c, a], 3/1) ([a, a, a], 3/1) ([<, c, a], 1/1) ([a, a, c], 3/1) ([a, c, >], 1/1) ([c, c, b], 3/1) property Termination has value Just True for SRS [[<, a, a], [a, a, c], [a, c, a], [c, a, c], [a, c, b]] -> [ [<, a, c] , [a, c, a] , [c, a, c] , [a, c, c] , [ c , c , b ] ] {- Semlab 1 (Concon 5 (Mirror (Input 0))) -} [[a, a, a], [a, a, c], [a, c, a], [c, a, c], [a, c, b]] -> [ [a, a, c] , [a, c, a] , [c, a, c] , [a, c, c] , [ c , c , b ] ] {- Semlab 3 (Concon 5 (Mirror (Input 0))) -} [[c, a, a], [a, a, c], [a, c, a], [c, a, c], [a, c, b]] -> [ [c, a, c] , [a, c, a] , [c, a, c] , [a, c, c] , [ c , c , b ] ] {- Semlab 5 (Concon 5 (Mirror (Input 0))) -} [[c, c, a], [c, a, c], [a, c, a], [c, a, c], [a, c, b]] -> [ [c, c, c] , [c, c, a] , [c, a, c] , [a, c, c] , [ c , c , b ] ] {- Semlab 6 (Concon 5 (Mirror (Input 0))) -} [[<, a, c], [a, c, c], [c, c, b], [c, b, >], [b, >, >]] ->= [ [<, a, a] , [a, a, c] , [a, c, b] , [c, b, >] , [ b , > , > ] ] {- Semlab 1 (Concon 0 (Mirror (Input 4))) -} [[a, a, c], [a, c, c], [c, c, b], [c, b, >], [b, >, >]] ->= [ [a, a, a] , [a, a, c] , [a, c, b] , [c, b, >] , [ b , > , > ] ] {- Semlab 3 (Concon 0 (Mirror (Input 4))) -} [[a, c, c], [c, c, c], [c, c, b], [c, b, >], [b, >, >]] ->= [ [a, c, a] , [c, a, c] , [a, c, b] , [c, b, >] , [ b , > , > ] ] {- Semlab 4 (Concon 0 (Mirror (Input 4))) -} [[c, a, c], [a, c, c], [c, c, b], [c, b, >], [b, >, >]] ->= [ [c, a, a] , [a, a, c] , [a, c, b] , [c, b, >] , [ b , > , > ] ] {- Semlab 5 (Concon 0 (Mirror (Input 4))) -} 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 29 tiles remove some unmatched rules steps: 1 property Termination has value Just True for SRS [[<, a, a], [a, a, c], [a, c, a], [c, a, c], [a, c, b]] -> [ [<, a, c] , [a, c, a] , [c, a, c] , [a, c, c] , [ c , c , b ] ] {- Semlab 1 (Concon 5 (Mirror (Input 0))) -} [[a, a, a], [a, a, c], [a, c, a], [c, a, c], [a, c, b]] -> [ [a, a, c] , [a, c, a] , [c, a, c] , [a, c, c] , [ c , c , b ] ] {- Semlab 3 (Concon 5 (Mirror (Input 0))) -} [[c, a, a], [a, a, c], [a, c, a], [c, a, c], [a, c, b]] -> [ [c, a, c] , [a, c, a] , [c, a, c] , [a, c, c] , [ c , c , b ] ] {- Semlab 5 (Concon 5 (Mirror (Input 0))) -} [[c, c, a], [c, a, c], [a, c, a], [c, a, c], [a, c, b]] -> [ [c, c, c] , [c, c, a] , [c, a, c] , [a, c, c] , [ c , c , b ] ] {- Semlab 6 (Concon 5 (Mirror (Input 0))) -} [[c, a, c], [a, c, c], [c, c, b], [c, b, >], [b, >, >]] ->= [ [c, a, a] , [a, a, c] , [a, c, b] , [c, b, >] , [ b , > , > ] ] {- Semlab 5 (Concon 0 (Mirror (Input 4))) -} reason ([<, a, a], 1/1) ([a, c, a], 1/1) ([a, a, a], 1/1) property Termination has value Just True for SRS [[c, a, a], [a, a, c], [a, c, a], [c, a, c], [a, c, b]] -> [ [c, a, c] , [a, c, a] , [c, a, c] , [a, c, c] , [ c , c , b ] ] {- Semlab 5 (Concon 5 (Mirror (Input 0))) -} [[c, a, c], [a, c, c], [c, c, b], [c, b, >], [b, >, >]] ->= [ [c, a, a] , [a, a, c] , [a, c, b] , [c, b, >] , [ b , > , > ] ] {- Semlab 5 (Concon 0 (Mirror (Input 4))) -} 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 13 tiles remove some unmatched rules steps: 1 property Termination has value Just True for SRS reason no strict rules ************************************************** skeleton: (2/4,3)\Weight\Mirror(1/2,3)\Matrix{\Natural}{2}(1/1,3)\TileAllROC{3}(42/7,20)\Weight(4/4,14)\TileRemoveROC{2}(4/1,14)\Weight(1/1,9)\TileRemoveROC{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))