YES Problem: not(tt()) -> ff() not(ff()) -> tt() or(tt(),x) -> tt() or(ff(),x) -> x eq(0(),0()) -> tt() eq(s(x),0()) -> ff() eq(0(),s(y)) -> ff() eq(s(x),s(y)) -> eq(x,y) main(phi) -> ver(phi,nil()) in(x,nil()) -> ff() in(x,cons(a,l)) -> or(eq(x,a),in(x,l)) ver(Var(x),t()) -> in(x,t()) ver(Or(phi,psi),t()) -> or(ver(phi,t()),ver(psi,t())) ver(Not(phi),t()) -> not(ver(phi,t())) ver(Exists(n,phi),t()) -> or(ver(phi,cons(n,t())),ver(phi,t())) Proof: DP Processor: DPs: eq#(s(x),s(y)) -> eq#(x,y) main#(phi) -> ver#(phi,nil()) in#(x,cons(a,l)) -> in#(x,l) in#(x,cons(a,l)) -> eq#(x,a) in#(x,cons(a,l)) -> or#(eq(x,a),in(x,l)) ver#(Var(x),t()) -> in#(x,t()) ver#(Or(phi,psi),t()) -> ver#(psi,t()) ver#(Or(phi,psi),t()) -> ver#(phi,t()) ver#(Or(phi,psi),t()) -> or#(ver(phi,t()),ver(psi,t())) ver#(Not(phi),t()) -> ver#(phi,t()) ver#(Not(phi),t()) -> not#(ver(phi,t())) ver#(Exists(n,phi),t()) -> ver#(phi,t()) ver#(Exists(n,phi),t()) -> ver#(phi,cons(n,t())) ver#(Exists(n,phi),t()) -> or#(ver(phi,cons(n,t())),ver(phi,t())) TRS: not(tt()) -> ff() not(ff()) -> tt() or(tt(),x) -> tt() or(ff(),x) -> x eq(0(),0()) -> tt() eq(s(x),0()) -> ff() eq(0(),s(y)) -> ff() eq(s(x),s(y)) -> eq(x,y) main(phi) -> ver(phi,nil()) in(x,nil()) -> ff() in(x,cons(a,l)) -> or(eq(x,a),in(x,l)) ver(Var(x),t()) -> in(x,t()) ver(Or(phi,psi),t()) -> or(ver(phi,t()),ver(psi,t())) ver(Not(phi),t()) -> not(ver(phi,t())) ver(Exists(n,phi),t()) -> or(ver(phi,cons(n,t())),ver(phi,t())) Usable Rule Processor: DPs: eq#(s(x),s(y)) -> eq#(x,y) main#(phi) -> ver#(phi,nil()) in#(x,cons(a,l)) -> in#(x,l) in#(x,cons(a,l)) -> eq#(x,a) in#(x,cons(a,l)) -> or#(eq(x,a),in(x,l)) ver#(Var(x),t()) -> in#(x,t()) ver#(Or(phi,psi),t()) -> ver#(psi,t()) ver#(Or(phi,psi),t()) -> ver#(phi,t()) ver#(Or(phi,psi),t()) -> or#(ver(phi,t()),ver(psi,t())) ver#(Not(phi),t()) -> ver#(phi,t()) ver#(Not(phi),t()) -> not#(ver(phi,t())) ver#(Exists(n,phi),t()) -> ver#(phi,t()) ver#(Exists(n,phi),t()) -> ver#(phi,cons(n,t())) ver#(Exists(n,phi),t()) -> or#(ver(phi,cons(n,t())),ver(phi,t())) TRS: in(x,nil()) -> ff() in(x,cons(a,l)) -> or(eq(x,a),in(x,l)) or(tt(),x) -> tt() or(ff(),x) -> x eq(0(),0()) -> tt() eq(s(x),0()) -> ff() eq(0(),s(y)) -> ff() eq(s(x),s(y)) -> eq(x,y) ver(Var(x),t()) -> in(x,t()) ver(Or(phi,psi),t()) -> or(ver(phi,t()),ver(psi,t())) ver(Not(phi),t()) -> not(ver(phi,t())) ver(Exists(n,phi),t()) -> or(ver(phi,cons(n,t())),ver(phi,t())) not(tt()) -> ff() not(ff()) -> tt() Matrix Interpretation Processor: dim=1 usable rules: in(x,nil()) -> ff() in(x,cons(a,l)) -> or(eq(x,a),in(x,l)) or(tt(),x) -> tt() or(ff(),x) -> x eq(0(),0()) -> tt() eq(s(x),0()) -> ff() eq(0(),s(y)) -> ff() eq(s(x),s(y)) -> eq(x,y) ver(Var(x),t()) -> in(x,t()) ver(Or(phi,psi),t()) -> or(ver(phi,t()),ver(psi,t())) ver(Not(phi),t()) -> not(ver(phi,t())) ver(Exists(n,phi),t()) -> or(ver(phi,cons(n,t())),ver(phi,t())) not(tt()) -> ff() not(ff()) -> tt() interpretation: [in#](x0, x1) = 5x1, [ver#](x0, x1) = 4x0 + 2x1, [main#](x0) = 4x0 + 1, [eq#](x0, x1) = 3x1 + 6, [or#](x0, x1) = x0 + 3, [not#](x0) = 4x0, [Exists](x0, x1) = 2x0 + 2x1 + 6, [Not](x0) = 6x0 + 2, [Or](x0, x1) = x0 + x1 + 4, [t] = 0, [Var](x0) = 4, [cons](x0, x1) = 2x0 + 4x1 + 4, [in](x0, x1) = 4x1 + 3, [ver](x0, x1) = 4x0 + 4x1 + 1, [nil] = 0, [s](x0) = x0 + 3, [eq](x0, x1) = 6x1 + 6, [0] = 1, [or](x0, x1) = x0 + x1 + 3, [ff] = 0, [not](x0) = 7, [tt] = 7 orientation: eq#(s(x),s(y)) = 3y + 15 >= 3y + 6 = eq#(x,y) main#(phi) = 4phi + 1 >= 4phi = ver#(phi,nil()) in#(x,cons(a,l)) = 10a + 20l + 20 >= 5l = in#(x,l) in#(x,cons(a,l)) = 10a + 20l + 20 >= 3a + 6 = eq#(x,a) in#(x,cons(a,l)) = 10a + 20l + 20 >= 6a + 9 = or#(eq(x,a),in(x,l)) ver#(Var(x),t()) = 16 >= 0 = in#(x,t()) ver#(Or(phi,psi),t()) = 4phi + 4psi + 16 >= 4psi = ver#(psi,t()) ver#(Or(phi,psi),t()) = 4phi + 4psi + 16 >= 4phi = ver#(phi,t()) ver#(Or(phi,psi),t()) = 4phi + 4psi + 16 >= 4phi + 4 = or#(ver(phi,t()),ver(psi,t())) ver#(Not(phi),t()) = 24phi + 8 >= 4phi = ver#(phi,t()) ver#(Not(phi),t()) = 24phi + 8 >= 16phi + 4 = not#(ver(phi,t())) ver#(Exists(n,phi),t()) = 8n + 8phi + 24 >= 4phi = ver#(phi,t()) ver#(Exists(n,phi),t()) = 8n + 8phi + 24 >= 4n + 4phi + 8 = ver#(phi,cons(n,t())) ver#(Exists(n,phi),t()) = 8n + 8phi + 24 >= 8n + 4phi + 20 = or#(ver(phi,cons(n,t())),ver(phi,t())) in(x,nil()) = 3 >= 0 = ff() in(x,cons(a,l)) = 8a + 16l + 19 >= 6a + 4l + 12 = or(eq(x,a),in(x,l)) or(tt(),x) = x + 10 >= 7 = tt() or(ff(),x) = x + 3 >= x = x eq(0(),0()) = 12 >= 7 = tt() eq(s(x),0()) = 12 >= 0 = ff() eq(0(),s(y)) = 6y + 24 >= 0 = ff() eq(s(x),s(y)) = 6y + 24 >= 6y + 6 = eq(x,y) ver(Var(x),t()) = 17 >= 3 = in(x,t()) ver(Or(phi,psi),t()) = 4phi + 4psi + 17 >= 4phi + 4psi + 5 = or(ver(phi,t()),ver(psi,t())) ver(Not(phi),t()) = 24phi + 9 >= 7 = not(ver(phi,t())) ver(Exists(n,phi),t()) = 8n + 8phi + 25 >= 8n + 8phi + 21 = or(ver(phi,cons(n,t())),ver(phi,t())) not(tt()) = 7 >= 0 = ff() not(ff()) = 7 >= 7 = tt() problem: DPs: TRS: in(x,nil()) -> ff() in(x,cons(a,l)) -> or(eq(x,a),in(x,l)) or(tt(),x) -> tt() or(ff(),x) -> x eq(0(),0()) -> tt() eq(s(x),0()) -> ff() eq(0(),s(y)) -> ff() eq(s(x),s(y)) -> eq(x,y) ver(Var(x),t()) -> in(x,t()) ver(Or(phi,psi),t()) -> or(ver(phi,t()),ver(psi,t())) ver(Not(phi),t()) -> not(ver(phi,t())) ver(Exists(n,phi),t()) -> or(ver(phi,cons(n,t())),ver(phi,t())) not(tt()) -> ff() not(ff()) -> tt() Qed