YES Time: 0.015180 TRS: { a__f X -> f X, a__f f a() -> a__f g f a(), mark g X -> g X, mark f X -> a__f mark X, mark a() -> a()} DP: DP: {a__f# f a() -> a__f# g f a(), mark# f X -> a__f# mark X, mark# f X -> mark# X} TRS: { a__f X -> f X, a__f f a() -> a__f g f a(), mark g X -> g X, mark f X -> a__f mark X, mark a() -> a()} EDG: {(mark# f X -> a__f# mark X, a__f# f a() -> a__f# g f a()) (a__f# f a() -> a__f# g f a(), a__f# f a() -> a__f# g f a()) (mark# f X -> mark# X, mark# f X -> a__f# mark X) (mark# f X -> mark# X, mark# f X -> mark# X)} STATUS: arrows: 0.555556 SCCS (2): Scc: {mark# f X -> mark# X} Scc: {a__f# f a() -> a__f# g f a()} SCC (1): Strict: {mark# f X -> mark# X} Weak: { a__f X -> f X, a__f f a() -> a__f g f a(), mark g X -> g X, mark f X -> a__f mark X, mark a() -> a()} POLY: Mode: weak, max_in=1, output_bits=-1, dnum=1, ur=true Interpretation: [a__f](x0) = 0, [g](x0) = 0, [f](x0) = x0 + 1, [mark](x0) = 0, [a] = 1, [mark#](x0) = x0 + 1 Strict: mark# f X -> mark# X 2 + 1X >= 1 + 1X Weak: mark a() -> a() 0 >= 1 mark f X -> a__f mark X 0 + 0X >= 0 + 0X mark g X -> g X 0 + 0X >= 0 + 0X a__f f a() -> a__f g f a() 0 >= 0 a__f X -> f X 0 + 0X >= 1 + 1X Qed SCC (1): Strict: {a__f# f a() -> a__f# g f a()} Weak: { a__f X -> f X, a__f f a() -> a__f g f a(), mark g X -> g X, mark f X -> a__f mark X, mark a() -> a()} POLY: Mode: weak, max_in=1, output_bits=-1, dnum=1, ur=true Interpretation: [a__f](x0) = 0, [g](x0) = 0, [f](x0) = x0, [mark](x0) = 0, [a] = 1, [a__f#](x0) = x0 + 1 Strict: a__f# f a() -> a__f# g f a() 2 >= 1 Weak: mark a() -> a() 0 >= 1 mark f X -> a__f mark X 0 + 0X >= 0 + 0X mark g X -> g X 0 + 0X >= 0 + 0X a__f f a() -> a__f g f a() 0 >= 0 a__f X -> f X 0 + 0X >= 0 + 1X Qed