YES(?,O(n^1)) 3.25/1.02 YES(?,O(n^1)) 3.25/1.03 3.25/1.03 Problem: 3.25/1.03 active(zeros()) -> mark(cons(0(),zeros())) 3.25/1.03 active(U11(tt(),L)) -> mark(U12(tt(),L)) 3.25/1.03 active(U12(tt(),L)) -> mark(s(length(L))) 3.25/1.03 active(length(nil())) -> mark(0()) 3.25/1.03 active(length(cons(N,L))) -> mark(U11(tt(),L)) 3.25/1.03 active(cons(X1,X2)) -> cons(active(X1),X2) 3.25/1.03 active(U11(X1,X2)) -> U11(active(X1),X2) 3.25/1.03 active(U12(X1,X2)) -> U12(active(X1),X2) 3.25/1.03 active(s(X)) -> s(active(X)) 3.25/1.03 active(length(X)) -> length(active(X)) 3.25/1.03 cons(mark(X1),X2) -> mark(cons(X1,X2)) 3.25/1.03 U11(mark(X1),X2) -> mark(U11(X1,X2)) 3.25/1.03 U12(mark(X1),X2) -> mark(U12(X1,X2)) 3.25/1.03 s(mark(X)) -> mark(s(X)) 3.25/1.03 length(mark(X)) -> mark(length(X)) 3.25/1.03 proper(zeros()) -> ok(zeros()) 3.25/1.03 proper(cons(X1,X2)) -> cons(proper(X1),proper(X2)) 3.25/1.03 proper(0()) -> ok(0()) 3.25/1.03 proper(U11(X1,X2)) -> U11(proper(X1),proper(X2)) 3.25/1.03 proper(tt()) -> ok(tt()) 3.25/1.03 proper(U12(X1,X2)) -> U12(proper(X1),proper(X2)) 3.25/1.03 proper(s(X)) -> s(proper(X)) 3.25/1.03 proper(length(X)) -> length(proper(X)) 3.25/1.03 proper(nil()) -> ok(nil()) 3.25/1.03 cons(ok(X1),ok(X2)) -> ok(cons(X1,X2)) 3.25/1.03 U11(ok(X1),ok(X2)) -> ok(U11(X1,X2)) 3.25/1.03 U12(ok(X1),ok(X2)) -> ok(U12(X1,X2)) 3.25/1.03 s(ok(X)) -> ok(s(X)) 3.25/1.03 length(ok(X)) -> ok(length(X)) 3.25/1.03 top(mark(X)) -> top(proper(X)) 3.25/1.03 top(ok(X)) -> top(active(X)) 3.25/1.03 3.25/1.03 Proof: 3.25/1.03 Bounds Processor: 3.25/1.03 bound: 5 3.25/1.03 enrichment: match 3.25/1.03 automaton: 3.25/1.03 final states: {14,13,12,11,10,9,8,7} 3.25/1.03 transitions: 3.25/1.03 active3(52) -> 46* 3.25/1.03 top1(32) -> 14* 3.25/1.03 nil3() -> 53* 3.25/1.03 active1(5) -> 32* 3.25/1.03 active1(2) -> 32* 3.25/1.03 active1(4) -> 32* 3.25/1.03 active1(6) -> 32* 3.25/1.03 active1(1) -> 32* 3.25/1.03 active1(3) -> 32* 3.25/1.03 tt3() -> 53* 3.25/1.03 proper1(5) -> 32* 3.25/1.03 proper1(2) -> 32* 3.25/1.03 proper1(4) -> 32* 3.25/1.03 proper1(6) -> 32* 3.25/1.03 proper1(1) -> 32* 3.25/1.03 proper1(3) -> 32* 3.25/1.03 03() -> 56* 3.25/1.03 ok1(25) -> 25,10 3.25/1.03 ok1(27) -> 27,11 3.25/1.03 ok1(29) -> 29,12 3.25/1.03 ok1(19) -> 32,13 3.25/1.03 ok1(21) -> 21,8 3.25/1.03 ok1(23) -> 23,9 3.25/1.03 ok1(18) -> 32,13 3.25/1.03 zeros3() -> 53* 3.25/1.03 length1(5) -> 29* 3.25/1.03 length1(2) -> 29* 3.25/1.03 length1(4) -> 29* 3.25/1.03 length1(6) -> 29* 3.25/1.03 length1(1) -> 29* 3.25/1.03 length1(3) -> 29* 3.25/1.03 ok4(59) -> 46* 3.25/1.03 s1(5) -> 27* 3.25/1.03 s1(2) -> 27* 3.25/1.03 s1(4) -> 27* 3.25/1.03 s1(6) -> 27* 3.25/1.03 s1(1) -> 27* 3.25/1.03 s1(3) -> 27* 3.25/1.03 cons4(56,53) -> 59* 3.25/1.03 cons4(58,38) -> 46* 3.25/1.03 U121(3,1) -> 25* 3.25/1.03 U121(3,3) -> 25* 3.25/1.03 U121(3,5) -> 25* 3.25/1.03 U121(4,2) -> 25* 3.25/1.03 U121(4,4) -> 25* 3.25/1.03 U121(4,6) -> 25* 3.25/1.03 U121(5,1) -> 25* 3.25/1.03 U121(5,3) -> 25* 3.25/1.03 U121(5,5) -> 25* 3.25/1.03 U121(6,2) -> 25* 3.25/1.03 U121(1,2) -> 25* 3.25/1.03 U121(6,4) -> 25* 3.25/1.03 U121(1,4) -> 25* 3.25/1.03 U121(6,6) -> 25* 3.25/1.03 U121(1,6) -> 25* 3.25/1.03 U121(2,1) -> 25* 3.25/1.03 U121(2,3) -> 25* 3.25/1.03 U121(2,5) -> 25* 3.25/1.03 U121(3,2) -> 25* 3.25/1.03 U121(3,4) -> 25* 3.25/1.03 U121(3,6) -> 25* 3.25/1.03 U121(4,1) -> 25* 3.25/1.03 U121(4,3) -> 25* 3.25/1.03 U121(4,5) -> 25* 3.25/1.03 U121(5,2) -> 25* 3.25/1.03 U121(5,4) -> 25* 3.25/1.03 U121(5,6) -> 25* 3.25/1.03 U121(6,1) -> 25* 3.25/1.03 U121(1,1) -> 25* 3.25/1.03 U121(6,3) -> 25* 3.25/1.03 U121(1,3) -> 25* 3.25/1.03 U121(6,5) -> 25* 3.25/1.03 U121(1,5) -> 25* 3.25/1.03 U121(2,2) -> 25* 3.25/1.03 U121(2,4) -> 25* 3.25/1.03 U121(2,6) -> 25* 3.25/1.03 active4(59) -> 62* 3.25/1.03 active4(39) -> 58* 3.25/1.03 U111(2,6) -> 23* 3.25/1.03 U111(3,1) -> 23* 3.25/1.03 U111(3,3) -> 23* 3.25/1.03 U111(3,5) -> 23* 3.25/1.03 U111(4,2) -> 23* 3.25/1.03 U111(4,4) -> 23* 3.25/1.03 U111(4,6) -> 23* 3.25/1.03 U111(5,1) -> 23* 3.25/1.03 U111(5,3) -> 23* 3.25/1.03 U111(5,5) -> 23* 3.25/1.03 U111(6,2) -> 23* 3.25/1.03 U111(1,2) -> 23* 3.25/1.03 U111(6,4) -> 23* 3.25/1.03 U111(1,4) -> 23* 3.25/1.03 U111(6,6) -> 23* 3.25/1.03 U111(1,6) -> 23* 3.25/1.03 U111(2,1) -> 23* 3.25/1.03 U111(2,3) -> 23* 3.25/1.03 U111(2,5) -> 23* 3.25/1.03 U111(3,2) -> 23* 3.25/1.03 U111(3,4) -> 23* 3.25/1.03 U111(3,6) -> 23* 3.25/1.03 U111(4,1) -> 23* 3.25/1.03 U111(4,3) -> 23* 3.25/1.03 U111(4,5) -> 23* 3.25/1.03 U111(5,2) -> 23* 3.25/1.03 U111(5,4) -> 23* 3.25/1.03 U111(5,6) -> 23* 3.25/1.03 U111(6,1) -> 23* 3.25/1.03 U111(1,1) -> 23* 3.25/1.03 U111(6,3) -> 23* 3.25/1.03 U111(1,3) -> 23* 3.25/1.03 U111(6,5) -> 23* 3.25/1.03 U111(1,5) -> 23* 3.25/1.03 U111(2,2) -> 23* 3.25/1.03 U111(2,4) -> 23* 3.25/1.03 top4(62) -> 14* 3.25/1.03 cons1(2,6) -> 21* 3.25/1.03 cons1(3,1) -> 21* 3.25/1.03 cons1(3,3) -> 21* 3.25/1.03 cons1(3,5) -> 21* 3.25/1.03 cons1(4,2) -> 21* 3.25/1.03 cons1(4,4) -> 21* 3.25/1.03 cons1(4,6) -> 21* 3.25/1.03 cons1(19,18) -> 20* 3.25/1.03 cons1(5,1) -> 21* 3.25/1.03 cons1(5,3) -> 21* 3.25/1.03 cons1(5,5) -> 21* 3.25/1.03 cons1(6,2) -> 21* 3.25/1.03 cons1(1,2) -> 21* 3.25/1.03 cons1(6,4) -> 21* 3.25/1.03 cons1(1,4) -> 21* 3.25/1.03 cons1(6,6) -> 21* 3.25/1.03 cons1(1,6) -> 21* 3.25/1.03 cons1(2,1) -> 21* 3.25/1.03 cons1(2,3) -> 21* 3.25/1.03 cons1(2,5) -> 21* 3.25/1.03 cons1(3,2) -> 21* 3.25/1.03 cons1(3,4) -> 21* 3.25/1.03 cons1(3,6) -> 21* 3.25/1.03 cons1(4,1) -> 21* 3.25/1.03 cons1(4,3) -> 21* 3.25/1.03 cons1(4,5) -> 21* 3.25/1.03 cons1(5,2) -> 21* 3.25/1.03 cons1(5,4) -> 21* 3.25/1.03 cons1(5,6) -> 21* 3.25/1.03 cons1(6,1) -> 21* 3.25/1.03 cons1(1,1) -> 21* 3.25/1.03 cons1(6,3) -> 21* 3.25/1.03 cons1(1,3) -> 21* 3.25/1.03 cons1(6,5) -> 21* 3.25/1.03 cons1(1,5) -> 21* 3.25/1.03 cons1(2,2) -> 21* 3.25/1.03 cons1(2,4) -> 21* 3.25/1.03 cons5(63,53) -> 62* 3.25/1.03 nil1() -> 18* 3.25/1.03 active5(56) -> 63* 3.25/1.03 tt1() -> 18* 3.25/1.03 01() -> 19* 3.25/1.03 zeros1() -> 18* 3.25/1.03 mark1(25) -> 25,10 3.25/1.03 mark1(20) -> 32,7 3.25/1.03 mark1(27) -> 27,11 3.25/1.03 mark1(29) -> 29,12 3.25/1.03 mark1(21) -> 21,8 3.25/1.03 mark1(23) -> 23,9 3.25/1.03 top2(33) -> 14* 3.25/1.03 active0(5) -> 7* 3.25/1.03 active0(2) -> 7* 3.25/1.03 active0(4) -> 7* 3.25/1.03 active0(6) -> 7* 3.25/1.03 active0(1) -> 7* 3.25/1.03 active0(3) -> 7* 3.25/1.03 active2(19) -> 33* 3.25/1.03 active2(18) -> 33* 3.25/1.03 zeros0() -> 1* 3.25/1.03 proper2(20) -> 33* 3.25/1.03 proper2(19) -> 42* 3.25/1.03 proper2(18) -> 41* 3.25/1.03 mark0(5) -> 2* 3.25/1.03 mark0(2) -> 2* 3.25/1.03 mark0(4) -> 2* 3.25/1.03 mark0(6) -> 2* 3.25/1.03 mark0(1) -> 2* 3.25/1.03 mark0(3) -> 2* 3.25/1.03 cons2(39,38) -> 40* 3.25/1.03 cons2(42,41) -> 33* 3.25/1.03 cons0(3,1) -> 8* 3.25/1.03 cons0(3,3) -> 8* 3.25/1.03 cons0(3,5) -> 8* 3.25/1.03 cons0(4,2) -> 8* 3.25/1.03 cons0(4,4) -> 8* 3.25/1.03 cons0(4,6) -> 8* 3.25/1.03 cons0(5,1) -> 8* 3.25/1.03 cons0(5,3) -> 8* 3.25/1.03 cons0(5,5) -> 8* 3.25/1.03 cons0(6,2) -> 8* 3.25/1.03 cons0(1,2) -> 8* 3.25/1.03 cons0(6,4) -> 8* 3.25/1.03 cons0(1,4) -> 8* 3.25/1.03 cons0(6,6) -> 8* 3.25/1.03 cons0(1,6) -> 8* 3.25/1.03 cons0(2,1) -> 8* 3.25/1.03 cons0(2,3) -> 8* 3.25/1.03 cons0(2,5) -> 8* 3.25/1.03 cons0(3,2) -> 8* 3.25/1.03 cons0(3,4) -> 8* 3.25/1.03 cons0(3,6) -> 8* 3.25/1.03 cons0(4,1) -> 8* 3.25/1.03 cons0(4,3) -> 8* 3.25/1.03 cons0(4,5) -> 8* 3.25/1.03 cons0(5,2) -> 8* 3.25/1.03 cons0(5,4) -> 8* 3.25/1.03 cons0(5,6) -> 8* 3.25/1.03 cons0(6,1) -> 8* 3.25/1.03 cons0(1,1) -> 8* 3.25/1.03 cons0(6,3) -> 8* 3.25/1.03 cons0(1,3) -> 8* 3.25/1.03 cons0(6,5) -> 8* 3.25/1.03 cons0(1,5) -> 8* 3.25/1.03 cons0(2,2) -> 8* 3.25/1.03 cons0(2,4) -> 8* 3.25/1.03 cons0(2,6) -> 8* 3.25/1.03 mark2(40) -> 33* 3.25/1.03 00() -> 3* 3.25/1.03 02() -> 39* 3.25/1.03 U110(3,1) -> 9* 3.25/1.03 U110(3,3) -> 9* 3.25/1.03 U110(3,5) -> 9* 3.25/1.03 U110(4,2) -> 9* 3.25/1.03 U110(4,4) -> 9* 3.25/1.03 U110(4,6) -> 9* 3.25/1.03 U110(5,1) -> 9* 3.25/1.03 U110(5,3) -> 9* 3.25/1.03 U110(5,5) -> 9* 3.25/1.03 U110(6,2) -> 9* 3.25/1.03 U110(1,2) -> 9* 3.25/1.03 U110(6,4) -> 9* 3.25/1.03 U110(1,4) -> 9* 3.25/1.03 U110(6,6) -> 9* 3.25/1.03 U110(1,6) -> 9* 3.25/1.03 U110(2,1) -> 9* 3.25/1.03 U110(2,3) -> 9* 3.25/1.03 U110(2,5) -> 9* 3.25/1.03 U110(3,2) -> 9* 3.25/1.03 U110(3,4) -> 9* 3.25/1.03 U110(3,6) -> 9* 3.25/1.03 U110(4,1) -> 9* 3.25/1.03 U110(4,3) -> 9* 3.25/1.03 U110(4,5) -> 9* 3.25/1.03 U110(5,2) -> 9* 3.25/1.03 U110(5,4) -> 9* 3.25/1.03 U110(5,6) -> 9* 3.25/1.03 U110(6,1) -> 9* 3.25/1.03 U110(1,1) -> 9* 3.25/1.03 U110(6,3) -> 9* 3.25/1.03 U110(1,3) -> 9* 3.25/1.03 U110(6,5) -> 9* 3.25/1.03 U110(1,5) -> 9* 3.25/1.03 U110(2,2) -> 9* 3.25/1.03 U110(2,4) -> 9* 3.25/1.03 U110(2,6) -> 9* 3.25/1.03 zeros2() -> 38* 3.25/1.03 tt0() -> 4* 3.25/1.03 top3(46) -> 14* 3.25/1.03 U120(3,1) -> 10* 3.25/1.03 U120(3,3) -> 10* 3.25/1.03 U120(3,5) -> 10* 3.25/1.03 U120(4,2) -> 10* 3.25/1.03 U120(4,4) -> 10* 3.25/1.03 U120(4,6) -> 10* 3.25/1.03 U120(5,1) -> 10* 3.25/1.03 U120(5,3) -> 10* 3.25/1.03 U120(5,5) -> 10* 3.25/1.03 U120(6,2) -> 10* 3.25/1.03 U120(1,2) -> 10* 3.25/1.03 U120(6,4) -> 10* 3.25/1.03 U120(1,4) -> 10* 3.25/1.03 U120(6,6) -> 10* 3.25/1.03 U120(1,6) -> 10* 3.25/1.03 U120(2,1) -> 10* 3.25/1.03 U120(2,3) -> 10* 3.25/1.03 U120(2,5) -> 10* 3.25/1.03 U120(3,2) -> 10* 3.25/1.03 U120(3,4) -> 10* 3.25/1.03 U120(3,6) -> 10* 3.25/1.03 U120(4,1) -> 10* 3.25/1.03 U120(4,3) -> 10* 3.25/1.03 U120(4,5) -> 10* 3.25/1.03 U120(5,2) -> 10* 3.25/1.03 U120(5,4) -> 10* 3.25/1.03 U120(5,6) -> 10* 3.25/1.03 U120(6,1) -> 10* 3.25/1.03 U120(1,1) -> 10* 3.25/1.03 U120(6,3) -> 10* 3.25/1.03 U120(1,3) -> 10* 3.25/1.03 U120(6,5) -> 10* 3.25/1.03 U120(1,5) -> 10* 3.25/1.03 U120(2,2) -> 10* 3.25/1.03 U120(2,4) -> 10* 3.25/1.03 U120(2,6) -> 10* 3.25/1.03 proper3(40) -> 46* 3.25/1.03 proper3(39) -> 48* 3.25/1.03 proper3(38) -> 47* 3.25/1.03 s0(5) -> 11* 3.25/1.03 s0(2) -> 11* 3.25/1.03 s0(4) -> 11* 3.25/1.03 s0(6) -> 11* 3.25/1.03 s0(1) -> 11* 3.25/1.03 s0(3) -> 11* 3.25/1.03 ok2(39) -> 42* 3.25/1.03 ok2(38) -> 41* 3.25/1.03 length0(5) -> 12* 3.25/1.03 length0(2) -> 12* 3.25/1.03 length0(4) -> 12* 3.25/1.03 length0(6) -> 12* 3.25/1.03 length0(1) -> 12* 3.25/1.03 length0(3) -> 12* 3.25/1.03 nil2() -> 38* 3.25/1.03 nil0() -> 5* 3.25/1.03 tt2() -> 38* 3.25/1.03 proper0(5) -> 13* 3.25/1.03 proper0(2) -> 13* 3.25/1.03 proper0(4) -> 13* 3.25/1.03 proper0(6) -> 13* 3.25/1.03 proper0(1) -> 13* 3.25/1.03 proper0(3) -> 13* 3.25/1.03 ok3(52) -> 33* 3.25/1.03 ok3(56) -> 48* 3.25/1.03 ok3(53) -> 47* 3.25/1.03 ok0(5) -> 6* 3.25/1.03 ok0(2) -> 6* 3.25/1.03 ok0(4) -> 6* 3.25/1.03 ok0(6) -> 6* 3.25/1.03 ok0(1) -> 6* 3.25/1.03 ok0(3) -> 6* 3.25/1.03 cons3(48,47) -> 46* 3.25/1.03 cons3(39,38) -> 52* 3.25/1.03 top0(5) -> 14* 3.25/1.03 top0(2) -> 14* 3.25/1.03 top0(4) -> 14* 3.25/1.03 top0(6) -> 14* 3.25/1.03 top0(1) -> 14* 3.25/1.03 top0(3) -> 14* 3.25/1.03 problem: 3.25/1.03 3.25/1.03 Qed 3.25/1.04 EOF