Problem:
pairNs() -> cons(0(),n__incr(oddNs()))
oddNs() -> incr(pairNs())
incr(cons(X,XS)) -> cons(s(X),n__incr(activate(XS)))
take(0(),XS) -> nil()
take(s(N),cons(X,XS)) -> cons(X,n__take(N,activate(XS)))
zip(nil(),XS) -> nil()
zip(X,nil()) -> nil()
zip(cons(X,XS),cons(Y,YS)) -> cons(pair(X,Y),n__zip(activate(XS),activate(YS)))
tail(cons(X,XS)) -> activate(XS)
repItems(nil()) -> nil()
repItems(cons(X,XS)) -> cons(X,n__cons(X,n__repItems(activate(XS))))
incr(X) -> n__incr(X)
take(X1,X2) -> n__take(X1,X2)
zip(X1,X2) -> n__zip(X1,X2)
cons(X1,X2) -> n__cons(X1,X2)
repItems(X) -> n__repItems(X)
activate(n__incr(X)) -> incr(X)
activate(n__take(X1,X2)) -> take(X1,X2)
activate(n__zip(X1,X2)) -> zip(X1,X2)
activate(n__cons(X1,X2)) -> cons(X1,X2)
activate(n__repItems(X)) -> repItems(X)
activate(X) -> X
Proof:
Matrix Interpretation Processor: dim=1
interpretation:
[n__cons](x0, x1) = x0 + x1,
[n__repItems](x0) = x0,
[repItems](x0) = 2x0,
[tail](x0) = x0 + 4,
[n__zip](x0, x1) = x0 + x1,
[pair](x0, x1) = 2x0 + x1,
[zip](x0, x1) = 2x0 + 2x1,
[n__take](x0, x1) = x0 + x1 + 2,
[nil] = 0,
[take](x0, x1) = x0 + 2x1 + 4,
[activate](x0) = 2x0,
[s](x0) = 2x0,
[incr](x0) = 4x0,
[cons](x0, x1) = 2x0 + 2x1,
[n__incr](x0) = 2x0,
[oddNs] = 0,
[0] = 0,
[pairNs] = 0
orientation:
pairNs() = 0 >= 0 = cons(0(),n__incr(oddNs()))
oddNs() = 0 >= 0 = incr(pairNs())
incr(cons(X,XS)) = 8X + 8XS >= 4X + 8XS = cons(s(X),n__incr(activate(XS)))
take(0(),XS) = 2XS + 4 >= 0 = nil()
take(s(N),cons(X,XS)) = 2N + 4X + 4XS + 4 >= 2N + 2X + 4XS + 4 = cons(X,n__take(N,activate(XS)))
zip(nil(),XS) = 2XS >= 0 = nil()
zip(X,nil()) = 2X >= 0 = nil()
zip(cons(X,XS),cons(Y,YS)) = 4X + 4XS + 4Y + 4YS >= 4X + 4XS + 2Y + 4YS = cons(pair(X,Y),n__zip(activate(XS),activate(YS)))
tail(cons(X,XS)) = 2X + 2XS + 4 >= 2XS = activate(XS)
repItems(nil()) = 0 >= 0 = nil()
repItems(cons(X,XS)) = 4X + 4XS >= 4X + 4XS = cons(X,n__cons(X,n__repItems(activate(XS))))
incr(X) = 4X >= 2X = n__incr(X)
take(X1,X2) = X1 + 2X2 + 4 >= X1 + X2 + 2 = n__take(X1,X2)
zip(X1,X2) = 2X1 + 2X2 >= X1 + X2 = n__zip(X1,X2)
cons(X1,X2) = 2X1 + 2X2 >= X1 + X2 = n__cons(X1,X2)
repItems(X) = 2X >= X = n__repItems(X)
activate(n__incr(X)) = 4X >= 4X = incr(X)
activate(n__take(X1,X2)) = 2X1 + 2X2 + 4 >= X1 + 2X2 + 4 = take(X1,X2)
activate(n__zip(X1,X2)) = 2X1 + 2X2 >= 2X1 + 2X2 = zip(X1,X2)
activate(n__cons(X1,X2)) = 2X1 + 2X2 >= 2X1 + 2X2 = cons(X1,X2)
activate(n__repItems(X)) = 2X >= 2X = repItems(X)
activate(X) = 2X >= X = X
problem:
pairNs() -> cons(0(),n__incr(oddNs()))
oddNs() -> incr(pairNs())
incr(cons(X,XS)) -> cons(s(X),n__incr(activate(XS)))
take(s(N),cons(X,XS)) -> cons(X,n__take(N,activate(XS)))
zip(nil(),XS) -> nil()
zip(X,nil()) -> nil()
zip(cons(X,XS),cons(Y,YS)) -> cons(pair(X,Y),n__zip(activate(XS),activate(YS)))
repItems(nil()) -> nil()
repItems(cons(X,XS)) -> cons(X,n__cons(X,n__repItems(activate(XS))))
incr(X) -> n__incr(X)
zip(X1,X2) -> n__zip(X1,X2)
cons(X1,X2) -> n__cons(X1,X2)
repItems(X) -> n__repItems(X)
activate(n__incr(X)) -> incr(X)
activate(n__take(X1,X2)) -> take(X1,X2)
activate(n__zip(X1,X2)) -> zip(X1,X2)
activate(n__cons(X1,X2)) -> cons(X1,X2)
activate(n__repItems(X)) -> repItems(X)
activate(X) -> X
Matrix Interpretation Processor: dim=1
interpretation:
[n__cons](x0, x1) = x0 + x1,
[n__repItems](x0) = 4x0 + 4,
[repItems](x0) = 4x0 + 4,
[n__zip](x0, x1) = 2x0 + 4x1,
[pair](x0, x1) = x0 + 4x1,
[zip](x0, x1) = 2x0 + 4x1,
[n__take](x0, x1) = 4x0 + x1 + 4,
[nil] = 1,
[take](x0, x1) = 4x0 + x1 + 4,
[activate](x0) = x0,
[s](x0) = x0,
[incr](x0) = x0,
[cons](x0, x1) = x0 + x1,
[n__incr](x0) = x0,
[oddNs] = 4,
[0] = 0,
[pairNs] = 4
orientation:
pairNs() = 4 >= 4 = cons(0(),n__incr(oddNs()))
oddNs() = 4 >= 4 = incr(pairNs())
incr(cons(X,XS)) = X + XS >= X + XS = cons(s(X),n__incr(activate(XS)))
take(s(N),cons(X,XS)) = 4N + X + XS + 4 >= 4N + X + XS + 4 = cons(X,n__take(N,activate(XS)))
zip(nil(),XS) = 4XS + 2 >= 1 = nil()
zip(X,nil()) = 2X + 4 >= 1 = nil()
zip(cons(X,XS),cons(Y,YS)) = 2X + 2XS + 4Y + 4YS >= X + 2XS + 4Y + 4YS = cons(pair(X,Y),n__zip(activate(XS),activate(YS)))
repItems(nil()) = 8 >= 1 = nil()
repItems(cons(X,XS)) = 4X + 4XS + 4 >= 2X + 4XS + 4 = cons(X,n__cons(X,n__repItems(activate(XS))))
incr(X) = X >= X = n__incr(X)
zip(X1,X2) = 2X1 + 4X2 >= 2X1 + 4X2 = n__zip(X1,X2)
cons(X1,X2) = X1 + X2 >= X1 + X2 = n__cons(X1,X2)
repItems(X) = 4X + 4 >= 4X + 4 = n__repItems(X)
activate(n__incr(X)) = X >= X = incr(X)
activate(n__take(X1,X2)) = 4X1 + X2 + 4 >= 4X1 + X2 + 4 = take(X1,X2)
activate(n__zip(X1,X2)) = 2X1 + 4X2 >= 2X1 + 4X2 = zip(X1,X2)
activate(n__cons(X1,X2)) = X1 + X2 >= X1 + X2 = cons(X1,X2)
activate(n__repItems(X)) = 4X + 4 >= 4X + 4 = repItems(X)
activate(X) = X >= X = X
problem:
pairNs() -> cons(0(),n__incr(oddNs()))
oddNs() -> incr(pairNs())
incr(cons(X,XS)) -> cons(s(X),n__incr(activate(XS)))
take(s(N),cons(X,XS)) -> cons(X,n__take(N,activate(XS)))
zip(cons(X,XS),cons(Y,YS)) -> cons(pair(X,Y),n__zip(activate(XS),activate(YS)))
repItems(cons(X,XS)) -> cons(X,n__cons(X,n__repItems(activate(XS))))
incr(X) -> n__incr(X)
zip(X1,X2) -> n__zip(X1,X2)
cons(X1,X2) -> n__cons(X1,X2)
repItems(X) -> n__repItems(X)
activate(n__incr(X)) -> incr(X)
activate(n__take(X1,X2)) -> take(X1,X2)
activate(n__zip(X1,X2)) -> zip(X1,X2)
activate(n__cons(X1,X2)) -> cons(X1,X2)
activate(n__repItems(X)) -> repItems(X)
activate(X) -> X
Matrix Interpretation Processor: dim=1
interpretation:
[n__cons](x0, x1) = 2x0 + x1,
[n__repItems](x0) = x0,
[repItems](x0) = 2x0,
[n__zip](x0, x1) = x0 + x1,
[pair](x0, x1) = 2x0 + x1,
[zip](x0, x1) = 2x0 + 2x1,
[n__take](x0, x1) = 4x0 + 2x1 + 2,
[take](x0, x1) = 4x0 + 4x1 + 4,
[activate](x0) = 2x0,
[s](x0) = 2x0,
[incr](x0) = 4x0,
[cons](x0, x1) = 4x0 + x1,
[n__incr](x0) = 2x0,
[oddNs] = 0,
[0] = 0,
[pairNs] = 0
orientation:
pairNs() = 0 >= 0 = cons(0(),n__incr(oddNs()))
oddNs() = 0 >= 0 = incr(pairNs())
incr(cons(X,XS)) = 16X + 4XS >= 8X + 4XS = cons(s(X),n__incr(activate(XS)))
take(s(N),cons(X,XS)) = 8N + 16X + 4XS + 4 >= 4N + 4X + 4XS + 2 = cons(X,n__take(N,activate(XS)))
zip(cons(X,XS),cons(Y,YS)) = 8X + 2XS + 8Y + 2YS >= 8X + 2XS + 4Y + 2YS = cons(pair(X,Y),n__zip(activate(XS),activate(YS)))
repItems(cons(X,XS)) = 8X + 2XS >= 6X + 2XS = cons(X,n__cons(X,n__repItems(activate(XS))))
incr(X) = 4X >= 2X = n__incr(X)
zip(X1,X2) = 2X1 + 2X2 >= X1 + X2 = n__zip(X1,X2)
cons(X1,X2) = 4X1 + X2 >= 2X1 + X2 = n__cons(X1,X2)
repItems(X) = 2X >= X = n__repItems(X)
activate(n__incr(X)) = 4X >= 4X = incr(X)
activate(n__take(X1,X2)) = 8X1 + 4X2 + 4 >= 4X1 + 4X2 + 4 = take(X1,X2)
activate(n__zip(X1,X2)) = 2X1 + 2X2 >= 2X1 + 2X2 = zip(X1,X2)
activate(n__cons(X1,X2)) = 4X1 + 2X2 >= 4X1 + X2 = cons(X1,X2)
activate(n__repItems(X)) = 2X >= 2X = repItems(X)
activate(X) = 2X >= X = X
problem:
pairNs() -> cons(0(),n__incr(oddNs()))
oddNs() -> incr(pairNs())
incr(cons(X,XS)) -> cons(s(X),n__incr(activate(XS)))
zip(cons(X,XS),cons(Y,YS)) -> cons(pair(X,Y),n__zip(activate(XS),activate(YS)))
repItems(cons(X,XS)) -> cons(X,n__cons(X,n__repItems(activate(XS))))
incr(X) -> n__incr(X)
zip(X1,X2) -> n__zip(X1,X2)
cons(X1,X2) -> n__cons(X1,X2)
repItems(X) -> n__repItems(X)
activate(n__incr(X)) -> incr(X)
activate(n__take(X1,X2)) -> take(X1,X2)
activate(n__zip(X1,X2)) -> zip(X1,X2)
activate(n__cons(X1,X2)) -> cons(X1,X2)
activate(n__repItems(X)) -> repItems(X)
activate(X) -> X
Unfolding Processor:
loop length: 3
terms:
oddNs()
incr(pairNs())
incr(cons(0(),n__incr(oddNs())))
context: cons(s(0()),n__incr(activate(n__incr([]))))
substitution:
Qed