YES TRS: {ack_in(s(m), s(n)) -> u21(ack_in(s(m), n), m), ack_in(s(m), 0()) -> u11(ack_in(m, s(0()))), ack_in(0(), n) -> ack_out(s(n)), u11(ack_out(n)) -> ack_out(n), u21(ack_out(n), m) -> u22(ack_in(m, n)), u22(ack_out(n)) -> ack_out(n)} DP: Strict: {ack_in#(s(m), s(n)) -> ack_in#(s(m), n), ack_in#(s(m), s(n)) -> u21#(ack_in(s(m), n), m), ack_in#(s(m), 0()) -> ack_in#(m, s(0())), ack_in#(s(m), 0()) -> u11#(ack_in(m, s(0()))), u21#(ack_out(n), m) -> ack_in#(m, n), u21#(ack_out(n), m) -> u22#(ack_in(m, n))} Weak: {ack_in(s(m), s(n)) -> u21(ack_in(s(m), n), m), ack_in(s(m), 0()) -> u11(ack_in(m, s(0()))), ack_in(0(), n) -> ack_out(s(n)), u11(ack_out(n)) -> ack_out(n), u21(ack_out(n), m) -> u22(ack_in(m, n)), u22(ack_out(n)) -> ack_out(n)} EDG: {(u21#(ack_out(n), m) -> ack_in#(m, n), ack_in#(s(m), 0()) -> u11#(ack_in(m, s(0())))) (u21#(ack_out(n), m) -> ack_in#(m, n), ack_in#(s(m), 0()) -> ack_in#(m, s(0()))) (u21#(ack_out(n), m) -> ack_in#(m, n), ack_in#(s(m), s(n)) -> u21#(ack_in(s(m), n), m)) (u21#(ack_out(n), m) -> ack_in#(m, n), ack_in#(s(m), s(n)) -> ack_in#(s(m), n)) (ack_in#(s(m), s(n)) -> ack_in#(s(m), n), ack_in#(s(m), 0()) -> u11#(ack_in(m, s(0())))) (ack_in#(s(m), s(n)) -> ack_in#(s(m), n), ack_in#(s(m), 0()) -> ack_in#(m, s(0()))) (ack_in#(s(m), s(n)) -> ack_in#(s(m), n), ack_in#(s(m), s(n)) -> u21#(ack_in(s(m), n), m)) (ack_in#(s(m), s(n)) -> ack_in#(s(m), n), ack_in#(s(m), s(n)) -> ack_in#(s(m), n)) (ack_in#(s(m), s(n)) -> u21#(ack_in(s(m), n), m), u21#(ack_out(n), m) -> ack_in#(m, n)) (ack_in#(s(m), s(n)) -> u21#(ack_in(s(m), n), m), u21#(ack_out(n), m) -> u22#(ack_in(m, n))) (ack_in#(s(m), 0()) -> ack_in#(m, s(0())), ack_in#(s(m), s(n)) -> ack_in#(s(m), n)) (ack_in#(s(m), 0()) -> ack_in#(m, s(0())), ack_in#(s(m), s(n)) -> u21#(ack_in(s(m), n), m))} SCCS: Scc: {ack_in#(s(m), s(n)) -> ack_in#(s(m), n), ack_in#(s(m), s(n)) -> u21#(ack_in(s(m), n), m), ack_in#(s(m), 0()) -> ack_in#(m, s(0())), u21#(ack_out(n), m) -> ack_in#(m, n)} SCC: Strict: {ack_in#(s(m), s(n)) -> ack_in#(s(m), n), ack_in#(s(m), s(n)) -> u21#(ack_in(s(m), n), m), ack_in#(s(m), 0()) -> ack_in#(m, s(0())), u21#(ack_out(n), m) -> ack_in#(m, n)} Weak: {ack_in(s(m), s(n)) -> u21(ack_in(s(m), n), m), ack_in(s(m), 0()) -> u11(ack_in(m, s(0()))), ack_in(0(), n) -> ack_out(s(n)), u11(ack_out(n)) -> ack_out(n), u21(ack_out(n), m) -> u22(ack_in(m, n)), u22(ack_out(n)) -> ack_out(n)} SPSC: Simple Projection: pi(u21#) = 1, pi(ack_in#) = 0 Strict: {ack_in#(s(m), s(n)) -> ack_in#(s(m), n), ack_in#(s(m), 0()) -> ack_in#(m, s(0())), u21#(ack_out(n), m) -> ack_in#(m, n)} EDG: {(ack_in#(s(m), 0()) -> ack_in#(m, s(0())), ack_in#(s(m), s(n)) -> ack_in#(s(m), n)) (u21#(ack_out(n), m) -> ack_in#(m, n), ack_in#(s(m), s(n)) -> ack_in#(s(m), n)) (u21#(ack_out(n), m) -> ack_in#(m, n), ack_in#(s(m), 0()) -> ack_in#(m, s(0()))) (ack_in#(s(m), s(n)) -> ack_in#(s(m), n), ack_in#(s(m), s(n)) -> ack_in#(s(m), n)) (ack_in#(s(m), s(n)) -> ack_in#(s(m), n), ack_in#(s(m), 0()) -> ack_in#(m, s(0())))} SCCS: Scc: {ack_in#(s(m), s(n)) -> ack_in#(s(m), n), ack_in#(s(m), 0()) -> ack_in#(m, s(0()))} SCC: Strict: {ack_in#(s(m), s(n)) -> ack_in#(s(m), n), ack_in#(s(m), 0()) -> ack_in#(m, s(0()))} Weak: {ack_in(s(m), s(n)) -> u21(ack_in(s(m), n), m), ack_in(s(m), 0()) -> u11(ack_in(m, s(0()))), ack_in(0(), n) -> ack_out(s(n)), u11(ack_out(n)) -> ack_out(n), u21(ack_out(n), m) -> u22(ack_in(m, n)), u22(ack_out(n)) -> ack_out(n)} SPSC: Simple Projection: pi(ack_in#) = 0 Strict: {ack_in#(s(m), s(n)) -> ack_in#(s(m), n)} EDG: {(ack_in#(s(m), s(n)) -> ack_in#(s(m), n), ack_in#(s(m), s(n)) -> ack_in#(s(m), n))} SCCS: Scc: {ack_in#(s(m), s(n)) -> ack_in#(s(m), n)} SCC: Strict: {ack_in#(s(m), s(n)) -> ack_in#(s(m), n)} Weak: {ack_in(s(m), s(n)) -> u21(ack_in(s(m), n), m), ack_in(s(m), 0()) -> u11(ack_in(m, s(0()))), ack_in(0(), n) -> ack_out(s(n)), u11(ack_out(n)) -> ack_out(n), u21(ack_out(n), m) -> u22(ack_in(m, n)), u22(ack_out(n)) -> ack_out(n)} SPSC: Simple Projection: pi(ack_in#) = 1 Strict: {} Qed