YES(?,O(n^1)) 0.16/0.25 YES(?,O(n^1)) 0.16/0.25 0.16/0.25 Problem: 0.16/0.25 rev(nil()) -> nil() 0.16/0.25 rev(rev(x)) -> x 0.16/0.25 rev(++(x,y)) -> ++(rev(y),rev(x)) 0.16/0.25 ++(nil(),y) -> y 0.16/0.25 ++(x,nil()) -> x 0.16/0.25 ++(.(x,y),z) -> .(x,++(y,z)) 0.16/0.25 ++(x,++(y,z)) -> ++(++(x,y),z) 0.16/0.25 make(x) -> .(x,nil()) 0.16/0.25 0.16/0.25 Proof: 0.16/0.25 Bounds Processor: 0.16/0.25 bound: 1 0.16/0.25 enrichment: match 0.16/0.25 automaton: 0.16/0.25 final states: {5,4,3} 0.16/0.25 transitions: 0.16/0.25 .1(1,6) -> 6,4 0.16/0.25 .1(2,3) -> 5* 0.16/0.25 .1(2,9) -> 6,4 0.16/0.25 .1(1,3) -> 5* 0.16/0.25 .1(1,9) -> 6,4 0.16/0.25 .1(2,6) -> 6,4 0.16/0.25 nil1() -> 3* 0.16/0.25 ++1(1,2) -> 9* 0.16/0.25 ++1(2,1) -> 6* 0.16/0.25 ++1(1,1) -> 6* 0.16/0.25 ++1(2,2) -> 6* 0.16/0.25 rev0(2) -> 3* 0.16/0.25 rev0(1) -> 3* 0.16/0.25 nil0() -> 1* 0.16/0.25 ++0(1,2) -> 4* 0.16/0.25 ++0(2,1) -> 4* 0.16/0.25 ++0(1,1) -> 4* 0.16/0.25 ++0(2,2) -> 4* 0.16/0.25 .0(1,2) -> 2* 0.16/0.25 .0(2,1) -> 2* 0.16/0.25 .0(1,1) -> 2* 0.16/0.25 .0(2,2) -> 2* 0.16/0.25 make0(2) -> 5* 0.16/0.25 make0(1) -> 5* 0.16/0.25 1 -> 6,4 0.16/0.25 2 -> 6,9,4 0.16/0.25 problem: 0.16/0.25 0.16/0.25 Qed 0.16/0.26 EOF