/export/starexec/sandbox/solver/bin/starexec_run_default /export/starexec/sandbox/benchmark/theBenchmark.xml /export/starexec/sandbox/output/output_files -------------------------------------------------------------------------------- YES Problem 1: (VAR L X X1 X2 XS Y YS) (RULES a__app(cons(X,XS),YS) -> cons(mark(X),app(XS,YS)) a__app(nil,YS) -> mark(YS) a__app(X1,X2) -> app(X1,X2) a__from(X) -> cons(mark(X),from(s(X))) a__from(X) -> from(X) a__prefix(L) -> cons(nil,zWadr(L,prefix(L))) a__prefix(X) -> prefix(X) a__zWadr(cons(X,XS),cons(Y,YS)) -> cons(a__app(mark(Y),cons(mark(X),nil)),zWadr(XS,YS)) a__zWadr(nil,YS) -> nil a__zWadr(X1,X2) -> zWadr(X1,X2) a__zWadr(XS,nil) -> nil mark(app(X1,X2)) -> a__app(mark(X1),mark(X2)) mark(cons(X1,X2)) -> cons(mark(X1),X2) mark(from(X)) -> a__from(mark(X)) mark(nil) -> nil mark(prefix(X)) -> a__prefix(mark(X)) mark(s(X)) -> s(mark(X)) mark(zWadr(X1,X2)) -> a__zWadr(mark(X1),mark(X2)) ) (STRATEGY INNERMOST) Problem 1: Dependency Pairs Processor: -> Pairs: A__APP(cons(X,XS),YS) -> MARK(X) A__APP(nil,YS) -> MARK(YS) A__FROM(X) -> MARK(X) A__ZWADR(cons(X,XS),cons(Y,YS)) -> A__APP(mark(Y),cons(mark(X),nil)) A__ZWADR(cons(X,XS),cons(Y,YS)) -> MARK(X) A__ZWADR(cons(X,XS),cons(Y,YS)) -> MARK(Y) MARK(app(X1,X2)) -> A__APP(mark(X1),mark(X2)) MARK(app(X1,X2)) -> MARK(X1) MARK(app(X1,X2)) -> MARK(X2) MARK(cons(X1,X2)) -> MARK(X1) MARK(from(X)) -> A__FROM(mark(X)) MARK(from(X)) -> MARK(X) MARK(prefix(X)) -> A__PREFIX(mark(X)) MARK(prefix(X)) -> MARK(X) MARK(s(X)) -> MARK(X) MARK(zWadr(X1,X2)) -> A__ZWADR(mark(X1),mark(X2)) MARK(zWadr(X1,X2)) -> MARK(X1) MARK(zWadr(X1,X2)) -> MARK(X2) -> Rules: a__app(cons(X,XS),YS) -> cons(mark(X),app(XS,YS)) a__app(nil,YS) -> mark(YS) a__app(X1,X2) -> app(X1,X2) a__from(X) -> cons(mark(X),from(s(X))) a__from(X) -> from(X) a__prefix(L) -> cons(nil,zWadr(L,prefix(L))) a__prefix(X) -> prefix(X) a__zWadr(cons(X,XS),cons(Y,YS)) -> cons(a__app(mark(Y),cons(mark(X),nil)),zWadr(XS,YS)) a__zWadr(nil,YS) -> nil a__zWadr(X1,X2) -> zWadr(X1,X2) a__zWadr(XS,nil) -> nil mark(app(X1,X2)) -> a__app(mark(X1),mark(X2)) mark(cons(X1,X2)) -> cons(mark(X1),X2) mark(from(X)) -> a__from(mark(X)) mark(nil) -> nil mark(prefix(X)) -> a__prefix(mark(X)) mark(s(X)) -> s(mark(X)) mark(zWadr(X1,X2)) -> a__zWadr(mark(X1),mark(X2)) Problem 1: SCC Processor: -> Pairs: A__APP(cons(X,XS),YS) -> MARK(X) A__APP(nil,YS) -> MARK(YS) A__FROM(X) -> MARK(X) A__ZWADR(cons(X,XS),cons(Y,YS)) -> A__APP(mark(Y),cons(mark(X),nil)) A__ZWADR(cons(X,XS),cons(Y,YS)) -> MARK(X) A__ZWADR(cons(X,XS),cons(Y,YS)) -> MARK(Y) MARK(app(X1,X2)) -> A__APP(mark(X1),mark(X2)) MARK(app(X1,X2)) -> MARK(X1) MARK(app(X1,X2)) -> MARK(X2) MARK(cons(X1,X2)) -> MARK(X1) MARK(from(X)) -> A__FROM(mark(X)) MARK(from(X)) -> MARK(X) MARK(prefix(X)) -> A__PREFIX(mark(X)) MARK(prefix(X)) -> MARK(X) MARK(s(X)) -> MARK(X) MARK(zWadr(X1,X2)) -> A__ZWADR(mark(X1),mark(X2)) MARK(zWadr(X1,X2)) -> MARK(X1) MARK(zWadr(X1,X2)) -> MARK(X2) -> Rules: a__app(cons(X,XS),YS) -> cons(mark(X),app(XS,YS)) a__app(nil,YS) -> mark(YS) a__app(X1,X2) -> app(X1,X2) a__from(X) -> cons(mark(X),from(s(X))) a__from(X) -> from(X) a__prefix(L) -> cons(nil,zWadr(L,prefix(L))) a__prefix(X) -> prefix(X) a__zWadr(cons(X,XS),cons(Y,YS)) -> cons(a__app(mark(Y),cons(mark(X),nil)),zWadr(XS,YS)) a__zWadr(nil,YS) -> nil a__zWadr(X1,X2) -> zWadr(X1,X2) a__zWadr(XS,nil) -> nil mark(app(X1,X2)) -> a__app(mark(X1),mark(X2)) mark(cons(X1,X2)) -> cons(mark(X1),X2) mark(from(X)) -> a__from(mark(X)) mark(nil) -> nil mark(prefix(X)) -> a__prefix(mark(X)) mark(s(X)) -> s(mark(X)) mark(zWadr(X1,X2)) -> a__zWadr(mark(X1),mark(X2)) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: A__APP(cons(X,XS),YS) -> MARK(X) A__APP(nil,YS) -> MARK(YS) A__FROM(X) -> MARK(X) A__ZWADR(cons(X,XS),cons(Y,YS)) -> A__APP(mark(Y),cons(mark(X),nil)) A__ZWADR(cons(X,XS),cons(Y,YS)) -> MARK(X) A__ZWADR(cons(X,XS),cons(Y,YS)) -> MARK(Y) MARK(app(X1,X2)) -> A__APP(mark(X1),mark(X2)) MARK(app(X1,X2)) -> MARK(X1) MARK(app(X1,X2)) -> MARK(X2) MARK(cons(X1,X2)) -> MARK(X1) MARK(from(X)) -> A__FROM(mark(X)) MARK(from(X)) -> MARK(X) MARK(prefix(X)) -> MARK(X) MARK(s(X)) -> MARK(X) MARK(zWadr(X1,X2)) -> A__ZWADR(mark(X1),mark(X2)) MARK(zWadr(X1,X2)) -> MARK(X1) MARK(zWadr(X1,X2)) -> MARK(X2) ->->-> Rules: a__app(cons(X,XS),YS) -> cons(mark(X),app(XS,YS)) a__app(nil,YS) -> mark(YS) a__app(X1,X2) -> app(X1,X2) a__from(X) -> cons(mark(X),from(s(X))) a__from(X) -> from(X) a__prefix(L) -> cons(nil,zWadr(L,prefix(L))) a__prefix(X) -> prefix(X) a__zWadr(cons(X,XS),cons(Y,YS)) -> cons(a__app(mark(Y),cons(mark(X),nil)),zWadr(XS,YS)) a__zWadr(nil,YS) -> nil a__zWadr(X1,X2) -> zWadr(X1,X2) a__zWadr(XS,nil) -> nil mark(app(X1,X2)) -> a__app(mark(X1),mark(X2)) mark(cons(X1,X2)) -> cons(mark(X1),X2) mark(from(X)) -> a__from(mark(X)) mark(nil) -> nil mark(prefix(X)) -> a__prefix(mark(X)) mark(s(X)) -> s(mark(X)) mark(zWadr(X1,X2)) -> a__zWadr(mark(X1),mark(X2)) Problem 1: Reduction Pairs Processor: -> Pairs: A__APP(cons(X,XS),YS) -> MARK(X) A__APP(nil,YS) -> MARK(YS) A__FROM(X) -> MARK(X) A__ZWADR(cons(X,XS),cons(Y,YS)) -> A__APP(mark(Y),cons(mark(X),nil)) A__ZWADR(cons(X,XS),cons(Y,YS)) -> MARK(X) A__ZWADR(cons(X,XS),cons(Y,YS)) -> MARK(Y) MARK(app(X1,X2)) -> A__APP(mark(X1),mark(X2)) MARK(app(X1,X2)) -> MARK(X1) MARK(app(X1,X2)) -> MARK(X2) MARK(cons(X1,X2)) -> MARK(X1) MARK(from(X)) -> A__FROM(mark(X)) MARK(from(X)) -> MARK(X) MARK(prefix(X)) -> MARK(X) MARK(s(X)) -> MARK(X) MARK(zWadr(X1,X2)) -> A__ZWADR(mark(X1),mark(X2)) MARK(zWadr(X1,X2)) -> MARK(X1) MARK(zWadr(X1,X2)) -> MARK(X2) -> Rules: a__app(cons(X,XS),YS) -> cons(mark(X),app(XS,YS)) a__app(nil,YS) -> mark(YS) a__app(X1,X2) -> app(X1,X2) a__from(X) -> cons(mark(X),from(s(X))) a__from(X) -> from(X) a__prefix(L) -> cons(nil,zWadr(L,prefix(L))) a__prefix(X) -> prefix(X) a__zWadr(cons(X,XS),cons(Y,YS)) -> cons(a__app(mark(Y),cons(mark(X),nil)),zWadr(XS,YS)) a__zWadr(nil,YS) -> nil a__zWadr(X1,X2) -> zWadr(X1,X2) a__zWadr(XS,nil) -> nil mark(app(X1,X2)) -> a__app(mark(X1),mark(X2)) mark(cons(X1,X2)) -> cons(mark(X1),X2) mark(from(X)) -> a__from(mark(X)) mark(nil) -> nil mark(prefix(X)) -> a__prefix(mark(X)) mark(s(X)) -> s(mark(X)) mark(zWadr(X1,X2)) -> a__zWadr(mark(X1),mark(X2)) -> Usable rules: a__app(cons(X,XS),YS) -> cons(mark(X),app(XS,YS)) a__app(nil,YS) -> mark(YS) a__app(X1,X2) -> app(X1,X2) a__from(X) -> cons(mark(X),from(s(X))) a__from(X) -> from(X) a__prefix(L) -> cons(nil,zWadr(L,prefix(L))) a__prefix(X) -> prefix(X) a__zWadr(cons(X,XS),cons(Y,YS)) -> cons(a__app(mark(Y),cons(mark(X),nil)),zWadr(XS,YS)) a__zWadr(nil,YS) -> nil a__zWadr(X1,X2) -> zWadr(X1,X2) a__zWadr(XS,nil) -> nil mark(app(X1,X2)) -> a__app(mark(X1),mark(X2)) mark(cons(X1,X2)) -> cons(mark(X1),X2) mark(from(X)) -> a__from(mark(X)) mark(nil) -> nil mark(prefix(X)) -> a__prefix(mark(X)) mark(s(X)) -> s(mark(X)) mark(zWadr(X1,X2)) -> a__zWadr(mark(X1),mark(X2)) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [a__app](X1,X2) = 2.X1 + 2.X2 + 2 [a__from](X) = 2.X + 2 [a__prefix](X) = 2.X + 2 [a__zWadr](X1,X2) = 2.X1 + 2.X2 + 2 [mark](X) = X [app](X1,X2) = 2.X1 + 2.X2 + 2 [cons](X1,X2) = X1 + 2 [from](X) = 2.X + 2 [nil] = 0 [prefix](X) = 2.X + 2 [s](X) = 2.X + 2 [zWadr](X1,X2) = 2.X1 + 2.X2 + 2 [A__APP](X1,X2) = 2.X1 + 2.X2 + 2 [A__FROM](X) = 2.X + 2 [A__ZWADR](X1,X2) = 2.X1 + 2.X2 + 1 [MARK](X) = 2.X + 2 Problem 1: SCC Processor: -> Pairs: A__APP(nil,YS) -> MARK(YS) A__FROM(X) -> MARK(X) A__ZWADR(cons(X,XS),cons(Y,YS)) -> A__APP(mark(Y),cons(mark(X),nil)) A__ZWADR(cons(X,XS),cons(Y,YS)) -> MARK(X) A__ZWADR(cons(X,XS),cons(Y,YS)) -> MARK(Y) MARK(app(X1,X2)) -> A__APP(mark(X1),mark(X2)) MARK(app(X1,X2)) -> MARK(X1) MARK(app(X1,X2)) -> MARK(X2) MARK(cons(X1,X2)) -> MARK(X1) MARK(from(X)) -> A__FROM(mark(X)) MARK(from(X)) -> MARK(X) MARK(prefix(X)) -> MARK(X) MARK(s(X)) -> MARK(X) MARK(zWadr(X1,X2)) -> A__ZWADR(mark(X1),mark(X2)) MARK(zWadr(X1,X2)) -> MARK(X1) MARK(zWadr(X1,X2)) -> MARK(X2) -> Rules: a__app(cons(X,XS),YS) -> cons(mark(X),app(XS,YS)) a__app(nil,YS) -> mark(YS) a__app(X1,X2) -> app(X1,X2) a__from(X) -> cons(mark(X),from(s(X))) a__from(X) -> from(X) a__prefix(L) -> cons(nil,zWadr(L,prefix(L))) a__prefix(X) -> prefix(X) a__zWadr(cons(X,XS),cons(Y,YS)) -> cons(a__app(mark(Y),cons(mark(X),nil)),zWadr(XS,YS)) a__zWadr(nil,YS) -> nil a__zWadr(X1,X2) -> zWadr(X1,X2) a__zWadr(XS,nil) -> nil mark(app(X1,X2)) -> a__app(mark(X1),mark(X2)) mark(cons(X1,X2)) -> cons(mark(X1),X2) mark(from(X)) -> a__from(mark(X)) mark(nil) -> nil mark(prefix(X)) -> a__prefix(mark(X)) mark(s(X)) -> s(mark(X)) mark(zWadr(X1,X2)) -> a__zWadr(mark(X1),mark(X2)) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: A__APP(nil,YS) -> MARK(YS) A__FROM(X) -> MARK(X) A__ZWADR(cons(X,XS),cons(Y,YS)) -> A__APP(mark(Y),cons(mark(X),nil)) A__ZWADR(cons(X,XS),cons(Y,YS)) -> MARK(X) A__ZWADR(cons(X,XS),cons(Y,YS)) -> MARK(Y) MARK(app(X1,X2)) -> A__APP(mark(X1),mark(X2)) MARK(app(X1,X2)) -> MARK(X1) MARK(app(X1,X2)) -> MARK(X2) MARK(cons(X1,X2)) -> MARK(X1) MARK(from(X)) -> A__FROM(mark(X)) MARK(from(X)) -> MARK(X) MARK(prefix(X)) -> MARK(X) MARK(s(X)) -> MARK(X) MARK(zWadr(X1,X2)) -> A__ZWADR(mark(X1),mark(X2)) MARK(zWadr(X1,X2)) -> MARK(X1) MARK(zWadr(X1,X2)) -> MARK(X2) ->->-> Rules: a__app(cons(X,XS),YS) -> cons(mark(X),app(XS,YS)) a__app(nil,YS) -> mark(YS) a__app(X1,X2) -> app(X1,X2) a__from(X) -> cons(mark(X),from(s(X))) a__from(X) -> from(X) a__prefix(L) -> cons(nil,zWadr(L,prefix(L))) a__prefix(X) -> prefix(X) a__zWadr(cons(X,XS),cons(Y,YS)) -> cons(a__app(mark(Y),cons(mark(X),nil)),zWadr(XS,YS)) a__zWadr(nil,YS) -> nil a__zWadr(X1,X2) -> zWadr(X1,X2) a__zWadr(XS,nil) -> nil mark(app(X1,X2)) -> a__app(mark(X1),mark(X2)) mark(cons(X1,X2)) -> cons(mark(X1),X2) mark(from(X)) -> a__from(mark(X)) mark(nil) -> nil mark(prefix(X)) -> a__prefix(mark(X)) mark(s(X)) -> s(mark(X)) mark(zWadr(X1,X2)) -> a__zWadr(mark(X1),mark(X2)) Problem 1: Reduction Pairs Processor: -> Pairs: A__APP(nil,YS) -> MARK(YS) A__FROM(X) -> MARK(X) A__ZWADR(cons(X,XS),cons(Y,YS)) -> A__APP(mark(Y),cons(mark(X),nil)) A__ZWADR(cons(X,XS),cons(Y,YS)) -> MARK(X) A__ZWADR(cons(X,XS),cons(Y,YS)) -> MARK(Y) MARK(app(X1,X2)) -> A__APP(mark(X1),mark(X2)) MARK(app(X1,X2)) -> MARK(X1) MARK(app(X1,X2)) -> MARK(X2) MARK(cons(X1,X2)) -> MARK(X1) MARK(from(X)) -> A__FROM(mark(X)) MARK(from(X)) -> MARK(X) MARK(prefix(X)) -> MARK(X) MARK(s(X)) -> MARK(X) MARK(zWadr(X1,X2)) -> A__ZWADR(mark(X1),mark(X2)) MARK(zWadr(X1,X2)) -> MARK(X1) MARK(zWadr(X1,X2)) -> MARK(X2) -> Rules: a__app(cons(X,XS),YS) -> cons(mark(X),app(XS,YS)) a__app(nil,YS) -> mark(YS) a__app(X1,X2) -> app(X1,X2) a__from(X) -> cons(mark(X),from(s(X))) a__from(X) -> from(X) a__prefix(L) -> cons(nil,zWadr(L,prefix(L))) a__prefix(X) -> prefix(X) a__zWadr(cons(X,XS),cons(Y,YS)) -> cons(a__app(mark(Y),cons(mark(X),nil)),zWadr(XS,YS)) a__zWadr(nil,YS) -> nil a__zWadr(X1,X2) -> zWadr(X1,X2) a__zWadr(XS,nil) -> nil mark(app(X1,X2)) -> a__app(mark(X1),mark(X2)) mark(cons(X1,X2)) -> cons(mark(X1),X2) mark(from(X)) -> a__from(mark(X)) mark(nil) -> nil mark(prefix(X)) -> a__prefix(mark(X)) mark(s(X)) -> s(mark(X)) mark(zWadr(X1,X2)) -> a__zWadr(mark(X1),mark(X2)) -> Usable rules: a__app(cons(X,XS),YS) -> cons(mark(X),app(XS,YS)) a__app(nil,YS) -> mark(YS) a__app(X1,X2) -> app(X1,X2) a__from(X) -> cons(mark(X),from(s(X))) a__from(X) -> from(X) a__prefix(L) -> cons(nil,zWadr(L,prefix(L))) a__prefix(X) -> prefix(X) a__zWadr(cons(X,XS),cons(Y,YS)) -> cons(a__app(mark(Y),cons(mark(X),nil)),zWadr(XS,YS)) a__zWadr(nil,YS) -> nil a__zWadr(X1,X2) -> zWadr(X1,X2) a__zWadr(XS,nil) -> nil mark(app(X1,X2)) -> a__app(mark(X1),mark(X2)) mark(cons(X1,X2)) -> cons(mark(X1),X2) mark(from(X)) -> a__from(mark(X)) mark(nil) -> nil mark(prefix(X)) -> a__prefix(mark(X)) mark(s(X)) -> s(mark(X)) mark(zWadr(X1,X2)) -> a__zWadr(mark(X1),mark(X2)) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [a__app](X1,X2) = 2.X1 + 2.X2 + 2 [a__from](X) = 2.X + 2 [a__prefix](X) = 2.X + 2 [a__zWadr](X1,X2) = 2.X1 + 2.X2 + 1 [mark](X) = X [app](X1,X2) = 2.X1 + 2.X2 + 2 [cons](X1,X2) = X1 + 2 [from](X) = 2.X + 2 [nil] = 0 [prefix](X) = 2.X + 2 [s](X) = X + 2 [zWadr](X1,X2) = 2.X1 + 2.X2 + 1 [A__APP](X1,X2) = 2.X2 + 2 [A__FROM](X) = 2.X + 2 [A__ZWADR](X1,X2) = 2.X1 + 2.X2 + 2 [MARK](X) = 2.X + 1 Problem 1: SCC Processor: -> Pairs: A__FROM(X) -> MARK(X) A__ZWADR(cons(X,XS),cons(Y,YS)) -> A__APP(mark(Y),cons(mark(X),nil)) A__ZWADR(cons(X,XS),cons(Y,YS)) -> MARK(X) A__ZWADR(cons(X,XS),cons(Y,YS)) -> MARK(Y) MARK(app(X1,X2)) -> A__APP(mark(X1),mark(X2)) MARK(app(X1,X2)) -> MARK(X1) MARK(app(X1,X2)) -> MARK(X2) MARK(cons(X1,X2)) -> MARK(X1) MARK(from(X)) -> A__FROM(mark(X)) MARK(from(X)) -> MARK(X) MARK(prefix(X)) -> MARK(X) MARK(s(X)) -> MARK(X) MARK(zWadr(X1,X2)) -> A__ZWADR(mark(X1),mark(X2)) MARK(zWadr(X1,X2)) -> MARK(X1) MARK(zWadr(X1,X2)) -> MARK(X2) -> Rules: a__app(cons(X,XS),YS) -> cons(mark(X),app(XS,YS)) a__app(nil,YS) -> mark(YS) a__app(X1,X2) -> app(X1,X2) a__from(X) -> cons(mark(X),from(s(X))) a__from(X) -> from(X) a__prefix(L) -> cons(nil,zWadr(L,prefix(L))) a__prefix(X) -> prefix(X) a__zWadr(cons(X,XS),cons(Y,YS)) -> cons(a__app(mark(Y),cons(mark(X),nil)),zWadr(XS,YS)) a__zWadr(nil,YS) -> nil a__zWadr(X1,X2) -> zWadr(X1,X2) a__zWadr(XS,nil) -> nil mark(app(X1,X2)) -> a__app(mark(X1),mark(X2)) mark(cons(X1,X2)) -> cons(mark(X1),X2) mark(from(X)) -> a__from(mark(X)) mark(nil) -> nil mark(prefix(X)) -> a__prefix(mark(X)) mark(s(X)) -> s(mark(X)) mark(zWadr(X1,X2)) -> a__zWadr(mark(X1),mark(X2)) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: A__FROM(X) -> MARK(X) A__ZWADR(cons(X,XS),cons(Y,YS)) -> MARK(X) A__ZWADR(cons(X,XS),cons(Y,YS)) -> MARK(Y) MARK(app(X1,X2)) -> MARK(X1) MARK(app(X1,X2)) -> MARK(X2) MARK(cons(X1,X2)) -> MARK(X1) MARK(from(X)) -> A__FROM(mark(X)) MARK(from(X)) -> MARK(X) MARK(prefix(X)) -> MARK(X) MARK(s(X)) -> MARK(X) MARK(zWadr(X1,X2)) -> A__ZWADR(mark(X1),mark(X2)) MARK(zWadr(X1,X2)) -> MARK(X1) MARK(zWadr(X1,X2)) -> MARK(X2) ->->-> Rules: a__app(cons(X,XS),YS) -> cons(mark(X),app(XS,YS)) a__app(nil,YS) -> mark(YS) a__app(X1,X2) -> app(X1,X2) a__from(X) -> cons(mark(X),from(s(X))) a__from(X) -> from(X) a__prefix(L) -> cons(nil,zWadr(L,prefix(L))) a__prefix(X) -> prefix(X) a__zWadr(cons(X,XS),cons(Y,YS)) -> cons(a__app(mark(Y),cons(mark(X),nil)),zWadr(XS,YS)) a__zWadr(nil,YS) -> nil a__zWadr(X1,X2) -> zWadr(X1,X2) a__zWadr(XS,nil) -> nil mark(app(X1,X2)) -> a__app(mark(X1),mark(X2)) mark(cons(X1,X2)) -> cons(mark(X1),X2) mark(from(X)) -> a__from(mark(X)) mark(nil) -> nil mark(prefix(X)) -> a__prefix(mark(X)) mark(s(X)) -> s(mark(X)) mark(zWadr(X1,X2)) -> a__zWadr(mark(X1),mark(X2)) Problem 1: Reduction Pairs Processor: -> Pairs: A__FROM(X) -> MARK(X) A__ZWADR(cons(X,XS),cons(Y,YS)) -> MARK(X) A__ZWADR(cons(X,XS),cons(Y,YS)) -> MARK(Y) MARK(app(X1,X2)) -> MARK(X1) MARK(app(X1,X2)) -> MARK(X2) MARK(cons(X1,X2)) -> MARK(X1) MARK(from(X)) -> A__FROM(mark(X)) MARK(from(X)) -> MARK(X) MARK(prefix(X)) -> MARK(X) MARK(s(X)) -> MARK(X) MARK(zWadr(X1,X2)) -> A__ZWADR(mark(X1),mark(X2)) MARK(zWadr(X1,X2)) -> MARK(X1) MARK(zWadr(X1,X2)) -> MARK(X2) -> Rules: a__app(cons(X,XS),YS) -> cons(mark(X),app(XS,YS)) a__app(nil,YS) -> mark(YS) a__app(X1,X2) -> app(X1,X2) a__from(X) -> cons(mark(X),from(s(X))) a__from(X) -> from(X) a__prefix(L) -> cons(nil,zWadr(L,prefix(L))) a__prefix(X) -> prefix(X) a__zWadr(cons(X,XS),cons(Y,YS)) -> cons(a__app(mark(Y),cons(mark(X),nil)),zWadr(XS,YS)) a__zWadr(nil,YS) -> nil a__zWadr(X1,X2) -> zWadr(X1,X2) a__zWadr(XS,nil) -> nil mark(app(X1,X2)) -> a__app(mark(X1),mark(X2)) mark(cons(X1,X2)) -> cons(mark(X1),X2) mark(from(X)) -> a__from(mark(X)) mark(nil) -> nil mark(prefix(X)) -> a__prefix(mark(X)) mark(s(X)) -> s(mark(X)) mark(zWadr(X1,X2)) -> a__zWadr(mark(X1),mark(X2)) -> Usable rules: a__app(cons(X,XS),YS) -> cons(mark(X),app(XS,YS)) a__app(nil,YS) -> mark(YS) a__app(X1,X2) -> app(X1,X2) a__from(X) -> cons(mark(X),from(s(X))) a__from(X) -> from(X) a__prefix(L) -> cons(nil,zWadr(L,prefix(L))) a__prefix(X) -> prefix(X) a__zWadr(cons(X,XS),cons(Y,YS)) -> cons(a__app(mark(Y),cons(mark(X),nil)),zWadr(XS,YS)) a__zWadr(nil,YS) -> nil a__zWadr(X1,X2) -> zWadr(X1,X2) a__zWadr(XS,nil) -> nil mark(app(X1,X2)) -> a__app(mark(X1),mark(X2)) mark(cons(X1,X2)) -> cons(mark(X1),X2) mark(from(X)) -> a__from(mark(X)) mark(nil) -> nil mark(prefix(X)) -> a__prefix(mark(X)) mark(s(X)) -> s(mark(X)) mark(zWadr(X1,X2)) -> a__zWadr(mark(X1),mark(X2)) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [a__app](X1,X2) = 2.X1 + X2 + 1 [a__from](X) = 2.X + 2 [a__prefix](X) = 2.X + 2 [a__zWadr](X1,X2) = 2.X1 + 2.X2 + 2 [mark](X) = X [app](X1,X2) = 2.X1 + X2 + 1 [cons](X1,X2) = 2.X1 + 2 [from](X) = 2.X + 2 [nil] = 0 [prefix](X) = 2.X + 2 [s](X) = 2.X + 1 [zWadr](X1,X2) = 2.X1 + 2.X2 + 2 [A__FROM](X) = 2.X + 2 [A__ZWADR](X1,X2) = 2.X1 + 2.X2 + 2 [MARK](X) = 2.X + 1 Problem 1: SCC Processor: -> Pairs: A__ZWADR(cons(X,XS),cons(Y,YS)) -> MARK(X) A__ZWADR(cons(X,XS),cons(Y,YS)) -> MARK(Y) MARK(app(X1,X2)) -> MARK(X1) MARK(app(X1,X2)) -> MARK(X2) MARK(cons(X1,X2)) -> MARK(X1) MARK(from(X)) -> A__FROM(mark(X)) MARK(from(X)) -> MARK(X) MARK(prefix(X)) -> MARK(X) MARK(s(X)) -> MARK(X) MARK(zWadr(X1,X2)) -> A__ZWADR(mark(X1),mark(X2)) MARK(zWadr(X1,X2)) -> MARK(X1) MARK(zWadr(X1,X2)) -> MARK(X2) -> Rules: a__app(cons(X,XS),YS) -> cons(mark(X),app(XS,YS)) a__app(nil,YS) -> mark(YS) a__app(X1,X2) -> app(X1,X2) a__from(X) -> cons(mark(X),from(s(X))) a__from(X) -> from(X) a__prefix(L) -> cons(nil,zWadr(L,prefix(L))) a__prefix(X) -> prefix(X) a__zWadr(cons(X,XS),cons(Y,YS)) -> cons(a__app(mark(Y),cons(mark(X),nil)),zWadr(XS,YS)) a__zWadr(nil,YS) -> nil a__zWadr(X1,X2) -> zWadr(X1,X2) a__zWadr(XS,nil) -> nil mark(app(X1,X2)) -> a__app(mark(X1),mark(X2)) mark(cons(X1,X2)) -> cons(mark(X1),X2) mark(from(X)) -> a__from(mark(X)) mark(nil) -> nil mark(prefix(X)) -> a__prefix(mark(X)) mark(s(X)) -> s(mark(X)) mark(zWadr(X1,X2)) -> a__zWadr(mark(X1),mark(X2)) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: A__ZWADR(cons(X,XS),cons(Y,YS)) -> MARK(X) A__ZWADR(cons(X,XS),cons(Y,YS)) -> MARK(Y) MARK(app(X1,X2)) -> MARK(X1) MARK(app(X1,X2)) -> MARK(X2) MARK(cons(X1,X2)) -> MARK(X1) MARK(from(X)) -> MARK(X) MARK(prefix(X)) -> MARK(X) MARK(s(X)) -> MARK(X) MARK(zWadr(X1,X2)) -> A__ZWADR(mark(X1),mark(X2)) MARK(zWadr(X1,X2)) -> MARK(X1) MARK(zWadr(X1,X2)) -> MARK(X2) ->->-> Rules: a__app(cons(X,XS),YS) -> cons(mark(X),app(XS,YS)) a__app(nil,YS) -> mark(YS) a__app(X1,X2) -> app(X1,X2) a__from(X) -> cons(mark(X),from(s(X))) a__from(X) -> from(X) a__prefix(L) -> cons(nil,zWadr(L,prefix(L))) a__prefix(X) -> prefix(X) a__zWadr(cons(X,XS),cons(Y,YS)) -> cons(a__app(mark(Y),cons(mark(X),nil)),zWadr(XS,YS)) a__zWadr(nil,YS) -> nil a__zWadr(X1,X2) -> zWadr(X1,X2) a__zWadr(XS,nil) -> nil mark(app(X1,X2)) -> a__app(mark(X1),mark(X2)) mark(cons(X1,X2)) -> cons(mark(X1),X2) mark(from(X)) -> a__from(mark(X)) mark(nil) -> nil mark(prefix(X)) -> a__prefix(mark(X)) mark(s(X)) -> s(mark(X)) mark(zWadr(X1,X2)) -> a__zWadr(mark(X1),mark(X2)) Problem 1: Reduction Pairs Processor: -> Pairs: A__ZWADR(cons(X,XS),cons(Y,YS)) -> MARK(X) A__ZWADR(cons(X,XS),cons(Y,YS)) -> MARK(Y) MARK(app(X1,X2)) -> MARK(X1) MARK(app(X1,X2)) -> MARK(X2) MARK(cons(X1,X2)) -> MARK(X1) MARK(from(X)) -> MARK(X) MARK(prefix(X)) -> MARK(X) MARK(s(X)) -> MARK(X) MARK(zWadr(X1,X2)) -> A__ZWADR(mark(X1),mark(X2)) MARK(zWadr(X1,X2)) -> MARK(X1) MARK(zWadr(X1,X2)) -> MARK(X2) -> Rules: a__app(cons(X,XS),YS) -> cons(mark(X),app(XS,YS)) a__app(nil,YS) -> mark(YS) a__app(X1,X2) -> app(X1,X2) a__from(X) -> cons(mark(X),from(s(X))) a__from(X) -> from(X) a__prefix(L) -> cons(nil,zWadr(L,prefix(L))) a__prefix(X) -> prefix(X) a__zWadr(cons(X,XS),cons(Y,YS)) -> cons(a__app(mark(Y),cons(mark(X),nil)),zWadr(XS,YS)) a__zWadr(nil,YS) -> nil a__zWadr(X1,X2) -> zWadr(X1,X2) a__zWadr(XS,nil) -> nil mark(app(X1,X2)) -> a__app(mark(X1),mark(X2)) mark(cons(X1,X2)) -> cons(mark(X1),X2) mark(from(X)) -> a__from(mark(X)) mark(nil) -> nil mark(prefix(X)) -> a__prefix(mark(X)) mark(s(X)) -> s(mark(X)) mark(zWadr(X1,X2)) -> a__zWadr(mark(X1),mark(X2)) -> Usable rules: a__app(cons(X,XS),YS) -> cons(mark(X),app(XS,YS)) a__app(nil,YS) -> mark(YS) a__app(X1,X2) -> app(X1,X2) a__from(X) -> cons(mark(X),from(s(X))) a__from(X) -> from(X) a__prefix(L) -> cons(nil,zWadr(L,prefix(L))) a__prefix(X) -> prefix(X) a__zWadr(cons(X,XS),cons(Y,YS)) -> cons(a__app(mark(Y),cons(mark(X),nil)),zWadr(XS,YS)) a__zWadr(nil,YS) -> nil a__zWadr(X1,X2) -> zWadr(X1,X2) a__zWadr(XS,nil) -> nil mark(app(X1,X2)) -> a__app(mark(X1),mark(X2)) mark(cons(X1,X2)) -> cons(mark(X1),X2) mark(from(X)) -> a__from(mark(X)) mark(nil) -> nil mark(prefix(X)) -> a__prefix(mark(X)) mark(s(X)) -> s(mark(X)) mark(zWadr(X1,X2)) -> a__zWadr(mark(X1),mark(X2)) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [a__app](X1,X2) = 2.X1 + 2.X2 + 2 [a__from](X) = 2.X + 2 [a__prefix](X) = 2.X + 2 [a__zWadr](X1,X2) = 2.X1 + 2.X2 + 2 [mark](X) = X [app](X1,X2) = 2.X1 + 2.X2 + 2 [cons](X1,X2) = X1 + 1 [from](X) = 2.X + 2 [nil] = 1 [prefix](X) = 2.X + 2 [s](X) = X + 1 [zWadr](X1,X2) = 2.X1 + 2.X2 + 2 [A__ZWADR](X1,X2) = 2.X1 + 2.X2 + 2 [MARK](X) = X + 2 Problem 1: SCC Processor: -> Pairs: A__ZWADR(cons(X,XS),cons(Y,YS)) -> MARK(Y) MARK(app(X1,X2)) -> MARK(X1) MARK(app(X1,X2)) -> MARK(X2) MARK(cons(X1,X2)) -> MARK(X1) MARK(from(X)) -> MARK(X) MARK(prefix(X)) -> MARK(X) MARK(s(X)) -> MARK(X) MARK(zWadr(X1,X2)) -> A__ZWADR(mark(X1),mark(X2)) MARK(zWadr(X1,X2)) -> MARK(X1) MARK(zWadr(X1,X2)) -> MARK(X2) -> Rules: a__app(cons(X,XS),YS) -> cons(mark(X),app(XS,YS)) a__app(nil,YS) -> mark(YS) a__app(X1,X2) -> app(X1,X2) a__from(X) -> cons(mark(X),from(s(X))) a__from(X) -> from(X) a__prefix(L) -> cons(nil,zWadr(L,prefix(L))) a__prefix(X) -> prefix(X) a__zWadr(cons(X,XS),cons(Y,YS)) -> cons(a__app(mark(Y),cons(mark(X),nil)),zWadr(XS,YS)) a__zWadr(nil,YS) -> nil a__zWadr(X1,X2) -> zWadr(X1,X2) a__zWadr(XS,nil) -> nil mark(app(X1,X2)) -> a__app(mark(X1),mark(X2)) mark(cons(X1,X2)) -> cons(mark(X1),X2) mark(from(X)) -> a__from(mark(X)) mark(nil) -> nil mark(prefix(X)) -> a__prefix(mark(X)) mark(s(X)) -> s(mark(X)) mark(zWadr(X1,X2)) -> a__zWadr(mark(X1),mark(X2)) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: A__ZWADR(cons(X,XS),cons(Y,YS)) -> MARK(Y) MARK(app(X1,X2)) -> MARK(X1) MARK(app(X1,X2)) -> MARK(X2) MARK(cons(X1,X2)) -> MARK(X1) MARK(from(X)) -> MARK(X) MARK(prefix(X)) -> MARK(X) MARK(s(X)) -> MARK(X) MARK(zWadr(X1,X2)) -> A__ZWADR(mark(X1),mark(X2)) MARK(zWadr(X1,X2)) -> MARK(X1) MARK(zWadr(X1,X2)) -> MARK(X2) ->->-> Rules: a__app(cons(X,XS),YS) -> cons(mark(X),app(XS,YS)) a__app(nil,YS) -> mark(YS) a__app(X1,X2) -> app(X1,X2) a__from(X) -> cons(mark(X),from(s(X))) a__from(X) -> from(X) a__prefix(L) -> cons(nil,zWadr(L,prefix(L))) a__prefix(X) -> prefix(X) a__zWadr(cons(X,XS),cons(Y,YS)) -> cons(a__app(mark(Y),cons(mark(X),nil)),zWadr(XS,YS)) a__zWadr(nil,YS) -> nil a__zWadr(X1,X2) -> zWadr(X1,X2) a__zWadr(XS,nil) -> nil mark(app(X1,X2)) -> a__app(mark(X1),mark(X2)) mark(cons(X1,X2)) -> cons(mark(X1),X2) mark(from(X)) -> a__from(mark(X)) mark(nil) -> nil mark(prefix(X)) -> a__prefix(mark(X)) mark(s(X)) -> s(mark(X)) mark(zWadr(X1,X2)) -> a__zWadr(mark(X1),mark(X2)) Problem 1: Reduction Pairs Processor: -> Pairs: A__ZWADR(cons(X,XS),cons(Y,YS)) -> MARK(Y) MARK(app(X1,X2)) -> MARK(X1) MARK(app(X1,X2)) -> MARK(X2) MARK(cons(X1,X2)) -> MARK(X1) MARK(from(X)) -> MARK(X) MARK(prefix(X)) -> MARK(X) MARK(s(X)) -> MARK(X) MARK(zWadr(X1,X2)) -> A__ZWADR(mark(X1),mark(X2)) MARK(zWadr(X1,X2)) -> MARK(X1) MARK(zWadr(X1,X2)) -> MARK(X2) -> Rules: a__app(cons(X,XS),YS) -> cons(mark(X),app(XS,YS)) a__app(nil,YS) -> mark(YS) a__app(X1,X2) -> app(X1,X2) a__from(X) -> cons(mark(X),from(s(X))) a__from(X) -> from(X) a__prefix(L) -> cons(nil,zWadr(L,prefix(L))) a__prefix(X) -> prefix(X) a__zWadr(cons(X,XS),cons(Y,YS)) -> cons(a__app(mark(Y),cons(mark(X),nil)),zWadr(XS,YS)) a__zWadr(nil,YS) -> nil a__zWadr(X1,X2) -> zWadr(X1,X2) a__zWadr(XS,nil) -> nil mark(app(X1,X2)) -> a__app(mark(X1),mark(X2)) mark(cons(X1,X2)) -> cons(mark(X1),X2) mark(from(X)) -> a__from(mark(X)) mark(nil) -> nil mark(prefix(X)) -> a__prefix(mark(X)) mark(s(X)) -> s(mark(X)) mark(zWadr(X1,X2)) -> a__zWadr(mark(X1),mark(X2)) -> Usable rules: a__app(cons(X,XS),YS) -> cons(mark(X),app(XS,YS)) a__app(nil,YS) -> mark(YS) a__app(X1,X2) -> app(X1,X2) a__from(X) -> cons(mark(X),from(s(X))) a__from(X) -> from(X) a__prefix(L) -> cons(nil,zWadr(L,prefix(L))) a__prefix(X) -> prefix(X) a__zWadr(cons(X,XS),cons(Y,YS)) -> cons(a__app(mark(Y),cons(mark(X),nil)),zWadr(XS,YS)) a__zWadr(nil,YS) -> nil a__zWadr(X1,X2) -> zWadr(X1,X2) a__zWadr(XS,nil) -> nil mark(app(X1,X2)) -> a__app(mark(X1),mark(X2)) mark(cons(X1,X2)) -> cons(mark(X1),X2) mark(from(X)) -> a__from(mark(X)) mark(nil) -> nil mark(prefix(X)) -> a__prefix(mark(X)) mark(s(X)) -> s(mark(X)) mark(zWadr(X1,X2)) -> a__zWadr(mark(X1),mark(X2)) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [a__app](X1,X2) = X1 + X2 + 1 [a__from](X) = 2.X + 2 [a__prefix](X) = 2.X + 2 [a__zWadr](X1,X2) = 2.X1 + X2 + 2 [mark](X) = X [app](X1,X2) = X1 + X2 + 1 [cons](X1,X2) = 2.X1 + 2 [from](X) = 2.X + 2 [nil] = 0 [prefix](X) = 2.X + 2 [s](X) = 2.X + 1 [zWadr](X1,X2) = 2.X1 + X2 + 2 [A__ZWADR](X1,X2) = 2.X1 + 2.X2 + 2 [MARK](X) = 2.X + 2 Problem 1: SCC Processor: -> Pairs: MARK(app(X1,X2)) -> MARK(X1) MARK(app(X1,X2)) -> MARK(X2) MARK(cons(X1,X2)) -> MARK(X1) MARK(from(X)) -> MARK(X) MARK(prefix(X)) -> MARK(X) MARK(s(X)) -> MARK(X) MARK(zWadr(X1,X2)) -> A__ZWADR(mark(X1),mark(X2)) MARK(zWadr(X1,X2)) -> MARK(X1) MARK(zWadr(X1,X2)) -> MARK(X2) -> Rules: a__app(cons(X,XS),YS) -> cons(mark(X),app(XS,YS)) a__app(nil,YS) -> mark(YS) a__app(X1,X2) -> app(X1,X2) a__from(X) -> cons(mark(X),from(s(X))) a__from(X) -> from(X) a__prefix(L) -> cons(nil,zWadr(L,prefix(L))) a__prefix(X) -> prefix(X) a__zWadr(cons(X,XS),cons(Y,YS)) -> cons(a__app(mark(Y),cons(mark(X),nil)),zWadr(XS,YS)) a__zWadr(nil,YS) -> nil a__zWadr(X1,X2) -> zWadr(X1,X2) a__zWadr(XS,nil) -> nil mark(app(X1,X2)) -> a__app(mark(X1),mark(X2)) mark(cons(X1,X2)) -> cons(mark(X1),X2) mark(from(X)) -> a__from(mark(X)) mark(nil) -> nil mark(prefix(X)) -> a__prefix(mark(X)) mark(s(X)) -> s(mark(X)) mark(zWadr(X1,X2)) -> a__zWadr(mark(X1),mark(X2)) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: MARK(app(X1,X2)) -> MARK(X1) MARK(app(X1,X2)) -> MARK(X2) MARK(cons(X1,X2)) -> MARK(X1) MARK(from(X)) -> MARK(X) MARK(prefix(X)) -> MARK(X) MARK(s(X)) -> MARK(X) MARK(zWadr(X1,X2)) -> MARK(X1) MARK(zWadr(X1,X2)) -> MARK(X2) ->->-> Rules: a__app(cons(X,XS),YS) -> cons(mark(X),app(XS,YS)) a__app(nil,YS) -> mark(YS) a__app(X1,X2) -> app(X1,X2) a__from(X) -> cons(mark(X),from(s(X))) a__from(X) -> from(X) a__prefix(L) -> cons(nil,zWadr(L,prefix(L))) a__prefix(X) -> prefix(X) a__zWadr(cons(X,XS),cons(Y,YS)) -> cons(a__app(mark(Y),cons(mark(X),nil)),zWadr(XS,YS)) a__zWadr(nil,YS) -> nil a__zWadr(X1,X2) -> zWadr(X1,X2) a__zWadr(XS,nil) -> nil mark(app(X1,X2)) -> a__app(mark(X1),mark(X2)) mark(cons(X1,X2)) -> cons(mark(X1),X2) mark(from(X)) -> a__from(mark(X)) mark(nil) -> nil mark(prefix(X)) -> a__prefix(mark(X)) mark(s(X)) -> s(mark(X)) mark(zWadr(X1,X2)) -> a__zWadr(mark(X1),mark(X2)) Problem 1: Subterm Processor: -> Pairs: MARK(app(X1,X2)) -> MARK(X1) MARK(app(X1,X2)) -> MARK(X2) MARK(cons(X1,X2)) -> MARK(X1) MARK(from(X)) -> MARK(X) MARK(prefix(X)) -> MARK(X) MARK(s(X)) -> MARK(X) MARK(zWadr(X1,X2)) -> MARK(X1) MARK(zWadr(X1,X2)) -> MARK(X2) -> Rules: a__app(cons(X,XS),YS) -> cons(mark(X),app(XS,YS)) a__app(nil,YS) -> mark(YS) a__app(X1,X2) -> app(X1,X2) a__from(X) -> cons(mark(X),from(s(X))) a__from(X) -> from(X) a__prefix(L) -> cons(nil,zWadr(L,prefix(L))) a__prefix(X) -> prefix(X) a__zWadr(cons(X,XS),cons(Y,YS)) -> cons(a__app(mark(Y),cons(mark(X),nil)),zWadr(XS,YS)) a__zWadr(nil,YS) -> nil a__zWadr(X1,X2) -> zWadr(X1,X2) a__zWadr(XS,nil) -> nil mark(app(X1,X2)) -> a__app(mark(X1),mark(X2)) mark(cons(X1,X2)) -> cons(mark(X1),X2) mark(from(X)) -> a__from(mark(X)) mark(nil) -> nil mark(prefix(X)) -> a__prefix(mark(X)) mark(s(X)) -> s(mark(X)) mark(zWadr(X1,X2)) -> a__zWadr(mark(X1),mark(X2)) ->Projection: pi(MARK) = 1 Problem 1: SCC Processor: -> Pairs: Empty -> Rules: a__app(cons(X,XS),YS) -> cons(mark(X),app(XS,YS)) a__app(nil,YS) -> mark(YS) a__app(X1,X2) -> app(X1,X2) a__from(X) -> cons(mark(X),from(s(X))) a__from(X) -> from(X) a__prefix(L) -> cons(nil,zWadr(L,prefix(L))) a__prefix(X) -> prefix(X) a__zWadr(cons(X,XS),cons(Y,YS)) -> cons(a__app(mark(Y),cons(mark(X),nil)),zWadr(XS,YS)) a__zWadr(nil,YS) -> nil a__zWadr(X1,X2) -> zWadr(X1,X2) a__zWadr(XS,nil) -> nil mark(app(X1,X2)) -> a__app(mark(X1),mark(X2)) mark(cons(X1,X2)) -> cons(mark(X1),X2) mark(from(X)) -> a__from(mark(X)) mark(nil) -> nil mark(prefix(X)) -> a__prefix(mark(X)) mark(s(X)) -> s(mark(X)) mark(zWadr(X1,X2)) -> a__zWadr(mark(X1),mark(X2)) ->Strongly Connected Components: There is no strongly connected component The problem is finite.