YES Time: 0.106868 TRS: { +(x, +(y, z)) -> +(+(x, y), z), +(x, 0()) -> x, +(x, s y) -> s +(x, y), +(0(), y) -> y, +(s x, y) -> s +(x, y), f h(x, h(y, z)) -> f h(+(x, y), z), f g f x -> f h(s 0(), x), f g h(x, y) -> f h(s x, y)} DP: DP: { +#(x, +(y, z)) -> +#(x, y), +#(x, +(y, z)) -> +#(+(x, y), z), +#(x, s y) -> +#(x, y), +#(s x, y) -> +#(x, y), f# h(x, h(y, z)) -> +#(x, y), f# h(x, h(y, z)) -> f# h(+(x, y), z), f# g f x -> f# h(s 0(), x), f# g h(x, y) -> f# h(s x, y)} TRS: { +(x, +(y, z)) -> +(+(x, y), z), +(x, 0()) -> x, +(x, s y) -> s +(x, y), +(0(), y) -> y, +(s x, y) -> s +(x, y), f h(x, h(y, z)) -> f h(+(x, y), z), f g f x -> f h(s 0(), x), f g h(x, y) -> f h(s x, y)} EDG: {(+#(x, s y) -> +#(x, y), +#(s x, y) -> +#(x, y)) (+#(x, s y) -> +#(x, y), +#(x, s y) -> +#(x, y)) (+#(x, s y) -> +#(x, y), +#(x, +(y, z)) -> +#(+(x, y), z)) (+#(x, s y) -> +#(x, y), +#(x, +(y, z)) -> +#(x, y)) (f# h(x, h(y, z)) -> +#(x, y), +#(s x, y) -> +#(x, y)) (f# h(x, h(y, z)) -> +#(x, y), +#(x, s y) -> +#(x, y)) (f# h(x, h(y, z)) -> +#(x, y), +#(x, +(y, z)) -> +#(+(x, y), z)) (f# h(x, h(y, z)) -> +#(x, y), +#(x, +(y, z)) -> +#(x, y)) (f# g f x -> f# h(s 0(), x), f# g h(x, y) -> f# h(s x, y)) (f# g f x -> f# h(s 0(), x), f# g f x -> f# h(s 0(), x)) (f# g f x -> f# h(s 0(), x), f# h(x, h(y, z)) -> f# h(+(x, y), z)) (f# g f x -> f# h(s 0(), x), f# h(x, h(y, z)) -> +#(x, y)) (+#(x, +(y, z)) -> +#(+(x, y), z), +#(s x, y) -> +#(x, y)) (+#(x, +(y, z)) -> +#(+(x, y), z), +#(x, s y) -> +#(x, y)) (+#(x, +(y, z)) -> +#(+(x, y), z), +#(x, +(y, z)) -> +#(+(x, y), z)) (+#(x, +(y, z)) -> +#(+(x, y), z), +#(x, +(y, z)) -> +#(x, y)) (f# g h(x, y) -> f# h(s x, y), f# h(x, h(y, z)) -> +#(x, y)) (f# g h(x, y) -> f# h(s x, y), f# h(x, h(y, z)) -> f# h(+(x, y), z)) (f# g h(x, y) -> f# h(s x, y), f# g f x -> f# h(s 0(), x)) (f# g h(x, y) -> f# h(s x, y), f# g h(x, y) -> f# h(s x, y)) (f# h(x, h(y, z)) -> f# h(+(x, y), z), f# h(x, h(y, z)) -> +#(x, y)) (f# h(x, h(y, z)) -> f# h(+(x, y), z), f# h(x, h(y, z)) -> f# h(+(x, y), z)) (f# h(x, h(y, z)) -> f# h(+(x, y), z), f# g f x -> f# h(s 0(), x)) (f# h(x, h(y, z)) -> f# h(+(x, y), z), f# g h(x, y) -> f# h(s x, y)) (+#(s x, y) -> +#(x, y), +#(x, +(y, z)) -> +#(x, y)) (+#(s x, y) -> +#(x, y), +#(x, +(y, z)) -> +#(+(x, y), z)) (+#(s x, y) -> +#(x, y), +#(x, s y) -> +#(x, y)) (+#(s x, y) -> +#(x, y), +#(s x, y) -> +#(x, y)) (+#(x, +(y, z)) -> +#(x, y), +#(x, +(y, z)) -> +#(x, y)) (+#(x, +(y, z)) -> +#(x, y), +#(x, +(y, z)) -> +#(+(x, y), z)) (+#(x, +(y, z)) -> +#(x, y), +#(x, s y) -> +#(x, y)) (+#(x, +(y, z)) -> +#(x, y), +#(s x, y) -> +#(x, y))} STATUS: arrows: 0.500000 SCCS (2): Scc: {f# h(x, h(y, z)) -> f# h(+(x, y), z), f# g f x -> f# h(s 0(), x), f# g h(x, y) -> f# h(s x, y)} Scc: {+#(x, +(y, z)) -> +#(x, y), +#(x, +(y, z)) -> +#(+(x, y), z), +#(x, s y) -> +#(x, y), +#(s x, y) -> +#(x, y)} SCC (3): Strict: {f# h(x, h(y, z)) -> f# h(+(x, y), z), f# g f x -> f# h(s 0(), x), f# g h(x, y) -> f# h(s x, y)} Weak: { +(x, +(y, z)) -> +(+(x, y), z), +(x, 0()) -> x, +(x, s y) -> s +(x, y), +(0(), y) -> y, +(s x, y) -> s +(x, y), f h(x, h(y, z)) -> f h(+(x, y), z), f g f x -> f h(s 0(), x), f g h(x, y) -> f h(s x, y)} POLY: Mode: weak, max_in=1, output_bits=-1, dnum=1, ur=true Interpretation: [+](x0, x1) = x0 + x1 + 1, [h](x0, x1) = 0, [s](x0) = x0 + 1, [f](x0) = 1, [g](x0) = x0 + 1, [0] = 1, [f#](x0) = x0 Strict: f# g h(x, y) -> f# h(s x, y) 1 + 0x + 0y >= 0 + 0x + 0y f# g f x -> f# h(s 0(), x) 2 + 0x >= 0 + 0x f# h(x, h(y, z)) -> f# h(+(x, y), z) 0 + 0x + 0y + 0z >= 0 + 0x + 0y + 0z Weak: f g h(x, y) -> f h(s x, y) 1 + 0x + 0y >= 1 + 0x + 0y f g f x -> f h(s 0(), x) 1 + 0x >= 1 + 0x f h(x, h(y, z)) -> f h(+(x, y), z) 1 + 0x + 0y + 0z >= 1 + 0x + 0y + 0z +(s x, y) -> s +(x, y) 2 + 1x + 1y >= 2 + 1x + 1y +(0(), y) -> y 2 + 1y >= 1y +(x, s y) -> s +(x, y) 2 + 1x + 1y >= 2 + 1x + 1y +(x, 0()) -> x 2 + 1x >= 1x +(x, +(y, z)) -> +(+(x, y), z) 2 + 1x + 1y + 1z >= 2 + 1x + 1y + 1z SCCS (1): Scc: {f# h(x, h(y, z)) -> f# h(+(x, y), z)} SCC (1): Strict: {f# h(x, h(y, z)) -> f# h(+(x, y), z)} Weak: { +(x, +(y, z)) -> +(+(x, y), z), +(x, 0()) -> x, +(x, s y) -> s +(x, y), +(0(), y) -> y, +(s x, y) -> s +(x, y), f h(x, h(y, z)) -> f h(+(x, y), z), f g f x -> f h(s 0(), x), f g h(x, y) -> f h(s x, y)} POLY: Mode: weak, max_in=1, output_bits=-1, dnum=1, ur=true Interpretation: [+](x0, x1) = 0, [h](x0, x1) = x0 + 1, [s](x0) = 0, [f](x0) = 0, [g](x0) = 0, [0] = 0, [f#](x0) = x0 + 1 Strict: f# h(x, h(y, z)) -> f# h(+(x, y), z) 3 + 0x + 0y + 1z >= 2 + 0x + 0y + 1z Weak: f g h(x, y) -> f h(s x, y) 0 + 0x + 0y >= 0 + 0x + 0y f g f x -> f h(s 0(), x) 0 + 0x >= 0 + 0x f h(x, h(y, z)) -> f h(+(x, y), z) 0 + 0x + 0y + 0z >= 0 + 0x + 0y + 0z +(s x, y) -> s +(x, y) 0 + 0x + 0y >= 0 + 0x + 0y +(0(), y) -> y 0 + 0y >= 1y +(x, s y) -> s +(x, y) 0 + 0x + 0y >= 0 + 0x + 0y +(x, 0()) -> x 0 + 0x >= 1x +(x, +(y, z)) -> +(+(x, y), z) 0 + 0x + 0y + 0z >= 0 + 0x + 0y + 0z Qed SCC (4): Strict: {+#(x, +(y, z)) -> +#(x, y), +#(x, +(y, z)) -> +#(+(x, y), z), +#(x, s y) -> +#(x, y), +#(s x, y) -> +#(x, y)} Weak: { +(x, +(y, z)) -> +(+(x, y), z), +(x, 0()) -> x, +(x, s y) -> s +(x, y), +(0(), y) -> y, +(s x, y) -> s +(x, y), f h(x, h(y, z)) -> f h(+(x, y), z), f g f x -> f h(s 0(), x), f g h(x, y) -> f h(s x, y)} POLY: Mode: weak, max_in=1, output_bits=-1, dnum=1, ur=true Interpretation: [+](x0, x1) = x0 + x1 + 1, [h](x0, x1) = x0, [s](x0) = x0 + 1, [f](x0) = 0, [g](x0) = 0, [0] = 0, [+#](x0, x1) = x0 + x1 + 1 Strict: +#(s x, y) -> +#(x, y) 2 + 1x + 1y >= 1 + 1x + 1y +#(x, s y) -> +#(x, y) 2 + 1x + 1y >= 1 + 1x + 1y +#(x, +(y, z)) -> +#(+(x, y), z) 2 + 1x + 1y + 1z >= 2 + 1x + 1y + 1z +#(x, +(y, z)) -> +#(x, y) 2 + 1x + 1y + 1z >= 1 + 1x + 1y Weak: f g h(x, y) -> f h(s x, y) 0 + 0x + 0y >= 0 + 0x + 0y f g f x -> f h(s 0(), x) 0 + 0x >= 0 + 0x f h(x, h(y, z)) -> f h(+(x, y), z) 0 + 0x + 0y + 0z >= 0 + 0x + 0y + 0z +(s x, y) -> s +(x, y) 2 + 1x + 1y >= 2 + 1x + 1y +(0(), y) -> y 1 + 1y >= 1y +(x, s y) -> s +(x, y) 2 + 1x + 1y >= 2 + 1x + 1y +(x, 0()) -> x 1 + 1x >= 1x +(x, +(y, z)) -> +(+(x, y), z) 2 + 1x + 1y + 1z >= 2 + 1x + 1y + 1z SCCS (1): Scc: {+#(x, +(y, z)) -> +#(+(x, y), z)} SCC (1): Strict: {+#(x, +(y, z)) -> +#(+(x, y), z)} Weak: { +(x, +(y, z)) -> +(+(x, y), z), +(x, 0()) -> x, +(x, s y) -> s +(x, y), +(0(), y) -> y, +(s x, y) -> s +(x, y), f h(x, h(y, z)) -> f h(+(x, y), z), f g f x -> f h(s 0(), x), f g h(x, y) -> f h(s x, y)} POLY: Mode: weak, max_in=1, output_bits=-1, dnum=1, ur=true Interpretation: [+](x0, x1) = x0 + 1, [h](x0, x1) = 0, [s](x0) = x0 + 1, [f](x0) = 0, [g](x0) = 0, [0] = 1, [+#](x0, x1) = x0 Strict: +#(x, +(y, z)) -> +#(+(x, y), z) 1 + 0x + 0y + 1z >= 0 + 0x + 0y + 1z Weak: f g h(x, y) -> f h(s x, y) 0 + 0x + 0y >= 0 + 0x + 0y f g f x -> f h(s 0(), x) 0 + 0x >= 0 + 0x f h(x, h(y, z)) -> f h(+(x, y), z) 0 + 0x + 0y + 0z >= 0 + 0x + 0y + 0z +(s x, y) -> s +(x, y) 1 + 0x + 1y >= 2 + 0x + 1y +(0(), y) -> y 1 + 1y >= 1y +(x, s y) -> s +(x, y) 2 + 0x + 1y >= 2 + 0x + 1y +(x, 0()) -> x 2 + 0x >= 1x +(x, +(y, z)) -> +(+(x, y), z) 2 + 0x + 0y + 1z >= 1 + 0x + 0y + 1z Qed