KILLED proof of input_dc5JKsmrpK.trs # AProVE Commit ID: aff8ecad908e01718a4c36e68d2e55d5e0f16e15 fuhs 20220216 unpublished The Runtime Complexity (parallel-innermost) of the given CpxTRS could be proven to be BOUNDS(1, INF). (0) CpxTRS (1) RenamingProof [BOTH BOUNDS(ID, ID), 0 ms] (2) CpxTRS (3) CpxTrsToCdtProof [BOTH BOUNDS(ID, ID), 0 ms] (4) CdtProblem (5) CdtToCpxRelTrsProof [BOTH BOUNDS(ID, ID), 0 ms] (6) CpxRelTRS (7) RenamingProof [BOTH BOUNDS(ID, ID), 0 ms] (8) CpxRelTRS (9) TypeInferenceProof [BOTH BOUNDS(ID, ID), 0 ms] (10) typed CpxTrs (11) OrderProof [LOWER BOUND(ID), 19 ms] (12) typed CpxTrs (13) RewriteLemmaProof [LOWER BOUND(ID), 839 ms] (14) typed CpxTrs (15) RelTrsToDecreasingLoopProblemProof [LOWER BOUND(ID), 0 ms] (16) TRS for Loop Detection (17) RelTrsToTrsProof [UPPER BOUND(ID), 0 ms] (18) CpxTRS (19) CpxTrsToCdtProof [UPPER BOUND(ID), 0 ms] (20) CdtProblem (21) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (22) CdtProblem (23) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (24) CdtProblem (25) CdtToCpxRelTrsProof [BOTH BOUNDS(ID, ID), 0 ms] (26) CpxRelTRS (27) RelTrsToTrsProof [UPPER BOUND(ID), 0 ms] (28) CpxTRS (29) RelTrsToWeightedTrsProof [BOTH BOUNDS(ID, ID), 0 ms] (30) CpxWeightedTrs (31) TypeInferenceProof [BOTH BOUNDS(ID, ID), 0 ms] (32) CpxTypedWeightedTrs (33) CompletionProof [UPPER BOUND(ID), 0 ms] (34) CpxTypedWeightedCompleteTrs (35) NarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (36) CpxTypedWeightedCompleteTrs (37) CpxTypedWeightedTrsToRntsProof [UPPER BOUND(ID), 0 ms] (38) CpxRNTS (39) InliningProof [UPPER BOUND(ID), 199 ms] (40) CpxRNTS (41) SimplificationProof [BOTH BOUNDS(ID, ID), 0 ms] (42) CpxRNTS (43) CompletionProof [UPPER BOUND(ID), 0 ms] (44) CpxTypedWeightedCompleteTrs (45) CpxTypedWeightedTrsToRntsProof [UPPER BOUND(ID), 0 ms] (46) CpxRNTS (47) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (48) CdtProblem (49) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (50) CdtProblem (51) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (52) CdtProblem (53) CdtRewritingProof [BOTH BOUNDS(ID, ID), 0 ms] (54) CdtProblem (55) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (56) CdtProblem (57) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (58) CdtProblem (59) CdtRewritingProof [BOTH BOUNDS(ID, ID), 0 ms] (60) CdtProblem (61) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (62) CdtProblem (63) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (64) CdtProblem (65) CdtRuleRemovalProof [UPPER BOUND(ADD(n^1)), 42 ms] (66) CdtProblem (67) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (68) CdtProblem (69) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (70) CdtProblem (71) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (72) CdtProblem (73) CdtRewritingProof [BOTH BOUNDS(ID, ID), 0 ms] (74) CdtProblem (75) CdtRewritingProof [BOTH BOUNDS(ID, ID), 0 ms] (76) CdtProblem (77) CdtRewritingProof [BOTH BOUNDS(ID, ID), 1 ms] (78) CdtProblem (79) CdtRewritingProof [BOTH BOUNDS(ID, ID), 0 ms] (80) CdtProblem (81) CdtRewritingProof [BOTH BOUNDS(ID, ID), 0 ms] (82) CdtProblem (83) CdtRewritingProof [BOTH BOUNDS(ID, ID), 0 ms] (84) CdtProblem (85) CdtRewritingProof [BOTH BOUNDS(ID, ID), 0 ms] (86) CdtProblem (87) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (88) CdtProblem (89) CdtRewritingProof [BOTH BOUNDS(ID, ID), 0 ms] (90) CdtProblem (91) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (92) CdtProblem (93) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (94) CdtProblem (95) CdtRewritingProof [BOTH BOUNDS(ID, ID), 0 ms] (96) CdtProblem (97) CdtRewritingProof [BOTH BOUNDS(ID, ID), 0 ms] (98) CdtProblem (99) CdtRewritingProof [BOTH BOUNDS(ID, ID), 0 ms] (100) CdtProblem (101) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (102) CdtProblem (103) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (104) CdtProblem (105) CdtRewritingProof [BOTH BOUNDS(ID, ID), 0 ms] (106) CdtProblem (107) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (108) CdtProblem (109) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (110) CdtProblem (111) CdtRewritingProof [BOTH BOUNDS(ID, ID), 0 ms] (112) CdtProblem (113) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (114) CdtProblem (115) CdtRewritingProof [BOTH BOUNDS(ID, ID), 1 ms] (116) CdtProblem (117) CdtRewritingProof [BOTH BOUNDS(ID, ID), 0 ms] (118) CdtProblem (119) CdtRewritingProof [BOTH BOUNDS(ID, ID), 0 ms] (120) CdtProblem (121) CdtRewritingProof [BOTH BOUNDS(ID, ID), 0 ms] (122) CdtProblem (123) CdtRewritingProof [BOTH BOUNDS(ID, ID), 0 ms] (124) CdtProblem (125) CdtRewritingProof [BOTH BOUNDS(ID, ID), 0 ms] (126) CdtProblem (127) CdtRewritingProof [BOTH BOUNDS(ID, ID), 0 ms] (128) CdtProblem (129) CdtRewritingProof [BOTH BOUNDS(ID, ID), 0 ms] (130) CdtProblem (131) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 6 ms] (132) CdtProblem (133) CdtRewritingProof [BOTH BOUNDS(ID, ID), 0 ms] (134) CdtProblem (135) CdtRewritingProof [BOTH BOUNDS(ID, ID), 23 ms] (136) CdtProblem (137) CdtRewritingProof [BOTH BOUNDS(ID, ID), 0 ms] (138) CdtProblem (139) CdtRewritingProof [BOTH BOUNDS(ID, ID), 0 ms] (140) CdtProblem (141) CdtRewritingProof [BOTH BOUNDS(ID, ID), 31 ms] (142) CdtProblem (143) CdtRewritingProof [BOTH BOUNDS(ID, ID), 30 ms] (144) CdtProblem (145) RelTrsToWeightedTrsProof [UPPER BOUND(ID), 0 ms] (146) CpxWeightedTrs (147) TypeInferenceProof [BOTH BOUNDS(ID, ID), 0 ms] (148) CpxTypedWeightedTrs (149) CompletionProof [UPPER BOUND(ID), 0 ms] (150) CpxTypedWeightedCompleteTrs (151) NarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (152) CpxTypedWeightedCompleteTrs (153) CpxTypedWeightedTrsToRntsProof [UPPER BOUND(ID), 0 ms] (154) CpxRNTS (155) InliningProof [UPPER BOUND(ID), 132 ms] (156) CpxRNTS (157) SimplificationProof [BOTH BOUNDS(ID, ID), 0 ms] (158) CpxRNTS (159) CompletionProof [UPPER BOUND(ID), 0 ms] (160) CpxTypedWeightedCompleteTrs (161) CpxTypedWeightedTrsToRntsProof [UPPER BOUND(ID), 0 ms] (162) CpxRNTS ---------------------------------------- (0) Obligation: The Runtime Complexity (parallel-innermost) of the given CpxTRS could be proven to be BOUNDS(1, INF). The TRS R consists of the following rules: ack_in(0, n) -> ack_out(s(n)) ack_in(s(m), 0) -> u11(ack_in(m, s(0))) u11(ack_out(n)) -> ack_out(n) ack_in(s(m), s(n)) -> u21(ack_in(s(m), n), m) u21(ack_out(n), m) -> u22(ack_in(m, n)) u22(ack_out(n)) -> ack_out(n) S is empty. Rewrite Strategy: PARALLEL_INNERMOST ---------------------------------------- (1) RenamingProof (BOTH BOUNDS(ID, ID)) Renamed function symbols to avoid clashes with predefined symbol. ---------------------------------------- (2) Obligation: The Runtime Complexity (parallel-innermost) of the given CpxTRS could be proven to be BOUNDS(1, INF). The TRS R consists of the following rules: ack_in(0', n) -> ack_out(s(n)) ack_in(s(m), 0') -> u11(ack_in(m, s(0'))) u11(ack_out(n)) -> ack_out(n) ack_in(s(m), s(n)) -> u21(ack_in(s(m), n), m) u21(ack_out(n), m) -> u22(ack_in(m, n)) u22(ack_out(n)) -> ack_out(n) S is empty. Rewrite Strategy: PARALLEL_INNERMOST ---------------------------------------- (3) CpxTrsToCdtProof (BOTH BOUNDS(ID, ID)) Converted Cpx (relative) TRS with rewrite strategy PARALLEL_INNERMOST to CDT ---------------------------------------- (4) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(0, z0) -> c ACK_IN(s(z0), 0) -> c1(U11(ack_in(z0, s(0))), ACK_IN(z0, s(0))) ACK_IN(s(z0), s(z1)) -> c2(U21(ack_in(s(z0), z1), z0), ACK_IN(s(z0), z1)) U11(ack_out(z0)) -> c3 U21(ack_out(z0), z1) -> c4(U22(ack_in(z1, z0)), ACK_IN(z1, z0)) U22(ack_out(z0)) -> c5 S tuples: ACK_IN(0, z0) -> c ACK_IN(s(z0), 0) -> c1(U11(ack_in(z0, s(0))), ACK_IN(z0, s(0))) ACK_IN(s(z0), s(z1)) -> c2(U21(ack_in(s(z0), z1), z0), ACK_IN(s(z0), z1)) U11(ack_out(z0)) -> c3 U21(ack_out(z0), z1) -> c4(U22(ack_in(z1, z0)), ACK_IN(z1, z0)) U22(ack_out(z0)) -> c5 K tuples:none Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U11_1, U21_2, U22_1 Compound Symbols: c, c1_2, c2_2, c3, c4_2, c5 ---------------------------------------- (5) CdtToCpxRelTrsProof (BOTH BOUNDS(ID, ID)) Converted S to standard rules, and D \ S as well as R to relative rules. ---------------------------------------- (6) Obligation: The Runtime Complexity (innermost) of the given CpxRelTRS could be proven to be BOUNDS(1, INF). The TRS R consists of the following rules: ACK_IN(0, z0) -> c ACK_IN(s(z0), 0) -> c1(U11(ack_in(z0, s(0))), ACK_IN(z0, s(0))) ACK_IN(s(z0), s(z1)) -> c2(U21(ack_in(s(z0), z1), z0), ACK_IN(s(z0), z1)) U11(ack_out(z0)) -> c3 U21(ack_out(z0), z1) -> c4(U22(ack_in(z1, z0)), ACK_IN(z1, z0)) U22(ack_out(z0)) -> c5 The (relative) TRS S consists of the following rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Rewrite Strategy: INNERMOST ---------------------------------------- (7) RenamingProof (BOTH BOUNDS(ID, ID)) Renamed function symbols to avoid clashes with predefined symbol. ---------------------------------------- (8) Obligation: The Runtime Complexity (innermost) of the given CpxRelTRS could be proven to be BOUNDS(1, INF). The TRS R consists of the following rules: ACK_IN(0', z0) -> c ACK_IN(s(z0), 0') -> c1(U11(ack_in(z0, s(0'))), ACK_IN(z0, s(0'))) ACK_IN(s(z0), s(z1)) -> c2(U21(ack_in(s(z0), z1), z0), ACK_IN(s(z0), z1)) U11(ack_out(z0)) -> c3 U21(ack_out(z0), z1) -> c4(U22(ack_in(z1, z0)), ACK_IN(z1, z0)) U22(ack_out(z0)) -> c5 The (relative) TRS S consists of the following rules: ack_in(0', z0) -> ack_out(s(z0)) ack_in(s(z0), 0') -> u11(ack_in(z0, s(0'))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Rewrite Strategy: INNERMOST ---------------------------------------- (9) TypeInferenceProof (BOTH BOUNDS(ID, ID)) Inferred types. ---------------------------------------- (10) Obligation: Innermost TRS: Rules: ACK_IN(0', z0) -> c ACK_IN(s(z0), 0') -> c1(U11(ack_in(z0, s(0'))), ACK_IN(z0, s(0'))) ACK_IN(s(z0), s(z1)) -> c2(U21(ack_in(s(z0), z1), z0), ACK_IN(s(z0), z1)) U11(ack_out(z0)) -> c3 U21(ack_out(z0), z1) -> c4(U22(ack_in(z1, z0)), ACK_IN(z1, z0)) U22(ack_out(z0)) -> c5 ack_in(0', z0) -> ack_out(s(z0)) ack_in(s(z0), 0') -> u11(ack_in(z0, s(0'))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Types: ACK_IN :: 0':s -> 0':s -> c:c1:c2 0' :: 0':s c :: c:c1:c2 s :: 0':s -> 0':s c1 :: c3 -> c:c1:c2 -> c:c1:c2 U11 :: ack_out -> c3 ack_in :: 0':s -> 0':s -> ack_out c2 :: c4 -> c:c1:c2 -> c:c1:c2 U21 :: ack_out -> 0':s -> c4 ack_out :: 0':s -> ack_out c3 :: c3 c4 :: c5 -> c:c1:c2 -> c4 U22 :: ack_out -> c5 c5 :: c5 u11 :: ack_out -> ack_out u21 :: ack_out -> 0':s -> ack_out u22 :: ack_out -> ack_out hole_c:c1:c21_6 :: c:c1:c2 hole_0':s2_6 :: 0':s hole_c33_6 :: c3 hole_ack_out4_6 :: ack_out hole_c45_6 :: c4 hole_c56_6 :: c5 gen_c:c1:c27_6 :: Nat -> c:c1:c2 gen_0':s8_6 :: Nat -> 0':s ---------------------------------------- (11) OrderProof (LOWER BOUND(ID)) Heuristically decided to analyse the following defined symbols: ACK_IN, ack_in, U21, u21 They will be analysed ascendingly in the following order: ack_in < ACK_IN ACK_IN = U21 ack_in < U21 ack_in = u21 ---------------------------------------- (12) Obligation: Innermost TRS: Rules: ACK_IN(0', z0) -> c ACK_IN(s(z0), 0') -> c1(U11(ack_in(z0, s(0'))), ACK_IN(z0, s(0'))) ACK_IN(s(z0), s(z1)) -> c2(U21(ack_in(s(z0), z1), z0), ACK_IN(s(z0), z1)) U11(ack_out(z0)) -> c3 U21(ack_out(z0), z1) -> c4(U22(ack_in(z1, z0)), ACK_IN(z1, z0)) U22(ack_out(z0)) -> c5 ack_in(0', z0) -> ack_out(s(z0)) ack_in(s(z0), 0') -> u11(ack_in(z0, s(0'))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Types: ACK_IN :: 0':s -> 0':s -> c:c1:c2 0' :: 0':s c :: c:c1:c2 s :: 0':s -> 0':s c1 :: c3 -> c:c1:c2 -> c:c1:c2 U11 :: ack_out -> c3 ack_in :: 0':s -> 0':s -> ack_out c2 :: c4 -> c:c1:c2 -> c:c1:c2 U21 :: ack_out -> 0':s -> c4 ack_out :: 0':s -> ack_out c3 :: c3 c4 :: c5 -> c:c1:c2 -> c4 U22 :: ack_out -> c5 c5 :: c5 u11 :: ack_out -> ack_out u21 :: ack_out -> 0':s -> ack_out u22 :: ack_out -> ack_out hole_c:c1:c21_6 :: c:c1:c2 hole_0':s2_6 :: 0':s hole_c33_6 :: c3 hole_ack_out4_6 :: ack_out hole_c45_6 :: c4 hole_c56_6 :: c5 gen_c:c1:c27_6 :: Nat -> c:c1:c2 gen_0':s8_6 :: Nat -> 0':s Generator Equations: gen_c:c1:c27_6(0) <=> c gen_c:c1:c27_6(+(x, 1)) <=> c1(c3, gen_c:c1:c27_6(x)) gen_0':s8_6(0) <=> 0' gen_0':s8_6(+(x, 1)) <=> s(gen_0':s8_6(x)) The following defined symbols remain to be analysed: u21, ACK_IN, ack_in, U21 They will be analysed ascendingly in the following order: ack_in < ACK_IN ACK_IN = U21 ack_in < U21 ack_in = u21 ---------------------------------------- (13) RewriteLemmaProof (LOWER BOUND(ID)) Proved the following rewrite lemma: ack_in(gen_0':s8_6(1), gen_0':s8_6(+(1, n4201_6))) -> *9_6, rt in Omega(0) Induction Base: ack_in(gen_0':s8_6(1), gen_0':s8_6(+(1, 0))) Induction Step: ack_in(gen_0':s8_6(1), gen_0':s8_6(+(1, +(n4201_6, 1)))) ->_R^Omega(0) u21(ack_in(s(gen_0':s8_6(0)), gen_0':s8_6(+(1, n4201_6))), gen_0':s8_6(0)) ->_IH u21(*9_6, gen_0':s8_6(0)) We have rt in Omega(1) and sz in O(n). Thus, we have irc_R in Omega(n^0). ---------------------------------------- (14) Obligation: Innermost TRS: Rules: ACK_IN(0', z0) -> c ACK_IN(s(z0), 0') -> c1(U11(ack_in(z0, s(0'))), ACK_IN(z0, s(0'))) ACK_IN(s(z0), s(z1)) -> c2(U21(ack_in(s(z0), z1), z0), ACK_IN(s(z0), z1)) U11(ack_out(z0)) -> c3 U21(ack_out(z0), z1) -> c4(U22(ack_in(z1, z0)), ACK_IN(z1, z0)) U22(ack_out(z0)) -> c5 ack_in(0', z0) -> ack_out(s(z0)) ack_in(s(z0), 0') -> u11(ack_in(z0, s(0'))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Types: ACK_IN :: 0':s -> 0':s -> c:c1:c2 0' :: 0':s c :: c:c1:c2 s :: 0':s -> 0':s c1 :: c3 -> c:c1:c2 -> c:c1:c2 U11 :: ack_out -> c3 ack_in :: 0':s -> 0':s -> ack_out c2 :: c4 -> c:c1:c2 -> c:c1:c2 U21 :: ack_out -> 0':s -> c4 ack_out :: 0':s -> ack_out c3 :: c3 c4 :: c5 -> c:c1:c2 -> c4 U22 :: ack_out -> c5 c5 :: c5 u11 :: ack_out -> ack_out u21 :: ack_out -> 0':s -> ack_out u22 :: ack_out -> ack_out hole_c:c1:c21_6 :: c:c1:c2 hole_0':s2_6 :: 0':s hole_c33_6 :: c3 hole_ack_out4_6 :: ack_out hole_c45_6 :: c4 hole_c56_6 :: c5 gen_c:c1:c27_6 :: Nat -> c:c1:c2 gen_0':s8_6 :: Nat -> 0':s Lemmas: ack_in(gen_0':s8_6(1), gen_0':s8_6(+(1, n4201_6))) -> *9_6, rt in Omega(0) Generator Equations: gen_c:c1:c27_6(0) <=> c gen_c:c1:c27_6(+(x, 1)) <=> c1(c3, gen_c:c1:c27_6(x)) gen_0':s8_6(0) <=> 0' gen_0':s8_6(+(x, 1)) <=> s(gen_0':s8_6(x)) The following defined symbols remain to be analysed: u21, ACK_IN, U21 They will be analysed ascendingly in the following order: ack_in < ACK_IN ACK_IN = U21 ack_in < U21 ack_in = u21 ---------------------------------------- (15) RelTrsToDecreasingLoopProblemProof (LOWER BOUND(ID)) Transformed a relative TRS into a decreasing-loop problem. ---------------------------------------- (16) Obligation: Analyzing the following TRS for decreasing loops: The Runtime Complexity (innermost) of the given CpxRelTRS could be proven to be BOUNDS(1, INF). The TRS R consists of the following rules: ACK_IN(0, z0) -> c ACK_IN(s(z0), 0) -> c1(U11(ack_in(z0, s(0))), ACK_IN(z0, s(0))) ACK_IN(s(z0), s(z1)) -> c2(U21(ack_in(s(z0), z1), z0), ACK_IN(s(z0), z1)) U11(ack_out(z0)) -> c3 U21(ack_out(z0), z1) -> c4(U22(ack_in(z1, z0)), ACK_IN(z1, z0)) U22(ack_out(z0)) -> c5 The (relative) TRS S consists of the following rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Rewrite Strategy: INNERMOST ---------------------------------------- (17) RelTrsToTrsProof (UPPER BOUND(ID)) transformed relative TRS to TRS ---------------------------------------- (18) Obligation: The Runtime Complexity (parallel-innermost) of the given CpxTRS could be proven to be BOUNDS(1, INF). The TRS R consists of the following rules: ack_in(0, n) -> ack_out(s(n)) ack_in(s(m), 0) -> u11(ack_in(m, s(0))) u11(ack_out(n)) -> ack_out(n) ack_in(s(m), s(n)) -> u21(ack_in(s(m), n), m) u21(ack_out(n), m) -> u22(ack_in(m, n)) u22(ack_out(n)) -> ack_out(n) S is empty. Rewrite Strategy: PARALLEL_INNERMOST ---------------------------------------- (19) CpxTrsToCdtProof (UPPER BOUND(ID)) Converted Cpx (relative) TRS with rewrite strategy PARALLEL_INNERMOST to CDT ---------------------------------------- (20) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(0, z0) -> c ACK_IN(s(z0), 0) -> c1(U11(ack_in(z0, s(0))), ACK_IN(z0, s(0))) ACK_IN(s(z0), s(z1)) -> c2(U21(ack_in(s(z0), z1), z0), ACK_IN(s(z0), z1)) U11(ack_out(z0)) -> c3 U21(ack_out(z0), z1) -> c4(U22(ack_in(z1, z0)), ACK_IN(z1, z0)) U22(ack_out(z0)) -> c5 S tuples: ACK_IN(0, z0) -> c ACK_IN(s(z0), 0) -> c1(U11(ack_in(z0, s(0))), ACK_IN(z0, s(0))) ACK_IN(s(z0), s(z1)) -> c2(U21(ack_in(s(z0), z1), z0), ACK_IN(s(z0), z1)) U11(ack_out(z0)) -> c3 U21(ack_out(z0), z1) -> c4(U22(ack_in(z1, z0)), ACK_IN(z1, z0)) U22(ack_out(z0)) -> c5 K tuples:none Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U11_1, U21_2, U22_1 Compound Symbols: c, c1_2, c2_2, c3, c4_2, c5 ---------------------------------------- (21) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 3 trailing nodes: U11(ack_out(z0)) -> c3 ACK_IN(0, z0) -> c U22(ack_out(z0)) -> c5 ---------------------------------------- (22) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(s(z0), 0) -> c1(U11(ack_in(z0, s(0))), ACK_IN(z0, s(0))) ACK_IN(s(z0), s(z1)) -> c2(U21(ack_in(s(z0), z1), z0), ACK_IN(s(z0), z1)) U21(ack_out(z0), z1) -> c4(U22(ack_in(z1, z0)), ACK_IN(z1, z0)) S tuples: ACK_IN(s(z0), 0) -> c1(U11(ack_in(z0, s(0))), ACK_IN(z0, s(0))) ACK_IN(s(z0), s(z1)) -> c2(U21(ack_in(s(z0), z1), z0), ACK_IN(s(z0), z1)) U21(ack_out(z0), z1) -> c4(U22(ack_in(z1, z0)), ACK_IN(z1, z0)) K tuples:none Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U21_2 Compound Symbols: c1_2, c2_2, c4_2 ---------------------------------------- (23) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing tuple parts ---------------------------------------- (24) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(s(z0), s(z1)) -> c2(U21(ack_in(s(z0), z1), z0), ACK_IN(s(z0), z1)) ACK_IN(s(z0), 0) -> c1(ACK_IN(z0, s(0))) U21(ack_out(z0), z1) -> c4(ACK_IN(z1, z0)) S tuples: ACK_IN(s(z0), s(z1)) -> c2(U21(ack_in(s(z0), z1), z0), ACK_IN(s(z0), z1)) ACK_IN(s(z0), 0) -> c1(ACK_IN(z0, s(0))) U21(ack_out(z0), z1) -> c4(ACK_IN(z1, z0)) K tuples:none Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U21_2 Compound Symbols: c2_2, c1_1, c4_1 ---------------------------------------- (25) CdtToCpxRelTrsProof (BOTH BOUNDS(ID, ID)) Converted S to standard rules, and D \ S as well as R to relative rules. ---------------------------------------- (26) Obligation: The Runtime Complexity (innermost) of the given CpxRelTRS could be proven to be BOUNDS(1, INF). The TRS R consists of the following rules: ACK_IN(s(z0), s(z1)) -> c2(U21(ack_in(s(z0), z1), z0), ACK_IN(s(z0), z1)) ACK_IN(s(z0), 0) -> c1(ACK_IN(z0, s(0))) U21(ack_out(z0), z1) -> c4(ACK_IN(z1, z0)) The (relative) TRS S consists of the following rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Rewrite Strategy: INNERMOST ---------------------------------------- (27) RelTrsToTrsProof (UPPER BOUND(ID)) transformed relative TRS to TRS ---------------------------------------- (28) Obligation: The Runtime Complexity (innermost) of the given CpxTRS could be proven to be BOUNDS(1, INF). The TRS R consists of the following rules: ACK_IN(s(z0), s(z1)) -> c2(U21(ack_in(s(z0), z1), z0), ACK_IN(s(z0), z1)) ACK_IN(s(z0), 0) -> c1(ACK_IN(z0, s(0))) U21(ack_out(z0), z1) -> c4(ACK_IN(z1, z0)) ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) S is empty. Rewrite Strategy: INNERMOST ---------------------------------------- (29) RelTrsToWeightedTrsProof (BOTH BOUNDS(ID, ID)) Transformed relative TRS to weighted TRS ---------------------------------------- (30) Obligation: The Runtime Complexity (innermost) of the given CpxWeightedTrs could be proven to be BOUNDS(1, INF). The TRS R consists of the following rules: ACK_IN(s(z0), s(z1)) -> c2(U21(ack_in(s(z0), z1), z0), ACK_IN(s(z0), z1)) [1] ACK_IN(s(z0), 0) -> c1(ACK_IN(z0, s(0))) [1] U21(ack_out(z0), z1) -> c4(ACK_IN(z1, z0)) [1] ack_in(0, z0) -> ack_out(s(z0)) [0] ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) [0] ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) [0] u11(ack_out(z0)) -> ack_out(z0) [0] u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) [0] u22(ack_out(z0)) -> ack_out(z0) [0] Rewrite Strategy: INNERMOST ---------------------------------------- (31) TypeInferenceProof (BOTH BOUNDS(ID, ID)) Infered types. ---------------------------------------- (32) Obligation: Runtime Complexity Weighted TRS with Types. The TRS R consists of the following rules: ACK_IN(s(z0), s(z1)) -> c2(U21(ack_in(s(z0), z1), z0), ACK_IN(s(z0), z1)) [1] ACK_IN(s(z0), 0) -> c1(ACK_IN(z0, s(0))) [1] U21(ack_out(z0), z1) -> c4(ACK_IN(z1, z0)) [1] ack_in(0, z0) -> ack_out(s(z0)) [0] ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) [0] ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) [0] u11(ack_out(z0)) -> ack_out(z0) [0] u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) [0] u22(ack_out(z0)) -> ack_out(z0) [0] The TRS has the following type information: ACK_IN :: s:0 -> s:0 -> c2:c1 s :: s:0 -> s:0 c2 :: c4 -> c2:c1 -> c2:c1 U21 :: ack_out -> s:0 -> c4 ack_in :: s:0 -> s:0 -> ack_out 0 :: s:0 c1 :: c2:c1 -> c2:c1 ack_out :: s:0 -> ack_out c4 :: c2:c1 -> c4 u11 :: ack_out -> ack_out u21 :: ack_out -> s:0 -> ack_out u22 :: ack_out -> ack_out Rewrite Strategy: INNERMOST ---------------------------------------- (33) CompletionProof (UPPER BOUND(ID)) The transformation into a RNTS is sound, since: (a) The obligation is a constructor system where every type has a constant constructor, (b) The following defined symbols do not have to be completely defined, as they can never occur inside other defined symbols: ACK_IN_2 U21_2 (c) The following functions are completely defined: ack_in_2 u11_1 u21_2 u22_1 Due to the following rules being added: ack_in(v0, v1) -> const2 [0] u11(v0) -> const2 [0] u21(v0, v1) -> const2 [0] u22(v0) -> const2 [0] And the following fresh constants: const2, const, const1 ---------------------------------------- (34) Obligation: Runtime Complexity Weighted TRS where critical functions are completely defined. The underlying TRS is: Runtime Complexity Weighted TRS with Types. The TRS R consists of the following rules: ACK_IN(s(z0), s(z1)) -> c2(U21(ack_in(s(z0), z1), z0), ACK_IN(s(z0), z1)) [1] ACK_IN(s(z0), 0) -> c1(ACK_IN(z0, s(0))) [1] U21(ack_out(z0), z1) -> c4(ACK_IN(z1, z0)) [1] ack_in(0, z0) -> ack_out(s(z0)) [0] ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) [0] ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) [0] u11(ack_out(z0)) -> ack_out(z0) [0] u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) [0] u22(ack_out(z0)) -> ack_out(z0) [0] ack_in(v0, v1) -> const2 [0] u11(v0) -> const2 [0] u21(v0, v1) -> const2 [0] u22(v0) -> const2 [0] The TRS has the following type information: ACK_IN :: s:0 -> s:0 -> c2:c1 s :: s:0 -> s:0 c2 :: c4 -> c2:c1 -> c2:c1 U21 :: ack_out:const2 -> s:0 -> c4 ack_in :: s:0 -> s:0 -> ack_out:const2 0 :: s:0 c1 :: c2:c1 -> c2:c1 ack_out :: s:0 -> ack_out:const2 c4 :: c2:c1 -> c4 u11 :: ack_out:const2 -> ack_out:const2 u21 :: ack_out:const2 -> s:0 -> ack_out:const2 u22 :: ack_out:const2 -> ack_out:const2 const2 :: ack_out:const2 const :: c2:c1 const1 :: c4 Rewrite Strategy: INNERMOST ---------------------------------------- (35) NarrowingProof (BOTH BOUNDS(ID, ID)) Narrowed the inner basic terms of all right-hand sides by a single narrowing step. ---------------------------------------- (36) Obligation: Runtime Complexity Weighted TRS where critical functions are completely defined. The underlying TRS is: Runtime Complexity Weighted TRS with Types. The TRS R consists of the following rules: ACK_IN(s(z0), s(0)) -> c2(U21(u11(ack_in(z0, s(0))), z0), ACK_IN(s(z0), 0)) [1] ACK_IN(s(z0), s(s(z1'))) -> c2(U21(u21(ack_in(s(z0), z1'), z0), z0), ACK_IN(s(z0), s(z1'))) [1] ACK_IN(s(z0), s(z1)) -> c2(U21(const2, z0), ACK_IN(s(z0), z1)) [1] ACK_IN(s(z0), 0) -> c1(ACK_IN(z0, s(0))) [1] U21(ack_out(z0), z1) -> c4(ACK_IN(z1, z0)) [1] ack_in(0, z0) -> ack_out(s(z0)) [0] ack_in(s(0), 0) -> u11(ack_out(s(s(0)))) [0] ack_in(s(s(z0')), 0) -> u11(u21(ack_in(s(z0'), 0), z0')) [0] ack_in(s(z0), 0) -> u11(const2) [0] ack_in(s(z0), s(0)) -> u21(u11(ack_in(z0, s(0))), z0) [0] ack_in(s(z0), s(s(z1''))) -> u21(u21(ack_in(s(z0), z1''), z0), z0) [0] ack_in(s(z0), s(z1)) -> u21(const2, z0) [0] u11(ack_out(z0)) -> ack_out(z0) [0] u21(ack_out(z0), 0) -> u22(ack_out(s(z0))) [0] u21(ack_out(0), s(z0'')) -> u22(u11(ack_in(z0'', s(0)))) [0] u21(ack_out(s(z11)), s(z01)) -> u22(u21(ack_in(s(z01), z11), z01)) [0] u21(ack_out(z0), z1) -> u22(const2) [0] u22(ack_out(z0)) -> ack_out(z0) [0] ack_in(v0, v1) -> const2 [0] u11(v0) -> const2 [0] u21(v0, v1) -> const2 [0] u22(v0) -> const2 [0] The TRS has the following type information: ACK_IN :: s:0 -> s:0 -> c2:c1 s :: s:0 -> s:0 c2 :: c4 -> c2:c1 -> c2:c1 U21 :: ack_out:const2 -> s:0 -> c4 ack_in :: s:0 -> s:0 -> ack_out:const2 0 :: s:0 c1 :: c2:c1 -> c2:c1 ack_out :: s:0 -> ack_out:const2 c4 :: c2:c1 -> c4 u11 :: ack_out:const2 -> ack_out:const2 u21 :: ack_out:const2 -> s:0 -> ack_out:const2 u22 :: ack_out:const2 -> ack_out:const2 const2 :: ack_out:const2 const :: c2:c1 const1 :: c4 Rewrite Strategy: INNERMOST ---------------------------------------- (37) CpxTypedWeightedTrsToRntsProof (UPPER BOUND(ID)) Transformed the TRS into an over-approximating RNTS by (improved) Size Abstraction. The constant constructors are abstracted as follows: 0 => 0 const2 => 0 const => 0 const1 => 0 ---------------------------------------- (38) Obligation: Complexity RNTS consisting of the following rules: ACK_IN(z, z') -{ 1 }-> 1 + ACK_IN(z0, 1 + 0) :|: z = 1 + z0, z0 >= 0, z' = 0 ACK_IN(z, z') -{ 1 }-> 1 + U21(u21(ack_in(1 + z0, z1'), z0), z0) + ACK_IN(1 + z0, 1 + z1') :|: z' = 1 + (1 + z1'), z = 1 + z0, z1' >= 0, z0 >= 0 ACK_IN(z, z') -{ 1 }-> 1 + U21(u11(ack_in(z0, 1 + 0)), z0) + ACK_IN(1 + z0, 0) :|: z = 1 + z0, z' = 1 + 0, z0 >= 0 ACK_IN(z, z') -{ 1 }-> 1 + U21(0, z0) + ACK_IN(1 + z0, z1) :|: z1 >= 0, z = 1 + z0, z0 >= 0, z' = 1 + z1 U21(z, z') -{ 1 }-> 1 + ACK_IN(z1, z0) :|: z1 >= 0, z = 1 + z0, z' = z1, z0 >= 0 ack_in(z, z') -{ 0 }-> u21(u21(ack_in(1 + z0, z1''), z0), z0) :|: z' = 1 + (1 + z1''), z = 1 + z0, z0 >= 0, z1'' >= 0 ack_in(z, z') -{ 0 }-> u21(u11(ack_in(z0, 1 + 0)), z0) :|: z = 1 + z0, z' = 1 + 0, z0 >= 0 ack_in(z, z') -{ 0 }-> u21(0, z0) :|: z1 >= 0, z = 1 + z0, z0 >= 0, z' = 1 + z1 ack_in(z, z') -{ 0 }-> u11(u21(ack_in(1 + z0', 0), z0')) :|: z = 1 + (1 + z0'), z0' >= 0, z' = 0 ack_in(z, z') -{ 0 }-> u11(0) :|: z = 1 + z0, z0 >= 0, z' = 0 ack_in(z, z') -{ 0 }-> u11(1 + (1 + (1 + 0))) :|: z = 1 + 0, z' = 0 ack_in(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 ack_in(z, z') -{ 0 }-> 1 + (1 + z0) :|: z0 >= 0, z = 0, z' = z0 u11(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 u11(z) -{ 0 }-> 1 + z0 :|: z = 1 + z0, z0 >= 0 u21(z, z') -{ 0 }-> u22(u21(ack_in(1 + z01, z11), z01)) :|: z = 1 + (1 + z11), z11 >= 0, z01 >= 0, z' = 1 + z01 u21(z, z') -{ 0 }-> u22(u11(ack_in(z0'', 1 + 0))) :|: z = 1 + 0, z' = 1 + z0'', z0'' >= 0 u21(z, z') -{ 0 }-> u22(0) :|: z1 >= 0, z = 1 + z0, z' = z1, z0 >= 0 u21(z, z') -{ 0 }-> u22(1 + (1 + z0)) :|: z = 1 + z0, z0 >= 0, z' = 0 u21(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 u22(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 u22(z) -{ 0 }-> 1 + z0 :|: z = 1 + z0, z0 >= 0 ---------------------------------------- (39) InliningProof (UPPER BOUND(ID)) Inlined the following terminating rules on right-hand sides where appropriate: u11(z) -{ 0 }-> 1 + z0 :|: z = 1 + z0, z0 >= 0 u11(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 u22(z) -{ 0 }-> 1 + z0 :|: z = 1 + z0, z0 >= 0 u22(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 ---------------------------------------- (40) Obligation: Complexity RNTS consisting of the following rules: ACK_IN(z, z') -{ 1 }-> 1 + ACK_IN(z0, 1 + 0) :|: z = 1 + z0, z0 >= 0, z' = 0 ACK_IN(z, z') -{ 1 }-> 1 + U21(u21(ack_in(1 + z0, z1'), z0), z0) + ACK_IN(1 + z0, 1 + z1') :|: z' = 1 + (1 + z1'), z = 1 + z0, z1' >= 0, z0 >= 0 ACK_IN(z, z') -{ 1 }-> 1 + U21(u11(ack_in(z0, 1 + 0)), z0) + ACK_IN(1 + z0, 0) :|: z = 1 + z0, z' = 1 + 0, z0 >= 0 ACK_IN(z, z') -{ 1 }-> 1 + U21(0, z0) + ACK_IN(1 + z0, z1) :|: z1 >= 0, z = 1 + z0, z0 >= 0, z' = 1 + z1 U21(z, z') -{ 1 }-> 1 + ACK_IN(z1, z0) :|: z1 >= 0, z = 1 + z0, z' = z1, z0 >= 0 ack_in(z, z') -{ 0 }-> u21(u21(ack_in(1 + z0, z1''), z0), z0) :|: z' = 1 + (1 + z1''), z = 1 + z0, z0 >= 0, z1'' >= 0 ack_in(z, z') -{ 0 }-> u21(u11(ack_in(z0, 1 + 0)), z0) :|: z = 1 + z0, z' = 1 + 0, z0 >= 0 ack_in(z, z') -{ 0 }-> u21(0, z0) :|: z1 >= 0, z = 1 + z0, z0 >= 0, z' = 1 + z1 ack_in(z, z') -{ 0 }-> u11(u21(ack_in(1 + z0', 0), z0')) :|: z = 1 + (1 + z0'), z0' >= 0, z' = 0 ack_in(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 ack_in(z, z') -{ 0 }-> 0 :|: z = 1 + 0, z' = 0, v0 >= 0, 1 + (1 + (1 + 0)) = v0 ack_in(z, z') -{ 0 }-> 0 :|: z = 1 + z0, z0 >= 0, z' = 0, v0 >= 0, 0 = v0 ack_in(z, z') -{ 0 }-> 1 + z0 :|: z = 1 + 0, z' = 0, 1 + (1 + (1 + 0)) = 1 + z0, z0 >= 0 ack_in(z, z') -{ 0 }-> 1 + (1 + z0) :|: z0 >= 0, z = 0, z' = z0 u11(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 u11(z) -{ 0 }-> 1 + z0 :|: z = 1 + z0, z0 >= 0 u21(z, z') -{ 0 }-> u22(u21(ack_in(1 + z01, z11), z01)) :|: z = 1 + (1 + z11), z11 >= 0, z01 >= 0, z' = 1 + z01 u21(z, z') -{ 0 }-> u22(u11(ack_in(z0'', 1 + 0))) :|: z = 1 + 0, z' = 1 + z0'', z0'' >= 0 u21(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 u21(z, z') -{ 0 }-> 0 :|: z = 1 + z0, z0 >= 0, z' = 0, v0 >= 0, 1 + (1 + z0) = v0 u21(z, z') -{ 0 }-> 0 :|: z1 >= 0, z = 1 + z0, z' = z1, z0 >= 0, v0 >= 0, 0 = v0 u21(z, z') -{ 0 }-> 1 + z0' :|: z = 1 + z0, z0 >= 0, z' = 0, 1 + (1 + z0) = 1 + z0', z0' >= 0 u22(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 u22(z) -{ 0 }-> 1 + z0 :|: z = 1 + z0, z0 >= 0 ---------------------------------------- (41) SimplificationProof (BOTH BOUNDS(ID, ID)) Simplified the RNTS by moving equalities from the constraints into the right-hand sides. ---------------------------------------- (42) Obligation: Complexity RNTS consisting of the following rules: ACK_IN(z, z') -{ 1 }-> 1 + ACK_IN(z - 1, 1 + 0) :|: z - 1 >= 0, z' = 0 ACK_IN(z, z') -{ 1 }-> 1 + U21(u21(ack_in(1 + (z - 1), z' - 2), z - 1), z - 1) + ACK_IN(1 + (z - 1), 1 + (z' - 2)) :|: z' - 2 >= 0, z - 1 >= 0 ACK_IN(z, z') -{ 1 }-> 1 + U21(u11(ack_in(z - 1, 1 + 0)), z - 1) + ACK_IN(1 + (z - 1), 0) :|: z' = 1 + 0, z - 1 >= 0 ACK_IN(z, z') -{ 1 }-> 1 + U21(0, z - 1) + ACK_IN(1 + (z - 1), z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 U21(z, z') -{ 1 }-> 1 + ACK_IN(z', z - 1) :|: z' >= 0, z - 1 >= 0 ack_in(z, z') -{ 0 }-> u21(u21(ack_in(1 + (z - 1), z' - 2), z - 1), z - 1) :|: z - 1 >= 0, z' - 2 >= 0 ack_in(z, z') -{ 0 }-> u21(u11(ack_in(z - 1, 1 + 0)), z - 1) :|: z' = 1 + 0, z - 1 >= 0 ack_in(z, z') -{ 0 }-> u21(0, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 ack_in(z, z') -{ 0 }-> u11(u21(ack_in(1 + (z - 2), 0), z - 2)) :|: z - 2 >= 0, z' = 0 ack_in(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 ack_in(z, z') -{ 0 }-> 0 :|: z = 1 + 0, z' = 0, v0 >= 0, 1 + (1 + (1 + 0)) = v0 ack_in(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 0 = v0 ack_in(z, z') -{ 0 }-> 1 + z0 :|: z = 1 + 0, z' = 0, 1 + (1 + (1 + 0)) = 1 + z0, z0 >= 0 ack_in(z, z') -{ 0 }-> 1 + (1 + z') :|: z' >= 0, z = 0 u11(z) -{ 0 }-> 0 :|: z >= 0 u11(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 u21(z, z') -{ 0 }-> u22(u21(ack_in(1 + (z' - 1), z - 2), z' - 1)) :|: z - 2 >= 0, z' - 1 >= 0 u21(z, z') -{ 0 }-> u22(u11(ack_in(z' - 1, 1 + 0))) :|: z = 1 + 0, z' - 1 >= 0 u21(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 u21(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 1 + (1 + (z - 1)) = v0 u21(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 1 >= 0, v0 >= 0, 0 = v0 u21(z, z') -{ 0 }-> 1 + z0' :|: z - 1 >= 0, z' = 0, 1 + (1 + (z - 1)) = 1 + z0', z0' >= 0 u22(z) -{ 0 }-> 0 :|: z >= 0 u22(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 ---------------------------------------- (43) CompletionProof (UPPER BOUND(ID)) The TRS is a completely defined constructor system, as every type has a constant constructor and the following rules were added: ack_in(v0, v1) -> null_ack_in [0] u11(v0) -> null_u11 [0] u21(v0, v1) -> null_u21 [0] u22(v0) -> null_u22 [0] ACK_IN(v0, v1) -> null_ACK_IN [0] U21(v0, v1) -> null_U21 [0] And the following fresh constants: null_ack_in, null_u11, null_u21, null_u22, null_ACK_IN, null_U21 ---------------------------------------- (44) Obligation: Runtime Complexity Weighted TRS where all functions are completely defined. The underlying TRS is: Runtime Complexity Weighted TRS with Types. The TRS R consists of the following rules: ACK_IN(s(z0), s(z1)) -> c2(U21(ack_in(s(z0), z1), z0), ACK_IN(s(z0), z1)) [1] ACK_IN(s(z0), 0) -> c1(ACK_IN(z0, s(0))) [1] U21(ack_out(z0), z1) -> c4(ACK_IN(z1, z0)) [1] ack_in(0, z0) -> ack_out(s(z0)) [0] ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) [0] ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) [0] u11(ack_out(z0)) -> ack_out(z0) [0] u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) [0] u22(ack_out(z0)) -> ack_out(z0) [0] ack_in(v0, v1) -> null_ack_in [0] u11(v0) -> null_u11 [0] u21(v0, v1) -> null_u21 [0] u22(v0) -> null_u22 [0] ACK_IN(v0, v1) -> null_ACK_IN [0] U21(v0, v1) -> null_U21 [0] The TRS has the following type information: ACK_IN :: s:0 -> s:0 -> c2:c1:null_ACK_IN s :: s:0 -> s:0 c2 :: c4:null_U21 -> c2:c1:null_ACK_IN -> c2:c1:null_ACK_IN U21 :: ack_out:null_ack_in:null_u11:null_u21:null_u22 -> s:0 -> c4:null_U21 ack_in :: s:0 -> s:0 -> ack_out:null_ack_in:null_u11:null_u21:null_u22 0 :: s:0 c1 :: c2:c1:null_ACK_IN -> c2:c1:null_ACK_IN ack_out :: s:0 -> ack_out:null_ack_in:null_u11:null_u21:null_u22 c4 :: c2:c1:null_ACK_IN -> c4:null_U21 u11 :: ack_out:null_ack_in:null_u11:null_u21:null_u22 -> ack_out:null_ack_in:null_u11:null_u21:null_u22 u21 :: ack_out:null_ack_in:null_u11:null_u21:null_u22 -> s:0 -> ack_out:null_ack_in:null_u11:null_u21:null_u22 u22 :: ack_out:null_ack_in:null_u11:null_u21:null_u22 -> ack_out:null_ack_in:null_u11:null_u21:null_u22 null_ack_in :: ack_out:null_ack_in:null_u11:null_u21:null_u22 null_u11 :: ack_out:null_ack_in:null_u11:null_u21:null_u22 null_u21 :: ack_out:null_ack_in:null_u11:null_u21:null_u22 null_u22 :: ack_out:null_ack_in:null_u11:null_u21:null_u22 null_ACK_IN :: c2:c1:null_ACK_IN null_U21 :: c4:null_U21 Rewrite Strategy: INNERMOST ---------------------------------------- (45) CpxTypedWeightedTrsToRntsProof (UPPER BOUND(ID)) Transformed the TRS into an over-approximating RNTS by (improved) Size Abstraction. The constant constructors are abstracted as follows: 0 => 0 null_ack_in => 0 null_u11 => 0 null_u21 => 0 null_u22 => 0 null_ACK_IN => 0 null_U21 => 0 ---------------------------------------- (46) Obligation: Complexity RNTS consisting of the following rules: ACK_IN(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 ACK_IN(z, z') -{ 1 }-> 1 + ACK_IN(z0, 1 + 0) :|: z = 1 + z0, z0 >= 0, z' = 0 ACK_IN(z, z') -{ 1 }-> 1 + U21(ack_in(1 + z0, z1), z0) + ACK_IN(1 + z0, z1) :|: z1 >= 0, z = 1 + z0, z0 >= 0, z' = 1 + z1 U21(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 U21(z, z') -{ 1 }-> 1 + ACK_IN(z1, z0) :|: z1 >= 0, z = 1 + z0, z' = z1, z0 >= 0 ack_in(z, z') -{ 0 }-> u21(ack_in(1 + z0, z1), z0) :|: z1 >= 0, z = 1 + z0, z0 >= 0, z' = 1 + z1 ack_in(z, z') -{ 0 }-> u11(ack_in(z0, 1 + 0)) :|: z = 1 + z0, z0 >= 0, z' = 0 ack_in(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 ack_in(z, z') -{ 0 }-> 1 + (1 + z0) :|: z0 >= 0, z = 0, z' = z0 u11(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 u11(z) -{ 0 }-> 1 + z0 :|: z = 1 + z0, z0 >= 0 u21(z, z') -{ 0 }-> u22(ack_in(z1, z0)) :|: z1 >= 0, z = 1 + z0, z' = z1, z0 >= 0 u21(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 u22(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 u22(z) -{ 0 }-> 1 + z0 :|: z = 1 + z0, z0 >= 0 Only complete derivations are relevant for the runtime complexity. ---------------------------------------- (47) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ACK_IN(s(z0), s(z1)) -> c2(U21(ack_in(s(z0), z1), z0), ACK_IN(s(z0), z1)) by ACK_IN(s(z0), s(0)) -> c2(U21(u11(ack_in(z0, s(0))), z0), ACK_IN(s(z0), 0)) ACK_IN(s(z0), s(s(z1))) -> c2(U21(u21(ack_in(s(z0), z1), z0), z0), ACK_IN(s(z0), s(z1))) ---------------------------------------- (48) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(s(z0), 0) -> c1(ACK_IN(z0, s(0))) U21(ack_out(z0), z1) -> c4(ACK_IN(z1, z0)) ACK_IN(s(z0), s(0)) -> c2(U21(u11(ack_in(z0, s(0))), z0), ACK_IN(s(z0), 0)) ACK_IN(s(z0), s(s(z1))) -> c2(U21(u21(ack_in(s(z0), z1), z0), z0), ACK_IN(s(z0), s(z1))) S tuples: ACK_IN(s(z0), 0) -> c1(ACK_IN(z0, s(0))) U21(ack_out(z0), z1) -> c4(ACK_IN(z1, z0)) ACK_IN(s(z0), s(0)) -> c2(U21(u11(ack_in(z0, s(0))), z0), ACK_IN(s(z0), 0)) ACK_IN(s(z0), s(s(z1))) -> c2(U21(u21(ack_in(s(z0), z1), z0), z0), ACK_IN(s(z0), s(z1))) K tuples:none Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U21_2 Compound Symbols: c1_1, c4_1, c2_2 ---------------------------------------- (49) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ACK_IN(s(z0), s(0)) -> c2(U21(u11(ack_in(z0, s(0))), z0), ACK_IN(s(z0), 0)) by ACK_IN(s(0), s(0)) -> c2(U21(u11(ack_out(s(s(0)))), 0), ACK_IN(s(0), 0)) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(ack_in(s(z0), 0), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(x0), s(0)) -> c2(ACK_IN(s(x0), 0)) ---------------------------------------- (50) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(s(z0), 0) -> c1(ACK_IN(z0, s(0))) U21(ack_out(z0), z1) -> c4(ACK_IN(z1, z0)) ACK_IN(s(z0), s(s(z1))) -> c2(U21(u21(ack_in(s(z0), z1), z0), z0), ACK_IN(s(z0), s(z1))) ACK_IN(s(0), s(0)) -> c2(U21(u11(ack_out(s(s(0)))), 0), ACK_IN(s(0), 0)) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(ack_in(s(z0), 0), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(x0), s(0)) -> c2(ACK_IN(s(x0), 0)) S tuples: ACK_IN(s(z0), 0) -> c1(ACK_IN(z0, s(0))) U21(ack_out(z0), z1) -> c4(ACK_IN(z1, z0)) ACK_IN(s(z0), s(s(z1))) -> c2(U21(u21(ack_in(s(z0), z1), z0), z0), ACK_IN(s(z0), s(z1))) ACK_IN(s(0), s(0)) -> c2(U21(u11(ack_out(s(s(0)))), 0), ACK_IN(s(0), 0)) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(ack_in(s(z0), 0), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(x0), s(0)) -> c2(ACK_IN(s(x0), 0)) K tuples:none Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U21_2 Compound Symbols: c1_1, c4_1, c2_2, c2_1 ---------------------------------------- (51) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ACK_IN(s(z0), s(s(z1))) -> c2(U21(u21(ack_in(s(z0), z1), z0), z0), ACK_IN(s(z0), s(z1))) by ACK_IN(s(z0), s(s(0))) -> c2(U21(u21(u11(ack_in(z0, s(0))), z0), z0), ACK_IN(s(z0), s(0))) ACK_IN(s(z0), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), ACK_IN(s(z0), s(s(z1)))) ---------------------------------------- (52) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(s(z0), 0) -> c1(ACK_IN(z0, s(0))) U21(ack_out(z0), z1) -> c4(ACK_IN(z1, z0)) ACK_IN(s(0), s(0)) -> c2(U21(u11(ack_out(s(s(0)))), 0), ACK_IN(s(0), 0)) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(ack_in(s(z0), 0), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(x0), s(0)) -> c2(ACK_IN(s(x0), 0)) ACK_IN(s(z0), s(s(0))) -> c2(U21(u21(u11(ack_in(z0, s(0))), z0), z0), ACK_IN(s(z0), s(0))) ACK_IN(s(z0), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), ACK_IN(s(z0), s(s(z1)))) S tuples: ACK_IN(s(z0), 0) -> c1(ACK_IN(z0, s(0))) U21(ack_out(z0), z1) -> c4(ACK_IN(z1, z0)) ACK_IN(s(0), s(0)) -> c2(U21(u11(ack_out(s(s(0)))), 0), ACK_IN(s(0), 0)) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(ack_in(s(z0), 0), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(x0), s(0)) -> c2(ACK_IN(s(x0), 0)) ACK_IN(s(z0), s(s(0))) -> c2(U21(u21(u11(ack_in(z0, s(0))), z0), z0), ACK_IN(s(z0), s(0))) ACK_IN(s(z0), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), ACK_IN(s(z0), s(s(z1)))) K tuples:none Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U21_2 Compound Symbols: c1_1, c4_1, c2_2, c2_1 ---------------------------------------- (53) CdtRewritingProof (BOTH BOUNDS(ID, ID)) Used rewriting to replace ACK_IN(s(0), s(0)) -> c2(U21(u11(ack_out(s(s(0)))), 0), ACK_IN(s(0), 0)) by ACK_IN(s(0), s(0)) -> c2(U21(ack_out(s(s(0))), 0), ACK_IN(s(0), 0)) ---------------------------------------- (54) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(s(z0), 0) -> c1(ACK_IN(z0, s(0))) U21(ack_out(z0), z1) -> c4(ACK_IN(z1, z0)) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(ack_in(s(z0), 0), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(x0), s(0)) -> c2(ACK_IN(s(x0), 0)) ACK_IN(s(z0), s(s(0))) -> c2(U21(u21(u11(ack_in(z0, s(0))), z0), z0), ACK_IN(s(z0), s(0))) ACK_IN(s(z0), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), ACK_IN(s(z0), s(s(z1)))) ACK_IN(s(0), s(0)) -> c2(U21(ack_out(s(s(0))), 0), ACK_IN(s(0), 0)) S tuples: ACK_IN(s(z0), 0) -> c1(ACK_IN(z0, s(0))) U21(ack_out(z0), z1) -> c4(ACK_IN(z1, z0)) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(ack_in(s(z0), 0), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(x0), s(0)) -> c2(ACK_IN(s(x0), 0)) ACK_IN(s(z0), s(s(0))) -> c2(U21(u21(u11(ack_in(z0, s(0))), z0), z0), ACK_IN(s(z0), s(0))) ACK_IN(s(z0), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), ACK_IN(s(z0), s(s(z1)))) ACK_IN(s(0), s(0)) -> c2(U21(ack_out(s(s(0))), 0), ACK_IN(s(0), 0)) K tuples:none Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U21_2 Compound Symbols: c1_1, c4_1, c2_2, c2_1 ---------------------------------------- (55) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace ACK_IN(s(z0), 0) -> c1(ACK_IN(z0, s(0))) by ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(y0)), 0) -> c1(ACK_IN(s(y0), s(0))) ACK_IN(s(s(0)), 0) -> c1(ACK_IN(s(0), s(0))) ---------------------------------------- (56) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: U21(ack_out(z0), z1) -> c4(ACK_IN(z1, z0)) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(ack_in(s(z0), 0), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(x0), s(0)) -> c2(ACK_IN(s(x0), 0)) ACK_IN(s(z0), s(s(0))) -> c2(U21(u21(u11(ack_in(z0, s(0))), z0), z0), ACK_IN(s(z0), s(0))) ACK_IN(s(z0), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), ACK_IN(s(z0), s(s(z1)))) ACK_IN(s(0), s(0)) -> c2(U21(ack_out(s(s(0))), 0), ACK_IN(s(0), 0)) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(y0)), 0) -> c1(ACK_IN(s(y0), s(0))) ACK_IN(s(s(0)), 0) -> c1(ACK_IN(s(0), s(0))) S tuples: U21(ack_out(z0), z1) -> c4(ACK_IN(z1, z0)) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(ack_in(s(z0), 0), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(x0), s(0)) -> c2(ACK_IN(s(x0), 0)) ACK_IN(s(z0), s(s(0))) -> c2(U21(u21(u11(ack_in(z0, s(0))), z0), z0), ACK_IN(s(z0), s(0))) ACK_IN(s(z0), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), ACK_IN(s(z0), s(s(z1)))) ACK_IN(s(0), s(0)) -> c2(U21(ack_out(s(s(0))), 0), ACK_IN(s(0), 0)) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(y0)), 0) -> c1(ACK_IN(s(y0), s(0))) ACK_IN(s(s(0)), 0) -> c1(ACK_IN(s(0), s(0))) K tuples:none Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: U21_2, ACK_IN_2 Compound Symbols: c4_1, c2_2, c2_1, c1_1 ---------------------------------------- (57) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (58) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: U21(ack_out(z0), z1) -> c4(ACK_IN(z1, z0)) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(ack_in(s(z0), 0), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(x0), s(0)) -> c2(ACK_IN(s(x0), 0)) ACK_IN(s(z0), s(s(0))) -> c2(U21(u21(u11(ack_in(z0, s(0))), z0), z0), ACK_IN(s(z0), s(0))) ACK_IN(s(z0), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), ACK_IN(s(z0), s(s(z1)))) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(y0)), 0) -> c1(ACK_IN(s(y0), s(0))) ACK_IN(s(s(0)), 0) -> c1(ACK_IN(s(0), s(0))) ACK_IN(s(0), s(0)) -> c2(U21(ack_out(s(s(0))), 0)) S tuples: U21(ack_out(z0), z1) -> c4(ACK_IN(z1, z0)) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(ack_in(s(z0), 0), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ACK_IN(s(x0), s(0)) -> c2(ACK_IN(s(x0), 0)) ACK_IN(s(z0), s(s(0))) -> c2(U21(u21(u11(ack_in(z0, s(0))), z0), z0), ACK_IN(s(z0), s(0))) ACK_IN(s(z0), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), ACK_IN(s(z0), s(s(z1)))) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(y0)), 0) -> c1(ACK_IN(s(y0), s(0))) ACK_IN(s(s(0)), 0) -> c1(ACK_IN(s(0), s(0))) ACK_IN(s(0), s(0)) -> c2(U21(ack_out(s(s(0))), 0)) K tuples:none Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: U21_2, ACK_IN_2 Compound Symbols: c4_1, c2_2, c2_1, c1_1 ---------------------------------------- (59) CdtRewritingProof (BOTH BOUNDS(ID, ID)) Used rewriting to replace ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(ack_in(s(z0), 0), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) by ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) ---------------------------------------- (60) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: U21(ack_out(z0), z1) -> c4(ACK_IN(z1, z0)) ACK_IN(s(x0), s(0)) -> c2(ACK_IN(s(x0), 0)) ACK_IN(s(z0), s(s(0))) -> c2(U21(u21(u11(ack_in(z0, s(0))), z0), z0), ACK_IN(s(z0), s(0))) ACK_IN(s(z0), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), ACK_IN(s(z0), s(s(z1)))) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(y0)), 0) -> c1(ACK_IN(s(y0), s(0))) ACK_IN(s(s(0)), 0) -> c1(ACK_IN(s(0), s(0))) ACK_IN(s(0), s(0)) -> c2(U21(ack_out(s(s(0))), 0)) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) S tuples: U21(ack_out(z0), z1) -> c4(ACK_IN(z1, z0)) ACK_IN(s(x0), s(0)) -> c2(ACK_IN(s(x0), 0)) ACK_IN(s(z0), s(s(0))) -> c2(U21(u21(u11(ack_in(z0, s(0))), z0), z0), ACK_IN(s(z0), s(0))) ACK_IN(s(z0), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), ACK_IN(s(z0), s(s(z1)))) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(y0)), 0) -> c1(ACK_IN(s(y0), s(0))) ACK_IN(s(s(0)), 0) -> c1(ACK_IN(s(0), s(0))) ACK_IN(s(0), s(0)) -> c2(U21(ack_out(s(s(0))), 0)) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) K tuples:none Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: U21_2, ACK_IN_2 Compound Symbols: c4_1, c2_1, c2_2, c1_1 ---------------------------------------- (61) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace U21(ack_out(z0), z1) -> c4(ACK_IN(z1, z0)) by U21(ack_out(s(0)), s(y0)) -> c4(ACK_IN(s(y0), s(0))) U21(ack_out(s(s(0))), s(y0)) -> c4(ACK_IN(s(y0), s(s(0)))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(0), s(s(0))) -> c4(ACK_IN(s(s(0)), 0)) U21(ack_out(s(0)), s(0)) -> c4(ACK_IN(s(0), s(0))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ---------------------------------------- (62) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(s(x0), s(0)) -> c2(ACK_IN(s(x0), 0)) ACK_IN(s(z0), s(s(0))) -> c2(U21(u21(u11(ack_in(z0, s(0))), z0), z0), ACK_IN(s(z0), s(0))) ACK_IN(s(z0), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), ACK_IN(s(z0), s(s(z1)))) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(y0)), 0) -> c1(ACK_IN(s(y0), s(0))) ACK_IN(s(s(0)), 0) -> c1(ACK_IN(s(0), s(0))) ACK_IN(s(0), s(0)) -> c2(U21(ack_out(s(s(0))), 0)) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) U21(ack_out(s(0)), s(y0)) -> c4(ACK_IN(s(y0), s(0))) U21(ack_out(s(s(0))), s(y0)) -> c4(ACK_IN(s(y0), s(s(0)))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(0), s(s(0))) -> c4(ACK_IN(s(s(0)), 0)) U21(ack_out(s(0)), s(0)) -> c4(ACK_IN(s(0), s(0))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) S tuples: ACK_IN(s(x0), s(0)) -> c2(ACK_IN(s(x0), 0)) ACK_IN(s(z0), s(s(0))) -> c2(U21(u21(u11(ack_in(z0, s(0))), z0), z0), ACK_IN(s(z0), s(0))) ACK_IN(s(z0), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), ACK_IN(s(z0), s(s(z1)))) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(y0)), 0) -> c1(ACK_IN(s(y0), s(0))) ACK_IN(s(s(0)), 0) -> c1(ACK_IN(s(0), s(0))) ACK_IN(s(0), s(0)) -> c2(U21(ack_out(s(s(0))), 0)) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) U21(ack_out(s(0)), s(y0)) -> c4(ACK_IN(s(y0), s(0))) U21(ack_out(s(s(0))), s(y0)) -> c4(ACK_IN(s(y0), s(s(0)))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(0), s(s(0))) -> c4(ACK_IN(s(s(0)), 0)) U21(ack_out(s(0)), s(0)) -> c4(ACK_IN(s(0), s(0))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) K tuples:none Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U21_2 Compound Symbols: c2_1, c2_2, c1_1, c4_1 ---------------------------------------- (63) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing nodes: ACK_IN(s(0), s(0)) -> c2(U21(ack_out(s(s(0))), 0)) ---------------------------------------- (64) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(s(x0), s(0)) -> c2(ACK_IN(s(x0), 0)) ACK_IN(s(z0), s(s(0))) -> c2(U21(u21(u11(ack_in(z0, s(0))), z0), z0), ACK_IN(s(z0), s(0))) ACK_IN(s(z0), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), ACK_IN(s(z0), s(s(z1)))) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(y0)), 0) -> c1(ACK_IN(s(y0), s(0))) ACK_IN(s(s(0)), 0) -> c1(ACK_IN(s(0), s(0))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) U21(ack_out(s(0)), s(y0)) -> c4(ACK_IN(s(y0), s(0))) U21(ack_out(s(s(0))), s(y0)) -> c4(ACK_IN(s(y0), s(s(0)))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(0), s(s(0))) -> c4(ACK_IN(s(s(0)), 0)) U21(ack_out(s(0)), s(0)) -> c4(ACK_IN(s(0), s(0))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) S tuples: ACK_IN(s(x0), s(0)) -> c2(ACK_IN(s(x0), 0)) ACK_IN(s(z0), s(s(0))) -> c2(U21(u21(u11(ack_in(z0, s(0))), z0), z0), ACK_IN(s(z0), s(0))) ACK_IN(s(z0), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), ACK_IN(s(z0), s(s(z1)))) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(y0)), 0) -> c1(ACK_IN(s(y0), s(0))) ACK_IN(s(s(0)), 0) -> c1(ACK_IN(s(0), s(0))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) U21(ack_out(s(0)), s(y0)) -> c4(ACK_IN(s(y0), s(0))) U21(ack_out(s(s(0))), s(y0)) -> c4(ACK_IN(s(y0), s(s(0)))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(0), s(s(0))) -> c4(ACK_IN(s(s(0)), 0)) U21(ack_out(s(0)), s(0)) -> c4(ACK_IN(s(0), s(0))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) K tuples:none Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U21_2 Compound Symbols: c2_1, c2_2, c1_1, c4_1 ---------------------------------------- (65) CdtRuleRemovalProof (UPPER BOUND(ADD(n^1))) Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S. U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(0), s(s(0))) -> c4(ACK_IN(s(s(0)), 0)) We considered the (Usable) Rules: u11(ack_out(z0)) -> ack_out(z0) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) ack_in(0, z0) -> ack_out(s(z0)) And the Tuples: ACK_IN(s(x0), s(0)) -> c2(ACK_IN(s(x0), 0)) ACK_IN(s(z0), s(s(0))) -> c2(U21(u21(u11(ack_in(z0, s(0))), z0), z0), ACK_IN(s(z0), s(0))) ACK_IN(s(z0), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), ACK_IN(s(z0), s(s(z1)))) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(y0)), 0) -> c1(ACK_IN(s(y0), s(0))) ACK_IN(s(s(0)), 0) -> c1(ACK_IN(s(0), s(0))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) U21(ack_out(s(0)), s(y0)) -> c4(ACK_IN(s(y0), s(0))) U21(ack_out(s(s(0))), s(y0)) -> c4(ACK_IN(s(y0), s(s(0)))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(0), s(s(0))) -> c4(ACK_IN(s(s(0)), 0)) U21(ack_out(s(0)), s(0)) -> c4(ACK_IN(s(0), s(0))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) The order we found is given by the following interpretation: Polynomial interpretation : POL(0) = [1] POL(ACK_IN(x_1, x_2)) = x_1 POL(U21(x_1, x_2)) = x_1 POL(ack_in(x_1, x_2)) = 0 POL(ack_out(x_1)) = x_1 POL(c1(x_1)) = x_1 POL(c2(x_1)) = x_1 POL(c2(x_1, x_2)) = x_1 + x_2 POL(c4(x_1)) = x_1 POL(s(x_1)) = 0 POL(u11(x_1)) = x_1 POL(u21(x_1, x_2)) = 0 POL(u22(x_1)) = x_1 ---------------------------------------- (66) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(s(x0), s(0)) -> c2(ACK_IN(s(x0), 0)) ACK_IN(s(z0), s(s(0))) -> c2(U21(u21(u11(ack_in(z0, s(0))), z0), z0), ACK_IN(s(z0), s(0))) ACK_IN(s(z0), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), ACK_IN(s(z0), s(s(z1)))) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(y0)), 0) -> c1(ACK_IN(s(y0), s(0))) ACK_IN(s(s(0)), 0) -> c1(ACK_IN(s(0), s(0))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) U21(ack_out(s(0)), s(y0)) -> c4(ACK_IN(s(y0), s(0))) U21(ack_out(s(s(0))), s(y0)) -> c4(ACK_IN(s(y0), s(s(0)))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(0), s(s(0))) -> c4(ACK_IN(s(s(0)), 0)) U21(ack_out(s(0)), s(0)) -> c4(ACK_IN(s(0), s(0))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) S tuples: ACK_IN(s(x0), s(0)) -> c2(ACK_IN(s(x0), 0)) ACK_IN(s(z0), s(s(0))) -> c2(U21(u21(u11(ack_in(z0, s(0))), z0), z0), ACK_IN(s(z0), s(0))) ACK_IN(s(z0), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), ACK_IN(s(z0), s(s(z1)))) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(y0)), 0) -> c1(ACK_IN(s(y0), s(0))) ACK_IN(s(s(0)), 0) -> c1(ACK_IN(s(0), s(0))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) U21(ack_out(s(0)), s(y0)) -> c4(ACK_IN(s(y0), s(0))) U21(ack_out(s(s(0))), s(y0)) -> c4(ACK_IN(s(y0), s(s(0)))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(s(0)), s(0)) -> c4(ACK_IN(s(0), s(0))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) K tuples: U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(0), s(s(0))) -> c4(ACK_IN(s(s(0)), 0)) Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U21_2 Compound Symbols: c2_1, c2_2, c1_1, c4_1 ---------------------------------------- (67) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace ACK_IN(s(x0), s(0)) -> c2(ACK_IN(s(x0), 0)) by ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(0)), s(0)) -> c2(ACK_IN(s(s(0)), 0)) ---------------------------------------- (68) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(s(z0), s(s(0))) -> c2(U21(u21(u11(ack_in(z0, s(0))), z0), z0), ACK_IN(s(z0), s(0))) ACK_IN(s(z0), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), ACK_IN(s(z0), s(s(z1)))) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(y0)), 0) -> c1(ACK_IN(s(y0), s(0))) ACK_IN(s(s(0)), 0) -> c1(ACK_IN(s(0), s(0))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) U21(ack_out(s(0)), s(y0)) -> c4(ACK_IN(s(y0), s(0))) U21(ack_out(s(s(0))), s(y0)) -> c4(ACK_IN(s(y0), s(s(0)))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(0), s(s(0))) -> c4(ACK_IN(s(s(0)), 0)) U21(ack_out(s(0)), s(0)) -> c4(ACK_IN(s(0), s(0))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(0)), s(0)) -> c2(ACK_IN(s(s(0)), 0)) S tuples: ACK_IN(s(z0), s(s(0))) -> c2(U21(u21(u11(ack_in(z0, s(0))), z0), z0), ACK_IN(s(z0), s(0))) ACK_IN(s(z0), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), ACK_IN(s(z0), s(s(z1)))) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(y0)), 0) -> c1(ACK_IN(s(y0), s(0))) ACK_IN(s(s(0)), 0) -> c1(ACK_IN(s(0), s(0))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) U21(ack_out(s(0)), s(y0)) -> c4(ACK_IN(s(y0), s(0))) U21(ack_out(s(s(0))), s(y0)) -> c4(ACK_IN(s(y0), s(s(0)))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(s(0)), s(0)) -> c4(ACK_IN(s(0), s(0))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(0)), s(0)) -> c2(ACK_IN(s(s(0)), 0)) K tuples: U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(0), s(s(0))) -> c4(ACK_IN(s(s(0)), 0)) Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U21_2 Compound Symbols: c2_2, c1_1, c4_1, c2_1 ---------------------------------------- (69) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing nodes: ACK_IN(s(s(0)), 0) -> c1(ACK_IN(s(0), s(0))) U21(ack_out(s(0)), s(0)) -> c4(ACK_IN(s(0), s(0))) ---------------------------------------- (70) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(s(z0), s(s(0))) -> c2(U21(u21(u11(ack_in(z0, s(0))), z0), z0), ACK_IN(s(z0), s(0))) ACK_IN(s(z0), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), ACK_IN(s(z0), s(s(z1)))) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(y0)), 0) -> c1(ACK_IN(s(y0), s(0))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) U21(ack_out(s(0)), s(y0)) -> c4(ACK_IN(s(y0), s(0))) U21(ack_out(s(s(0))), s(y0)) -> c4(ACK_IN(s(y0), s(s(0)))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(0), s(s(0))) -> c4(ACK_IN(s(s(0)), 0)) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(0)), s(0)) -> c2(ACK_IN(s(s(0)), 0)) S tuples: ACK_IN(s(z0), s(s(0))) -> c2(U21(u21(u11(ack_in(z0, s(0))), z0), z0), ACK_IN(s(z0), s(0))) ACK_IN(s(z0), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), ACK_IN(s(z0), s(s(z1)))) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(y0)), 0) -> c1(ACK_IN(s(y0), s(0))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) U21(ack_out(s(0)), s(y0)) -> c4(ACK_IN(s(y0), s(0))) U21(ack_out(s(s(0))), s(y0)) -> c4(ACK_IN(s(y0), s(s(0)))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(0)), s(0)) -> c2(ACK_IN(s(s(0)), 0)) K tuples: U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(0), s(s(0))) -> c4(ACK_IN(s(s(0)), 0)) Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U21_2 Compound Symbols: c2_2, c1_1, c4_1, c2_1 ---------------------------------------- (71) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace ACK_IN(s(z0), s(s(0))) -> c2(U21(u21(u11(ack_in(z0, s(0))), z0), z0), ACK_IN(s(z0), s(0))) by ACK_IN(s(s(y0)), s(s(0))) -> c2(U21(u21(u11(ack_in(s(y0), s(0))), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(s(y1)))), s(s(0))) -> c2(U21(u21(u11(ack_in(s(s(s(y1))), s(0))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(0))) ACK_IN(s(s(s(y1))), s(s(0))) -> c2(U21(u21(u11(ack_in(s(s(y1)), s(0))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(ack_in(s(s(0)), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(ack_in(s(0), s(0))), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ---------------------------------------- (72) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(s(z0), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), ACK_IN(s(z0), s(s(z1)))) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(y0)), 0) -> c1(ACK_IN(s(y0), s(0))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) U21(ack_out(s(0)), s(y0)) -> c4(ACK_IN(s(y0), s(0))) U21(ack_out(s(s(0))), s(y0)) -> c4(ACK_IN(s(y0), s(s(0)))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(0), s(s(0))) -> c4(ACK_IN(s(s(0)), 0)) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(0)), s(0)) -> c2(ACK_IN(s(s(0)), 0)) ACK_IN(s(s(y0)), s(s(0))) -> c2(U21(u21(u11(ack_in(s(y0), s(0))), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(s(y1)))), s(s(0))) -> c2(U21(u21(u11(ack_in(s(s(s(y1))), s(0))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(0))) ACK_IN(s(s(s(y1))), s(s(0))) -> c2(U21(u21(u11(ack_in(s(s(y1)), s(0))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(ack_in(s(s(0)), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(ack_in(s(0), s(0))), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) S tuples: ACK_IN(s(z0), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), ACK_IN(s(z0), s(s(z1)))) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(y0)), 0) -> c1(ACK_IN(s(y0), s(0))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) U21(ack_out(s(0)), s(y0)) -> c4(ACK_IN(s(y0), s(0))) U21(ack_out(s(s(0))), s(y0)) -> c4(ACK_IN(s(y0), s(s(0)))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(0)), s(0)) -> c2(ACK_IN(s(s(0)), 0)) ACK_IN(s(s(y0)), s(s(0))) -> c2(U21(u21(u11(ack_in(s(y0), s(0))), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(s(y1)))), s(s(0))) -> c2(U21(u21(u11(ack_in(s(s(s(y1))), s(0))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(0))) ACK_IN(s(s(s(y1))), s(s(0))) -> c2(U21(u21(u11(ack_in(s(s(y1)), s(0))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(ack_in(s(s(0)), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(ack_in(s(0), s(0))), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) K tuples: U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(0), s(s(0))) -> c4(ACK_IN(s(s(0)), 0)) Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U21_2 Compound Symbols: c2_2, c1_1, c4_1, c2_1 ---------------------------------------- (73) CdtRewritingProof (BOTH BOUNDS(ID, ID)) Used rewriting to replace ACK_IN(s(s(y0)), s(s(0))) -> c2(U21(u21(u11(ack_in(s(y0), s(0))), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(0))) by ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(z0), 0), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ---------------------------------------- (74) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(s(z0), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), ACK_IN(s(z0), s(s(z1)))) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(y0)), 0) -> c1(ACK_IN(s(y0), s(0))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) U21(ack_out(s(0)), s(y0)) -> c4(ACK_IN(s(y0), s(0))) U21(ack_out(s(s(0))), s(y0)) -> c4(ACK_IN(s(y0), s(s(0)))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(0), s(s(0))) -> c4(ACK_IN(s(s(0)), 0)) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(0)), s(0)) -> c2(ACK_IN(s(s(0)), 0)) ACK_IN(s(s(s(s(y1)))), s(s(0))) -> c2(U21(u21(u11(ack_in(s(s(s(y1))), s(0))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(0))) ACK_IN(s(s(s(y1))), s(s(0))) -> c2(U21(u21(u11(ack_in(s(s(y1)), s(0))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(ack_in(s(s(0)), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(ack_in(s(0), s(0))), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(z0), 0), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) S tuples: ACK_IN(s(z0), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), ACK_IN(s(z0), s(s(z1)))) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(y0)), 0) -> c1(ACK_IN(s(y0), s(0))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) U21(ack_out(s(0)), s(y0)) -> c4(ACK_IN(s(y0), s(0))) U21(ack_out(s(s(0))), s(y0)) -> c4(ACK_IN(s(y0), s(s(0)))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(0)), s(0)) -> c2(ACK_IN(s(s(0)), 0)) ACK_IN(s(s(s(s(y1)))), s(s(0))) -> c2(U21(u21(u11(ack_in(s(s(s(y1))), s(0))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(0))) ACK_IN(s(s(s(y1))), s(s(0))) -> c2(U21(u21(u11(ack_in(s(s(y1)), s(0))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(ack_in(s(s(0)), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(ack_in(s(0), s(0))), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(z0), 0), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) K tuples: U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(0), s(s(0))) -> c4(ACK_IN(s(s(0)), 0)) Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U21_2 Compound Symbols: c2_2, c1_1, c4_1, c2_1 ---------------------------------------- (75) CdtRewritingProof (BOTH BOUNDS(ID, ID)) Used rewriting to replace ACK_IN(s(s(s(s(y1)))), s(s(0))) -> c2(U21(u21(u11(ack_in(s(s(s(y1))), s(0))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(0))) by ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(s(z0))), 0), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ---------------------------------------- (76) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(s(z0), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), ACK_IN(s(z0), s(s(z1)))) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(y0)), 0) -> c1(ACK_IN(s(y0), s(0))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) U21(ack_out(s(0)), s(y0)) -> c4(ACK_IN(s(y0), s(0))) U21(ack_out(s(s(0))), s(y0)) -> c4(ACK_IN(s(y0), s(s(0)))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(0), s(s(0))) -> c4(ACK_IN(s(s(0)), 0)) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(0)), s(0)) -> c2(ACK_IN(s(s(0)), 0)) ACK_IN(s(s(s(y1))), s(s(0))) -> c2(U21(u21(u11(ack_in(s(s(y1)), s(0))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(ack_in(s(s(0)), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(ack_in(s(0), s(0))), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(z0), 0), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(s(z0))), 0), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) S tuples: ACK_IN(s(z0), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), ACK_IN(s(z0), s(s(z1)))) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(y0)), 0) -> c1(ACK_IN(s(y0), s(0))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) U21(ack_out(s(0)), s(y0)) -> c4(ACK_IN(s(y0), s(0))) U21(ack_out(s(s(0))), s(y0)) -> c4(ACK_IN(s(y0), s(s(0)))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(0)), s(0)) -> c2(ACK_IN(s(s(0)), 0)) ACK_IN(s(s(s(y1))), s(s(0))) -> c2(U21(u21(u11(ack_in(s(s(y1)), s(0))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(ack_in(s(s(0)), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(ack_in(s(0), s(0))), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(z0), 0), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(s(z0))), 0), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) K tuples: U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(0), s(s(0))) -> c4(ACK_IN(s(s(0)), 0)) Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U21_2 Compound Symbols: c2_2, c1_1, c4_1, c2_1 ---------------------------------------- (77) CdtRewritingProof (BOTH BOUNDS(ID, ID)) Used rewriting to replace ACK_IN(s(s(s(y1))), s(s(0))) -> c2(U21(u21(u11(ack_in(s(s(y1)), s(0))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(0))) by ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(z0)), 0), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ---------------------------------------- (78) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(s(z0), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), ACK_IN(s(z0), s(s(z1)))) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(y0)), 0) -> c1(ACK_IN(s(y0), s(0))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) U21(ack_out(s(0)), s(y0)) -> c4(ACK_IN(s(y0), s(0))) U21(ack_out(s(s(0))), s(y0)) -> c4(ACK_IN(s(y0), s(s(0)))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(0), s(s(0))) -> c4(ACK_IN(s(s(0)), 0)) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(0)), s(0)) -> c2(ACK_IN(s(s(0)), 0)) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(ack_in(s(s(0)), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(ack_in(s(0), s(0))), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(z0), 0), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(s(z0))), 0), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(z0)), 0), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) S tuples: ACK_IN(s(z0), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), ACK_IN(s(z0), s(s(z1)))) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(y0)), 0) -> c1(ACK_IN(s(y0), s(0))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) U21(ack_out(s(0)), s(y0)) -> c4(ACK_IN(s(y0), s(0))) U21(ack_out(s(s(0))), s(y0)) -> c4(ACK_IN(s(y0), s(s(0)))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(0)), s(0)) -> c2(ACK_IN(s(s(0)), 0)) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(ack_in(s(s(0)), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(ack_in(s(0), s(0))), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(z0), 0), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(s(z0))), 0), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(z0)), 0), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) K tuples: U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(0), s(s(0))) -> c4(ACK_IN(s(s(0)), 0)) Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U21_2 Compound Symbols: c2_2, c1_1, c4_1, c2_1 ---------------------------------------- (79) CdtRewritingProof (BOTH BOUNDS(ID, ID)) Used rewriting to replace ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(ack_in(s(s(0)), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) by ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(0)), 0), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ---------------------------------------- (80) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(s(z0), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), ACK_IN(s(z0), s(s(z1)))) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(y0)), 0) -> c1(ACK_IN(s(y0), s(0))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) U21(ack_out(s(0)), s(y0)) -> c4(ACK_IN(s(y0), s(0))) U21(ack_out(s(s(0))), s(y0)) -> c4(ACK_IN(s(y0), s(s(0)))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(0), s(s(0))) -> c4(ACK_IN(s(s(0)), 0)) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(0)), s(0)) -> c2(ACK_IN(s(s(0)), 0)) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(ack_in(s(0), s(0))), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(z0), 0), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(s(z0))), 0), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(z0)), 0), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(0)), 0), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) S tuples: ACK_IN(s(z0), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), ACK_IN(s(z0), s(s(z1)))) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(y0)), 0) -> c1(ACK_IN(s(y0), s(0))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) U21(ack_out(s(0)), s(y0)) -> c4(ACK_IN(s(y0), s(0))) U21(ack_out(s(s(0))), s(y0)) -> c4(ACK_IN(s(y0), s(s(0)))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(0)), s(0)) -> c2(ACK_IN(s(s(0)), 0)) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(ack_in(s(0), s(0))), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(z0), 0), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(s(z0))), 0), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(z0)), 0), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(0)), 0), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) K tuples: U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(0), s(s(0))) -> c4(ACK_IN(s(s(0)), 0)) Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U21_2 Compound Symbols: c2_2, c1_1, c4_1, c2_1 ---------------------------------------- (81) CdtRewritingProof (BOTH BOUNDS(ID, ID)) Used rewriting to replace ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(ack_in(s(0), s(0))), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) by ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(0), 0), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ---------------------------------------- (82) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(s(z0), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), ACK_IN(s(z0), s(s(z1)))) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(y0)), 0) -> c1(ACK_IN(s(y0), s(0))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) U21(ack_out(s(0)), s(y0)) -> c4(ACK_IN(s(y0), s(0))) U21(ack_out(s(s(0))), s(y0)) -> c4(ACK_IN(s(y0), s(s(0)))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(0), s(s(0))) -> c4(ACK_IN(s(s(0)), 0)) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(0)), s(0)) -> c2(ACK_IN(s(s(0)), 0)) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(z0), 0), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(s(z0))), 0), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(z0)), 0), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(0)), 0), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(0), 0), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) S tuples: ACK_IN(s(z0), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), ACK_IN(s(z0), s(s(z1)))) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(y0)), 0) -> c1(ACK_IN(s(y0), s(0))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) U21(ack_out(s(0)), s(y0)) -> c4(ACK_IN(s(y0), s(0))) U21(ack_out(s(s(0))), s(y0)) -> c4(ACK_IN(s(y0), s(s(0)))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(0)), s(0)) -> c2(ACK_IN(s(s(0)), 0)) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(z0), 0), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(s(z0))), 0), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(z0)), 0), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(0)), 0), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(0), 0), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) K tuples: U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(0), s(s(0))) -> c4(ACK_IN(s(s(0)), 0)) Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U21_2 Compound Symbols: c2_2, c1_1, c4_1, c2_1 ---------------------------------------- (83) CdtRewritingProof (BOTH BOUNDS(ID, ID)) Used rewriting to replace ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(z0), 0), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) by ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ---------------------------------------- (84) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(s(z0), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), ACK_IN(s(z0), s(s(z1)))) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(y0)), 0) -> c1(ACK_IN(s(y0), s(0))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) U21(ack_out(s(0)), s(y0)) -> c4(ACK_IN(s(y0), s(0))) U21(ack_out(s(s(0))), s(y0)) -> c4(ACK_IN(s(y0), s(s(0)))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(0), s(s(0))) -> c4(ACK_IN(s(s(0)), 0)) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(0)), s(0)) -> c2(ACK_IN(s(s(0)), 0)) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(s(z0))), 0), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(z0)), 0), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(0)), 0), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(0), 0), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) S tuples: ACK_IN(s(z0), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), ACK_IN(s(z0), s(s(z1)))) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(y0)), 0) -> c1(ACK_IN(s(y0), s(0))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) U21(ack_out(s(0)), s(y0)) -> c4(ACK_IN(s(y0), s(0))) U21(ack_out(s(s(0))), s(y0)) -> c4(ACK_IN(s(y0), s(s(0)))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(0)), s(0)) -> c2(ACK_IN(s(s(0)), 0)) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(s(z0))), 0), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(z0)), 0), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(0)), 0), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(0), 0), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) K tuples: U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(0), s(s(0))) -> c4(ACK_IN(s(s(0)), 0)) Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U21_2 Compound Symbols: c2_2, c1_1, c4_1, c2_1 ---------------------------------------- (85) CdtRewritingProof (BOTH BOUNDS(ID, ID)) Used rewriting to replace ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(s(z0))), 0), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) by ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ---------------------------------------- (86) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(s(z0), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), ACK_IN(s(z0), s(s(z1)))) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(y0)), 0) -> c1(ACK_IN(s(y0), s(0))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) U21(ack_out(s(0)), s(y0)) -> c4(ACK_IN(s(y0), s(0))) U21(ack_out(s(s(0))), s(y0)) -> c4(ACK_IN(s(y0), s(s(0)))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(0), s(s(0))) -> c4(ACK_IN(s(s(0)), 0)) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(0)), s(0)) -> c2(ACK_IN(s(s(0)), 0)) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(z0)), 0), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(0)), 0), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(0), 0), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) S tuples: ACK_IN(s(z0), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), ACK_IN(s(z0), s(s(z1)))) ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(y0)), 0) -> c1(ACK_IN(s(y0), s(0))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) U21(ack_out(s(0)), s(y0)) -> c4(ACK_IN(s(y0), s(0))) U21(ack_out(s(s(0))), s(y0)) -> c4(ACK_IN(s(y0), s(s(0)))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(0)), s(0)) -> c2(ACK_IN(s(s(0)), 0)) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(z0)), 0), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(0)), 0), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(0), 0), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) K tuples: U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(0), s(s(0))) -> c4(ACK_IN(s(s(0)), 0)) Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U21_2 Compound Symbols: c2_2, c1_1, c4_1, c2_1 ---------------------------------------- (87) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace ACK_IN(s(z0), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), ACK_IN(s(z0), s(s(z1)))) by ACK_IN(s(z0), s(s(s(s(y1))))) -> c2(U21(u21(u21(ack_in(s(z0), s(y1)), z0), z0), z0), ACK_IN(s(z0), s(s(s(y1))))) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(y0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(y0))), 0), s(s(y0))), s(s(y0))), s(s(y0))), ACK_IN(s(s(s(y0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), 0), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(0)), 0), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(y0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(y0)), 0), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(0)))) ACK_IN(s(s(s(s(y0)))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y0)))), 0), s(s(s(y0)))), s(s(s(y0)))), s(s(s(y0)))), ACK_IN(s(s(s(s(y0)))), s(s(0)))) ---------------------------------------- (88) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(y0)), 0) -> c1(ACK_IN(s(y0), s(0))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) U21(ack_out(s(0)), s(y0)) -> c4(ACK_IN(s(y0), s(0))) U21(ack_out(s(s(0))), s(y0)) -> c4(ACK_IN(s(y0), s(s(0)))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(0), s(s(0))) -> c4(ACK_IN(s(s(0)), 0)) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(0)), s(0)) -> c2(ACK_IN(s(s(0)), 0)) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(z0)), 0), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(0)), 0), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(0), 0), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(z0), s(s(s(s(y1))))) -> c2(U21(u21(u21(ack_in(s(z0), s(y1)), z0), z0), z0), ACK_IN(s(z0), s(s(s(y1))))) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(y0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(y0))), 0), s(s(y0))), s(s(y0))), s(s(y0))), ACK_IN(s(s(s(y0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), 0), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(0)), 0), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(y0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(y0)), 0), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(0)))) ACK_IN(s(s(s(s(y0)))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y0)))), 0), s(s(s(y0)))), s(s(s(y0)))), s(s(s(y0)))), ACK_IN(s(s(s(s(y0)))), s(s(0)))) S tuples: ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(y0)), 0) -> c1(ACK_IN(s(y0), s(0))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) U21(ack_out(s(0)), s(y0)) -> c4(ACK_IN(s(y0), s(0))) U21(ack_out(s(s(0))), s(y0)) -> c4(ACK_IN(s(y0), s(s(0)))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(0)), s(0)) -> c2(ACK_IN(s(s(0)), 0)) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(z0)), 0), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(0)), 0), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(0), 0), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(z0), s(s(s(s(y1))))) -> c2(U21(u21(u21(ack_in(s(z0), s(y1)), z0), z0), z0), ACK_IN(s(z0), s(s(s(y1))))) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(y0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(y0))), 0), s(s(y0))), s(s(y0))), s(s(y0))), ACK_IN(s(s(s(y0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), 0), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(0)), 0), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(y0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(y0)), 0), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(0)))) ACK_IN(s(s(s(s(y0)))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y0)))), 0), s(s(s(y0)))), s(s(s(y0)))), s(s(s(y0)))), ACK_IN(s(s(s(s(y0)))), s(s(0)))) K tuples: U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(0), s(s(0))) -> c4(ACK_IN(s(s(0)), 0)) Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U21_2 Compound Symbols: c1_1, c2_2, c4_1, c2_1 ---------------------------------------- (89) CdtRewritingProof (BOTH BOUNDS(ID, ID)) Used rewriting to replace ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(z0)), 0), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) by ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ---------------------------------------- (90) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(y0)), 0) -> c1(ACK_IN(s(y0), s(0))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) U21(ack_out(s(0)), s(y0)) -> c4(ACK_IN(s(y0), s(0))) U21(ack_out(s(s(0))), s(y0)) -> c4(ACK_IN(s(y0), s(s(0)))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(0), s(s(0))) -> c4(ACK_IN(s(s(0)), 0)) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(0)), s(0)) -> c2(ACK_IN(s(s(0)), 0)) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(0)), 0), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(0), 0), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(z0), s(s(s(s(y1))))) -> c2(U21(u21(u21(ack_in(s(z0), s(y1)), z0), z0), z0), ACK_IN(s(z0), s(s(s(y1))))) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(y0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(y0))), 0), s(s(y0))), s(s(y0))), s(s(y0))), ACK_IN(s(s(s(y0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), 0), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(0)), 0), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(y0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(y0)), 0), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(0)))) ACK_IN(s(s(s(s(y0)))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y0)))), 0), s(s(s(y0)))), s(s(s(y0)))), s(s(s(y0)))), ACK_IN(s(s(s(s(y0)))), s(s(0)))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) S tuples: ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(y0)), 0) -> c1(ACK_IN(s(y0), s(0))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) U21(ack_out(s(0)), s(y0)) -> c4(ACK_IN(s(y0), s(0))) U21(ack_out(s(s(0))), s(y0)) -> c4(ACK_IN(s(y0), s(s(0)))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(0)), s(0)) -> c2(ACK_IN(s(s(0)), 0)) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(0)), 0), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(0), 0), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(z0), s(s(s(s(y1))))) -> c2(U21(u21(u21(ack_in(s(z0), s(y1)), z0), z0), z0), ACK_IN(s(z0), s(s(s(y1))))) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(y0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(y0))), 0), s(s(y0))), s(s(y0))), s(s(y0))), ACK_IN(s(s(s(y0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), 0), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(0)), 0), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(y0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(y0)), 0), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(0)))) ACK_IN(s(s(s(s(y0)))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y0)))), 0), s(s(s(y0)))), s(s(s(y0)))), s(s(s(y0)))), ACK_IN(s(s(s(s(y0)))), s(s(0)))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) K tuples: U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(0), s(s(0))) -> c4(ACK_IN(s(s(0)), 0)) Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U21_2 Compound Symbols: c1_1, c2_2, c4_1, c2_1 ---------------------------------------- (91) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace ACK_IN(s(s(y0)), 0) -> c1(ACK_IN(s(y0), s(0))) by ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ---------------------------------------- (92) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) U21(ack_out(s(0)), s(y0)) -> c4(ACK_IN(s(y0), s(0))) U21(ack_out(s(s(0))), s(y0)) -> c4(ACK_IN(s(y0), s(s(0)))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(0), s(s(0))) -> c4(ACK_IN(s(s(0)), 0)) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(0)), s(0)) -> c2(ACK_IN(s(s(0)), 0)) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(0)), 0), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(0), 0), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(z0), s(s(s(s(y1))))) -> c2(U21(u21(u21(ack_in(s(z0), s(y1)), z0), z0), z0), ACK_IN(s(z0), s(s(s(y1))))) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(y0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(y0))), 0), s(s(y0))), s(s(y0))), s(s(y0))), ACK_IN(s(s(s(y0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), 0), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(0)), 0), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(y0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(y0)), 0), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(0)))) ACK_IN(s(s(s(s(y0)))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y0)))), 0), s(s(s(y0)))), s(s(s(y0)))), s(s(s(y0)))), ACK_IN(s(s(s(s(y0)))), s(s(0)))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) S tuples: ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) U21(ack_out(s(0)), s(y0)) -> c4(ACK_IN(s(y0), s(0))) U21(ack_out(s(s(0))), s(y0)) -> c4(ACK_IN(s(y0), s(s(0)))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(0)), s(0)) -> c2(ACK_IN(s(s(0)), 0)) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(0)), 0), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(0), 0), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(z0), s(s(s(s(y1))))) -> c2(U21(u21(u21(ack_in(s(z0), s(y1)), z0), z0), z0), ACK_IN(s(z0), s(s(s(y1))))) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(y0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(y0))), 0), s(s(y0))), s(s(y0))), s(s(y0))), ACK_IN(s(s(s(y0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), 0), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(0)), 0), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(y0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(y0)), 0), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(0)))) ACK_IN(s(s(s(s(y0)))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y0)))), 0), s(s(s(y0)))), s(s(s(y0)))), s(s(s(y0)))), ACK_IN(s(s(s(s(y0)))), s(s(0)))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) K tuples: U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(0), s(s(0))) -> c4(ACK_IN(s(s(0)), 0)) Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U21_2 Compound Symbols: c1_1, c2_2, c4_1, c2_1 ---------------------------------------- (93) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing nodes: ACK_IN(s(s(0)), s(0)) -> c2(ACK_IN(s(s(0)), 0)) U21(ack_out(0), s(s(0))) -> c4(ACK_IN(s(s(0)), 0)) ---------------------------------------- (94) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) U21(ack_out(s(0)), s(y0)) -> c4(ACK_IN(s(y0), s(0))) U21(ack_out(s(s(0))), s(y0)) -> c4(ACK_IN(s(y0), s(s(0)))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(0)), 0), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(0), 0), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(z0), s(s(s(s(y1))))) -> c2(U21(u21(u21(ack_in(s(z0), s(y1)), z0), z0), z0), ACK_IN(s(z0), s(s(s(y1))))) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(y0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(y0))), 0), s(s(y0))), s(s(y0))), s(s(y0))), ACK_IN(s(s(s(y0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), 0), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(0)), 0), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(y0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(y0)), 0), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(0)))) ACK_IN(s(s(s(s(y0)))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y0)))), 0), s(s(s(y0)))), s(s(s(y0)))), s(s(s(y0)))), ACK_IN(s(s(s(s(y0)))), s(s(0)))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) S tuples: ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) U21(ack_out(s(0)), s(y0)) -> c4(ACK_IN(s(y0), s(0))) U21(ack_out(s(s(0))), s(y0)) -> c4(ACK_IN(s(y0), s(s(0)))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(0)), 0), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(0), 0), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(z0), s(s(s(s(y1))))) -> c2(U21(u21(u21(ack_in(s(z0), s(y1)), z0), z0), z0), ACK_IN(s(z0), s(s(s(y1))))) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(y0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(y0))), 0), s(s(y0))), s(s(y0))), s(s(y0))), ACK_IN(s(s(s(y0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), 0), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(0)), 0), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(y0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(y0)), 0), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(0)))) ACK_IN(s(s(s(s(y0)))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y0)))), 0), s(s(s(y0)))), s(s(s(y0)))), s(s(s(y0)))), ACK_IN(s(s(s(s(y0)))), s(s(0)))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) K tuples: U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U21_2 Compound Symbols: c1_1, c2_2, c4_1, c2_1 ---------------------------------------- (95) CdtRewritingProof (BOTH BOUNDS(ID, ID)) Used rewriting to replace ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(s(0)), 0), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) by ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ---------------------------------------- (96) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) U21(ack_out(s(0)), s(y0)) -> c4(ACK_IN(s(y0), s(0))) U21(ack_out(s(s(0))), s(y0)) -> c4(ACK_IN(s(y0), s(s(0)))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(0), 0), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(z0), s(s(s(s(y1))))) -> c2(U21(u21(u21(ack_in(s(z0), s(y1)), z0), z0), z0), ACK_IN(s(z0), s(s(s(y1))))) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(y0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(y0))), 0), s(s(y0))), s(s(y0))), s(s(y0))), ACK_IN(s(s(s(y0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), 0), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(0)), 0), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(y0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(y0)), 0), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(0)))) ACK_IN(s(s(s(s(y0)))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y0)))), 0), s(s(s(y0)))), s(s(s(y0)))), s(s(s(y0)))), ACK_IN(s(s(s(s(y0)))), s(s(0)))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) S tuples: ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) U21(ack_out(s(0)), s(y0)) -> c4(ACK_IN(s(y0), s(0))) U21(ack_out(s(s(0))), s(y0)) -> c4(ACK_IN(s(y0), s(s(0)))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(0), 0), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(z0), s(s(s(s(y1))))) -> c2(U21(u21(u21(ack_in(s(z0), s(y1)), z0), z0), z0), ACK_IN(s(z0), s(s(s(y1))))) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(y0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(y0))), 0), s(s(y0))), s(s(y0))), s(s(y0))), ACK_IN(s(s(s(y0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), 0), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(0)), 0), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(y0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(y0)), 0), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(0)))) ACK_IN(s(s(s(s(y0)))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y0)))), 0), s(s(s(y0)))), s(s(s(y0)))), s(s(s(y0)))), ACK_IN(s(s(s(s(y0)))), s(s(0)))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) K tuples: U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U21_2 Compound Symbols: c1_1, c2_2, c4_1, c2_1 ---------------------------------------- (97) CdtRewritingProof (BOTH BOUNDS(ID, ID)) Used rewriting to replace ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(ack_in(s(0), 0), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) by ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(0, s(0))), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ---------------------------------------- (98) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) U21(ack_out(s(0)), s(y0)) -> c4(ACK_IN(s(y0), s(0))) U21(ack_out(s(s(0))), s(y0)) -> c4(ACK_IN(s(y0), s(s(0)))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(z0), s(s(s(s(y1))))) -> c2(U21(u21(u21(ack_in(s(z0), s(y1)), z0), z0), z0), ACK_IN(s(z0), s(s(s(y1))))) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(y0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(y0))), 0), s(s(y0))), s(s(y0))), s(s(y0))), ACK_IN(s(s(s(y0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), 0), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(0)), 0), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(y0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(y0)), 0), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(0)))) ACK_IN(s(s(s(s(y0)))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y0)))), 0), s(s(s(y0)))), s(s(s(y0)))), s(s(s(y0)))), ACK_IN(s(s(s(s(y0)))), s(s(0)))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(0, s(0))), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) S tuples: ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) U21(ack_out(s(0)), s(y0)) -> c4(ACK_IN(s(y0), s(0))) U21(ack_out(s(s(0))), s(y0)) -> c4(ACK_IN(s(y0), s(s(0)))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(z0), s(s(s(s(y1))))) -> c2(U21(u21(u21(ack_in(s(z0), s(y1)), z0), z0), z0), ACK_IN(s(z0), s(s(s(y1))))) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(y0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(y0))), 0), s(s(y0))), s(s(y0))), s(s(y0))), ACK_IN(s(s(s(y0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), 0), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(0)), 0), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(y0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(y0)), 0), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(0)))) ACK_IN(s(s(s(s(y0)))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y0)))), 0), s(s(s(y0)))), s(s(s(y0)))), s(s(s(y0)))), ACK_IN(s(s(s(s(y0)))), s(s(0)))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(0, s(0))), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) K tuples: U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U21_2 Compound Symbols: c1_1, c2_2, c4_1, c2_1 ---------------------------------------- (99) CdtRewritingProof (BOTH BOUNDS(ID, ID)) Used rewriting to replace ACK_IN(s(z0), s(s(s(s(y1))))) -> c2(U21(u21(u21(ack_in(s(z0), s(y1)), z0), z0), z0), ACK_IN(s(z0), s(s(s(y1))))) by ACK_IN(s(z0), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(z1))))) ---------------------------------------- (100) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) U21(ack_out(s(0)), s(y0)) -> c4(ACK_IN(s(y0), s(0))) U21(ack_out(s(s(0))), s(y0)) -> c4(ACK_IN(s(y0), s(s(0)))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(y0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(y0))), 0), s(s(y0))), s(s(y0))), s(s(y0))), ACK_IN(s(s(s(y0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), 0), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(0)), 0), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(y0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(y0)), 0), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(0)))) ACK_IN(s(s(s(s(y0)))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y0)))), 0), s(s(s(y0)))), s(s(s(y0)))), s(s(s(y0)))), ACK_IN(s(s(s(s(y0)))), s(s(0)))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(0, s(0))), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ACK_IN(s(z0), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(z1))))) S tuples: ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) U21(ack_out(s(0)), s(y0)) -> c4(ACK_IN(s(y0), s(0))) U21(ack_out(s(s(0))), s(y0)) -> c4(ACK_IN(s(y0), s(s(0)))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(y0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(y0))), 0), s(s(y0))), s(s(y0))), s(s(y0))), ACK_IN(s(s(s(y0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), 0), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(0)), 0), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(y0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(y0)), 0), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(0)))) ACK_IN(s(s(s(s(y0)))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y0)))), 0), s(s(s(y0)))), s(s(s(y0)))), s(s(s(y0)))), ACK_IN(s(s(s(s(y0)))), s(s(0)))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(0, s(0))), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ACK_IN(s(z0), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(z1))))) K tuples: U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U21_2 Compound Symbols: c1_1, c2_2, c4_1, c2_1 ---------------------------------------- (101) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace U21(ack_out(s(0)), s(y0)) -> c4(ACK_IN(s(y0), s(0))) by U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) U21(ack_out(s(0)), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(0))) ---------------------------------------- (102) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) U21(ack_out(s(s(0))), s(y0)) -> c4(ACK_IN(s(y0), s(s(0)))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(y0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(y0))), 0), s(s(y0))), s(s(y0))), s(s(y0))), ACK_IN(s(s(s(y0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), 0), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(0)), 0), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(y0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(y0)), 0), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(0)))) ACK_IN(s(s(s(s(y0)))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y0)))), 0), s(s(s(y0)))), s(s(s(y0)))), s(s(s(y0)))), ACK_IN(s(s(s(s(y0)))), s(s(0)))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(0, s(0))), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ACK_IN(s(z0), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(z1))))) U21(ack_out(s(0)), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(0))) S tuples: ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) U21(ack_out(s(s(0))), s(y0)) -> c4(ACK_IN(s(y0), s(s(0)))) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(y0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(y0))), 0), s(s(y0))), s(s(y0))), s(s(y0))), ACK_IN(s(s(s(y0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), 0), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(0)), 0), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(y0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(y0)), 0), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(0)))) ACK_IN(s(s(s(s(y0)))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y0)))), 0), s(s(s(y0)))), s(s(s(y0)))), s(s(s(y0)))), ACK_IN(s(s(s(s(y0)))), s(s(0)))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(0, s(0))), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ACK_IN(s(z0), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(z1))))) U21(ack_out(s(0)), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(0))) K tuples: U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U21_2 Compound Symbols: c1_1, c2_2, c4_1, c2_1 ---------------------------------------- (103) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace U21(ack_out(s(s(0))), s(y0)) -> c4(ACK_IN(s(y0), s(s(0)))) by U21(ack_out(s(s(0))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(0)))) ---------------------------------------- (104) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(y0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(y0))), 0), s(s(y0))), s(s(y0))), s(s(y0))), ACK_IN(s(s(s(y0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), 0), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(0)), 0), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(y0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(y0)), 0), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(0)))) ACK_IN(s(s(s(s(y0)))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y0)))), 0), s(s(s(y0)))), s(s(s(y0)))), s(s(s(y0)))), ACK_IN(s(s(s(s(y0)))), s(s(0)))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(0, s(0))), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ACK_IN(s(z0), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(z1))))) U21(ack_out(s(0)), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(s(0))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(0)))) S tuples: ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(y0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(y0))), 0), s(s(y0))), s(s(y0))), s(s(y0))), ACK_IN(s(s(s(y0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), 0), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(0)), 0), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(y0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(y0)), 0), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(0)))) ACK_IN(s(s(s(s(y0)))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y0)))), 0), s(s(s(y0)))), s(s(s(y0)))), s(s(s(y0)))), ACK_IN(s(s(s(s(y0)))), s(s(0)))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(0, s(0))), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ACK_IN(s(z0), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(z1))))) U21(ack_out(s(0)), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(s(0))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(0)))) K tuples: U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U21_2 Compound Symbols: c1_1, c2_2, c4_1, c2_1 ---------------------------------------- (105) CdtRewritingProof (BOTH BOUNDS(ID, ID)) Used rewriting to replace ACK_IN(s(s(s(y0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(y0))), 0), s(s(y0))), s(s(y0))), s(s(y0))), ACK_IN(s(s(s(y0))), s(s(0)))) by ACK_IN(s(s(s(z0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(0)))) ---------------------------------------- (106) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), 0), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(0)), 0), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(y0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(y0)), 0), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(0)))) ACK_IN(s(s(s(s(y0)))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y0)))), 0), s(s(s(y0)))), s(s(s(y0)))), s(s(s(y0)))), ACK_IN(s(s(s(s(y0)))), s(s(0)))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(0, s(0))), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ACK_IN(s(z0), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(z1))))) U21(ack_out(s(0)), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(s(0))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(s(z0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(0)))) S tuples: ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), 0), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(0)), 0), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(y0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(y0)), 0), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(0)))) ACK_IN(s(s(s(s(y0)))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y0)))), 0), s(s(s(y0)))), s(s(s(y0)))), s(s(s(y0)))), ACK_IN(s(s(s(s(y0)))), s(s(0)))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(0, s(0))), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ACK_IN(s(z0), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(z1))))) U21(ack_out(s(0)), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(s(0))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(s(z0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(0)))) K tuples: U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U21_2 Compound Symbols: c1_1, c2_2, c4_1, c2_1 ---------------------------------------- (107) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace U21(ack_out(s(s(s(y1)))), s(y0)) -> c4(ACK_IN(s(y0), s(s(s(y1))))) by U21(ack_out(s(s(s(z0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(z0))))) U21(ack_out(s(s(s(0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(0))))) U21(ack_out(s(s(s(s(y1))))), s(z1)) -> c4(ACK_IN(s(z1), s(s(s(s(y1)))))) U21(ack_out(s(s(s(0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(0))))) ---------------------------------------- (108) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), 0), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(0)), 0), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(y0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(y0)), 0), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(0)))) ACK_IN(s(s(s(s(y0)))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y0)))), 0), s(s(s(y0)))), s(s(s(y0)))), s(s(s(y0)))), ACK_IN(s(s(s(s(y0)))), s(s(0)))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(0, s(0))), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ACK_IN(s(z0), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(z1))))) U21(ack_out(s(0)), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(s(0))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(s(z0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(0)))) U21(ack_out(s(s(s(z0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(z0))))) U21(ack_out(s(s(s(0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(0))))) U21(ack_out(s(s(s(s(y1))))), s(z1)) -> c4(ACK_IN(s(z1), s(s(s(s(y1)))))) U21(ack_out(s(s(s(0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(0))))) S tuples: ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), 0), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(0)), 0), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(y0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(y0)), 0), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(0)))) ACK_IN(s(s(s(s(y0)))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y0)))), 0), s(s(s(y0)))), s(s(s(y0)))), s(s(s(y0)))), ACK_IN(s(s(s(s(y0)))), s(s(0)))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(0, s(0))), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ACK_IN(s(z0), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(z1))))) U21(ack_out(s(0)), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(s(0))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(s(z0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(0)))) U21(ack_out(s(s(s(z0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(z0))))) U21(ack_out(s(s(s(0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(0))))) U21(ack_out(s(s(s(s(y1))))), s(z1)) -> c4(ACK_IN(s(z1), s(s(s(s(y1)))))) U21(ack_out(s(s(s(0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(0))))) K tuples: U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U21_2 Compound Symbols: c1_1, c2_2, c4_1, c2_1 ---------------------------------------- (109) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace U21(ack_out(0), s(s(y0))) -> c4(ACK_IN(s(s(y0)), 0)) by U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(0), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), 0)) U21(ack_out(0), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), 0)) ---------------------------------------- (110) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), 0), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(0)), 0), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(y0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(y0)), 0), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(0)))) ACK_IN(s(s(s(s(y0)))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y0)))), 0), s(s(s(y0)))), s(s(s(y0)))), s(s(s(y0)))), ACK_IN(s(s(s(s(y0)))), s(s(0)))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(0, s(0))), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ACK_IN(s(z0), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(z1))))) U21(ack_out(s(0)), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(s(0))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(s(z0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(0)))) U21(ack_out(s(s(s(z0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(z0))))) U21(ack_out(s(s(s(0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(0))))) U21(ack_out(s(s(s(s(y1))))), s(z1)) -> c4(ACK_IN(s(z1), s(s(s(s(y1)))))) U21(ack_out(s(s(s(0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(0))))) U21(ack_out(0), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), 0)) U21(ack_out(0), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), 0)) S tuples: ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), 0), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(0)), 0), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(y0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(y0)), 0), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(0)))) ACK_IN(s(s(s(s(y0)))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y0)))), 0), s(s(s(y0)))), s(s(s(y0)))), s(s(s(y0)))), ACK_IN(s(s(s(s(y0)))), s(s(0)))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(0, s(0))), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ACK_IN(s(z0), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(z1))))) U21(ack_out(s(0)), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(s(0))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(s(z0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(0)))) U21(ack_out(s(s(s(z0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(z0))))) U21(ack_out(s(s(s(0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(0))))) U21(ack_out(s(s(s(s(y1))))), s(z1)) -> c4(ACK_IN(s(z1), s(s(s(s(y1)))))) U21(ack_out(s(s(s(0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(0))))) K tuples: U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(0), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), 0)) U21(ack_out(0), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), 0)) Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U21_2 Compound Symbols: c1_1, c2_2, c4_1, c2_1 ---------------------------------------- (111) CdtRewritingProof (BOTH BOUNDS(ID, ID)) Used rewriting to replace ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), 0), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) by ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(0)), s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ---------------------------------------- (112) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(0)), 0), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(y0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(y0)), 0), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(0)))) ACK_IN(s(s(s(s(y0)))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y0)))), 0), s(s(s(y0)))), s(s(s(y0)))), s(s(s(y0)))), ACK_IN(s(s(s(s(y0)))), s(s(0)))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(0, s(0))), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ACK_IN(s(z0), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(z1))))) U21(ack_out(s(0)), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(s(0))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(s(z0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(0)))) U21(ack_out(s(s(s(z0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(z0))))) U21(ack_out(s(s(s(0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(0))))) U21(ack_out(s(s(s(s(y1))))), s(z1)) -> c4(ACK_IN(s(z1), s(s(s(s(y1)))))) U21(ack_out(s(s(s(0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(0))))) U21(ack_out(0), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), 0)) U21(ack_out(0), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), 0)) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(0)), s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) S tuples: ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(0)), 0), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(y0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(y0)), 0), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(0)))) ACK_IN(s(s(s(s(y0)))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y0)))), 0), s(s(s(y0)))), s(s(s(y0)))), s(s(s(y0)))), ACK_IN(s(s(s(s(y0)))), s(s(0)))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(0, s(0))), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ACK_IN(s(z0), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(z1))))) U21(ack_out(s(0)), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(s(0))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(s(z0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(0)))) U21(ack_out(s(s(s(z0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(z0))))) U21(ack_out(s(s(s(0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(0))))) U21(ack_out(s(s(s(s(y1))))), s(z1)) -> c4(ACK_IN(s(z1), s(s(s(s(y1)))))) U21(ack_out(s(s(s(0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(0))))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(0)), s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) K tuples: U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(0), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), 0)) U21(ack_out(0), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), 0)) Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U21_2 Compound Symbols: c1_1, c2_2, c4_1, c2_1 ---------------------------------------- (113) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace ACK_IN(s(s(y0)), s(0)) -> c2(ACK_IN(s(s(y0)), 0)) by ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(s(s(y0)))), s(0)) -> c2(ACK_IN(s(s(s(s(y0)))), 0)) ACK_IN(s(s(s(0))), s(0)) -> c2(ACK_IN(s(s(s(0))), 0)) ---------------------------------------- (114) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(0)), 0), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(y0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(y0)), 0), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(0)))) ACK_IN(s(s(s(s(y0)))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y0)))), 0), s(s(s(y0)))), s(s(s(y0)))), s(s(s(y0)))), ACK_IN(s(s(s(s(y0)))), s(s(0)))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(0, s(0))), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ACK_IN(s(z0), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(z1))))) U21(ack_out(s(0)), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(s(0))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(s(z0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(0)))) U21(ack_out(s(s(s(z0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(z0))))) U21(ack_out(s(s(s(0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(0))))) U21(ack_out(s(s(s(s(y1))))), s(z1)) -> c4(ACK_IN(s(z1), s(s(s(s(y1)))))) U21(ack_out(s(s(s(0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(0))))) U21(ack_out(0), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), 0)) U21(ack_out(0), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), 0)) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(0)), s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(s(s(y0)))), s(0)) -> c2(ACK_IN(s(s(s(s(y0)))), 0)) ACK_IN(s(s(s(0))), s(0)) -> c2(ACK_IN(s(s(s(0))), 0)) S tuples: ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(0)), 0), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(y0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(y0)), 0), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(0)))) ACK_IN(s(s(s(s(y0)))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y0)))), 0), s(s(s(y0)))), s(s(s(y0)))), s(s(s(y0)))), ACK_IN(s(s(s(s(y0)))), s(s(0)))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(0, s(0))), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ACK_IN(s(z0), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(z1))))) U21(ack_out(s(0)), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(s(0))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(s(z0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(0)))) U21(ack_out(s(s(s(z0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(z0))))) U21(ack_out(s(s(s(0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(0))))) U21(ack_out(s(s(s(s(y1))))), s(z1)) -> c4(ACK_IN(s(z1), s(s(s(s(y1)))))) U21(ack_out(s(s(s(0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(0))))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(0)), s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(s(s(y0)))), s(0)) -> c2(ACK_IN(s(s(s(s(y0)))), 0)) ACK_IN(s(s(s(0))), s(0)) -> c2(ACK_IN(s(s(s(0))), 0)) K tuples: U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(0), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), 0)) U21(ack_out(0), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), 0)) Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U21_2 Compound Symbols: c1_1, c2_2, c4_1, c2_1 ---------------------------------------- (115) CdtRewritingProof (BOTH BOUNDS(ID, ID)) Used rewriting to replace ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(0)), 0), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) by ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(0), s(0))), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ---------------------------------------- (116) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(y0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(y0)), 0), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(0)))) ACK_IN(s(s(s(s(y0)))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y0)))), 0), s(s(s(y0)))), s(s(s(y0)))), s(s(s(y0)))), ACK_IN(s(s(s(s(y0)))), s(s(0)))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(0, s(0))), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ACK_IN(s(z0), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(z1))))) U21(ack_out(s(0)), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(s(0))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(s(z0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(0)))) U21(ack_out(s(s(s(z0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(z0))))) U21(ack_out(s(s(s(0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(0))))) U21(ack_out(s(s(s(s(y1))))), s(z1)) -> c4(ACK_IN(s(z1), s(s(s(s(y1)))))) U21(ack_out(s(s(s(0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(0))))) U21(ack_out(0), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), 0)) U21(ack_out(0), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), 0)) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(0)), s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(s(s(y0)))), s(0)) -> c2(ACK_IN(s(s(s(s(y0)))), 0)) ACK_IN(s(s(s(0))), s(0)) -> c2(ACK_IN(s(s(s(0))), 0)) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(0), s(0))), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) S tuples: ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(y0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(y0)), 0), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(0)))) ACK_IN(s(s(s(s(y0)))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y0)))), 0), s(s(s(y0)))), s(s(s(y0)))), s(s(s(y0)))), ACK_IN(s(s(s(s(y0)))), s(s(0)))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(0, s(0))), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ACK_IN(s(z0), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(z1))))) U21(ack_out(s(0)), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(s(0))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(s(z0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(0)))) U21(ack_out(s(s(s(z0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(z0))))) U21(ack_out(s(s(s(0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(0))))) U21(ack_out(s(s(s(s(y1))))), s(z1)) -> c4(ACK_IN(s(z1), s(s(s(s(y1)))))) U21(ack_out(s(s(s(0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(0))))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(0)), s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(s(s(y0)))), s(0)) -> c2(ACK_IN(s(s(s(s(y0)))), 0)) ACK_IN(s(s(s(0))), s(0)) -> c2(ACK_IN(s(s(s(0))), 0)) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(0), s(0))), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) K tuples: U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(0), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), 0)) U21(ack_out(0), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), 0)) Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U21_2 Compound Symbols: c1_1, c2_2, c4_1, c2_1 ---------------------------------------- (117) CdtRewritingProof (BOTH BOUNDS(ID, ID)) Used rewriting to replace ACK_IN(s(s(y0)), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(y0)), 0), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(0)))) by ACK_IN(s(s(z0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(z0), s(0))), s(z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(s(0)))) ---------------------------------------- (118) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(s(y0)))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y0)))), 0), s(s(s(y0)))), s(s(s(y0)))), s(s(s(y0)))), ACK_IN(s(s(s(s(y0)))), s(s(0)))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(0, s(0))), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ACK_IN(s(z0), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(z1))))) U21(ack_out(s(0)), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(s(0))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(s(z0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(0)))) U21(ack_out(s(s(s(z0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(z0))))) U21(ack_out(s(s(s(0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(0))))) U21(ack_out(s(s(s(s(y1))))), s(z1)) -> c4(ACK_IN(s(z1), s(s(s(s(y1)))))) U21(ack_out(s(s(s(0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(0))))) U21(ack_out(0), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), 0)) U21(ack_out(0), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), 0)) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(0)), s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(s(s(y0)))), s(0)) -> c2(ACK_IN(s(s(s(s(y0)))), 0)) ACK_IN(s(s(s(0))), s(0)) -> c2(ACK_IN(s(s(s(0))), 0)) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(0), s(0))), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(z0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(z0), s(0))), s(z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(s(0)))) S tuples: ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(s(y0)))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y0)))), 0), s(s(s(y0)))), s(s(s(y0)))), s(s(s(y0)))), ACK_IN(s(s(s(s(y0)))), s(s(0)))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(0, s(0))), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ACK_IN(s(z0), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(z1))))) U21(ack_out(s(0)), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(s(0))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(s(z0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(0)))) U21(ack_out(s(s(s(z0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(z0))))) U21(ack_out(s(s(s(0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(0))))) U21(ack_out(s(s(s(s(y1))))), s(z1)) -> c4(ACK_IN(s(z1), s(s(s(s(y1)))))) U21(ack_out(s(s(s(0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(0))))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(0)), s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(s(s(y0)))), s(0)) -> c2(ACK_IN(s(s(s(s(y0)))), 0)) ACK_IN(s(s(s(0))), s(0)) -> c2(ACK_IN(s(s(s(0))), 0)) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(0), s(0))), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(z0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(z0), s(0))), s(z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(s(0)))) K tuples: U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(0), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), 0)) U21(ack_out(0), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), 0)) Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U21_2 Compound Symbols: c1_1, c2_2, c4_1, c2_1 ---------------------------------------- (119) CdtRewritingProof (BOTH BOUNDS(ID, ID)) Used rewriting to replace ACK_IN(s(s(s(s(y0)))), s(s(s(0)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y0)))), 0), s(s(s(y0)))), s(s(s(y0)))), s(s(s(y0)))), ACK_IN(s(s(s(s(y0)))), s(s(0)))) by ACK_IN(s(s(s(s(z0)))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(s(z0))), s(0))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(0)))) ---------------------------------------- (120) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(0, s(0))), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ACK_IN(s(z0), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(z1))))) U21(ack_out(s(0)), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(s(0))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(s(z0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(0)))) U21(ack_out(s(s(s(z0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(z0))))) U21(ack_out(s(s(s(0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(0))))) U21(ack_out(s(s(s(s(y1))))), s(z1)) -> c4(ACK_IN(s(z1), s(s(s(s(y1)))))) U21(ack_out(s(s(s(0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(0))))) U21(ack_out(0), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), 0)) U21(ack_out(0), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), 0)) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(0)), s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(s(s(y0)))), s(0)) -> c2(ACK_IN(s(s(s(s(y0)))), 0)) ACK_IN(s(s(s(0))), s(0)) -> c2(ACK_IN(s(s(s(0))), 0)) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(0), s(0))), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(z0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(z0), s(0))), s(z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(s(0)))) ACK_IN(s(s(s(s(z0)))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(s(z0))), s(0))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(0)))) S tuples: ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(0, s(0))), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ACK_IN(s(z0), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(z1))))) U21(ack_out(s(0)), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(s(0))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(s(z0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(0)))) U21(ack_out(s(s(s(z0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(z0))))) U21(ack_out(s(s(s(0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(0))))) U21(ack_out(s(s(s(s(y1))))), s(z1)) -> c4(ACK_IN(s(z1), s(s(s(s(y1)))))) U21(ack_out(s(s(s(0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(0))))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(0)), s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(s(s(y0)))), s(0)) -> c2(ACK_IN(s(s(s(s(y0)))), 0)) ACK_IN(s(s(s(0))), s(0)) -> c2(ACK_IN(s(s(s(0))), 0)) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(0), s(0))), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(z0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(z0), s(0))), s(z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(s(0)))) ACK_IN(s(s(s(s(z0)))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(s(z0))), s(0))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(0)))) K tuples: U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(0), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), 0)) U21(ack_out(0), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), 0)) Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U21_2 Compound Symbols: c1_1, c2_2, c4_1, c2_1 ---------------------------------------- (121) CdtRewritingProof (BOTH BOUNDS(ID, ID)) Used rewriting to replace ACK_IN(s(s(s(z0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(0)))) by ACK_IN(s(s(s(z0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(z0)), 0), s(z0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(0)))) ---------------------------------------- (122) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(0, s(0))), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ACK_IN(s(z0), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(z1))))) U21(ack_out(s(0)), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(s(0))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(0)))) U21(ack_out(s(s(s(z0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(z0))))) U21(ack_out(s(s(s(0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(0))))) U21(ack_out(s(s(s(s(y1))))), s(z1)) -> c4(ACK_IN(s(z1), s(s(s(s(y1)))))) U21(ack_out(s(s(s(0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(0))))) U21(ack_out(0), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), 0)) U21(ack_out(0), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), 0)) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(0)), s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(s(s(y0)))), s(0)) -> c2(ACK_IN(s(s(s(s(y0)))), 0)) ACK_IN(s(s(s(0))), s(0)) -> c2(ACK_IN(s(s(s(0))), 0)) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(0), s(0))), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(z0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(z0), s(0))), s(z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(s(0)))) ACK_IN(s(s(s(s(z0)))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(s(z0))), s(0))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(0)))) ACK_IN(s(s(s(z0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(z0)), 0), s(z0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(0)))) S tuples: ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(0, s(0))), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ACK_IN(s(z0), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(z1))))) U21(ack_out(s(0)), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(s(0))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(0)))) U21(ack_out(s(s(s(z0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(z0))))) U21(ack_out(s(s(s(0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(0))))) U21(ack_out(s(s(s(s(y1))))), s(z1)) -> c4(ACK_IN(s(z1), s(s(s(s(y1)))))) U21(ack_out(s(s(s(0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(0))))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(0)), s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(s(s(y0)))), s(0)) -> c2(ACK_IN(s(s(s(s(y0)))), 0)) ACK_IN(s(s(s(0))), s(0)) -> c2(ACK_IN(s(s(s(0))), 0)) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(0), s(0))), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(z0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(z0), s(0))), s(z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(s(0)))) ACK_IN(s(s(s(s(z0)))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(s(z0))), s(0))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(0)))) ACK_IN(s(s(s(z0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(z0)), 0), s(z0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(0)))) K tuples: U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(0), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), 0)) U21(ack_out(0), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), 0)) Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U21_2 Compound Symbols: c1_1, c2_2, c4_1, c2_1 ---------------------------------------- (123) CdtRewritingProof (BOTH BOUNDS(ID, ID)) Used rewriting to replace ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(0)), s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) by ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(0)), 0), s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ---------------------------------------- (124) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(0, s(0))), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ACK_IN(s(z0), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(z1))))) U21(ack_out(s(0)), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(s(0))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(0)))) U21(ack_out(s(s(s(z0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(z0))))) U21(ack_out(s(s(s(0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(0))))) U21(ack_out(s(s(s(s(y1))))), s(z1)) -> c4(ACK_IN(s(z1), s(s(s(s(y1)))))) U21(ack_out(s(s(s(0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(0))))) U21(ack_out(0), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), 0)) U21(ack_out(0), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), 0)) ACK_IN(s(s(s(s(y0)))), s(0)) -> c2(ACK_IN(s(s(s(s(y0)))), 0)) ACK_IN(s(s(s(0))), s(0)) -> c2(ACK_IN(s(s(s(0))), 0)) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(0), s(0))), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(z0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(z0), s(0))), s(z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(s(0)))) ACK_IN(s(s(s(s(z0)))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(s(z0))), s(0))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(0)))) ACK_IN(s(s(s(z0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(z0)), 0), s(z0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(0)), 0), s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) S tuples: ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(0, s(0))), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ACK_IN(s(z0), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(z1))))) U21(ack_out(s(0)), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(s(0))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(0)))) U21(ack_out(s(s(s(z0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(z0))))) U21(ack_out(s(s(s(0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(0))))) U21(ack_out(s(s(s(s(y1))))), s(z1)) -> c4(ACK_IN(s(z1), s(s(s(s(y1)))))) U21(ack_out(s(s(s(0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(0))))) ACK_IN(s(s(s(s(y0)))), s(0)) -> c2(ACK_IN(s(s(s(s(y0)))), 0)) ACK_IN(s(s(s(0))), s(0)) -> c2(ACK_IN(s(s(s(0))), 0)) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(0), s(0))), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(z0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(z0), s(0))), s(z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(s(0)))) ACK_IN(s(s(s(s(z0)))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(s(z0))), s(0))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(0)))) ACK_IN(s(s(s(z0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(z0)), 0), s(z0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(0)), 0), s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) K tuples: U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(0), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), 0)) U21(ack_out(0), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), 0)) Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U21_2 Compound Symbols: c1_1, c2_2, c4_1, c2_1 ---------------------------------------- (125) CdtRewritingProof (BOTH BOUNDS(ID, ID)) Used rewriting to replace ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(0), s(0))), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) by ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(0), 0), 0)), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ---------------------------------------- (126) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(0, s(0))), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ACK_IN(s(z0), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(z1))))) U21(ack_out(s(0)), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(s(0))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(0)))) U21(ack_out(s(s(s(z0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(z0))))) U21(ack_out(s(s(s(0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(0))))) U21(ack_out(s(s(s(s(y1))))), s(z1)) -> c4(ACK_IN(s(z1), s(s(s(s(y1)))))) U21(ack_out(s(s(s(0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(0))))) U21(ack_out(0), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), 0)) U21(ack_out(0), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), 0)) ACK_IN(s(s(s(s(y0)))), s(0)) -> c2(ACK_IN(s(s(s(s(y0)))), 0)) ACK_IN(s(s(s(0))), s(0)) -> c2(ACK_IN(s(s(s(0))), 0)) ACK_IN(s(s(z0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(z0), s(0))), s(z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(s(0)))) ACK_IN(s(s(s(s(z0)))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(s(z0))), s(0))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(0)))) ACK_IN(s(s(s(z0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(z0)), 0), s(z0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(0)), 0), s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(0), 0), 0)), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) S tuples: ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(0, s(0))), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ACK_IN(s(z0), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(z1))))) U21(ack_out(s(0)), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(s(0))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(0)))) U21(ack_out(s(s(s(z0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(z0))))) U21(ack_out(s(s(s(0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(0))))) U21(ack_out(s(s(s(s(y1))))), s(z1)) -> c4(ACK_IN(s(z1), s(s(s(s(y1)))))) U21(ack_out(s(s(s(0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(0))))) ACK_IN(s(s(s(s(y0)))), s(0)) -> c2(ACK_IN(s(s(s(s(y0)))), 0)) ACK_IN(s(s(s(0))), s(0)) -> c2(ACK_IN(s(s(s(0))), 0)) ACK_IN(s(s(z0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(z0), s(0))), s(z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(s(0)))) ACK_IN(s(s(s(s(z0)))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(s(z0))), s(0))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(0)))) ACK_IN(s(s(s(z0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(z0)), 0), s(z0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(0)), 0), s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(0), 0), 0)), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) K tuples: U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(0), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), 0)) U21(ack_out(0), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), 0)) Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U21_2 Compound Symbols: c1_1, c2_2, c4_1, c2_1 ---------------------------------------- (127) CdtRewritingProof (BOTH BOUNDS(ID, ID)) Used rewriting to replace ACK_IN(s(s(z0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(z0), s(0))), s(z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(s(0)))) by ACK_IN(s(s(z0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(z0), 0), z0)), s(z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(s(0)))) ---------------------------------------- (128) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(0, s(0))), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ACK_IN(s(z0), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(z1))))) U21(ack_out(s(0)), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(s(0))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(0)))) U21(ack_out(s(s(s(z0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(z0))))) U21(ack_out(s(s(s(0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(0))))) U21(ack_out(s(s(s(s(y1))))), s(z1)) -> c4(ACK_IN(s(z1), s(s(s(s(y1)))))) U21(ack_out(s(s(s(0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(0))))) U21(ack_out(0), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), 0)) U21(ack_out(0), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), 0)) ACK_IN(s(s(s(s(y0)))), s(0)) -> c2(ACK_IN(s(s(s(s(y0)))), 0)) ACK_IN(s(s(s(0))), s(0)) -> c2(ACK_IN(s(s(s(0))), 0)) ACK_IN(s(s(s(s(z0)))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(s(z0))), s(0))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(0)))) ACK_IN(s(s(s(z0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(z0)), 0), s(z0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(0)), 0), s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(0), 0), 0)), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(z0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(z0), 0), z0)), s(z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(s(0)))) S tuples: ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(0, s(0))), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ACK_IN(s(z0), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(z1))))) U21(ack_out(s(0)), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(s(0))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(0)))) U21(ack_out(s(s(s(z0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(z0))))) U21(ack_out(s(s(s(0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(0))))) U21(ack_out(s(s(s(s(y1))))), s(z1)) -> c4(ACK_IN(s(z1), s(s(s(s(y1)))))) U21(ack_out(s(s(s(0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(0))))) ACK_IN(s(s(s(s(y0)))), s(0)) -> c2(ACK_IN(s(s(s(s(y0)))), 0)) ACK_IN(s(s(s(0))), s(0)) -> c2(ACK_IN(s(s(s(0))), 0)) ACK_IN(s(s(s(s(z0)))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(s(z0))), s(0))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(0)))) ACK_IN(s(s(s(z0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(z0)), 0), s(z0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(0)), 0), s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(0), 0), 0)), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(z0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(z0), 0), z0)), s(z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(s(0)))) K tuples: U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(0), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), 0)) U21(ack_out(0), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), 0)) Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U21_2 Compound Symbols: c1_1, c2_2, c4_1, c2_1 ---------------------------------------- (129) CdtRewritingProof (BOTH BOUNDS(ID, ID)) Used rewriting to replace ACK_IN(s(s(s(s(z0)))), s(s(s(0)))) -> c2(U21(u21(u21(u11(ack_in(s(s(s(z0))), s(0))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(0)))) by ACK_IN(s(s(s(s(z0)))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(s(z0))), 0), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(0)))) ---------------------------------------- (130) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(0, s(0))), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ACK_IN(s(z0), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(z1))))) U21(ack_out(s(0)), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(s(0))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(0)))) U21(ack_out(s(s(s(z0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(z0))))) U21(ack_out(s(s(s(0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(0))))) U21(ack_out(s(s(s(s(y1))))), s(z1)) -> c4(ACK_IN(s(z1), s(s(s(s(y1)))))) U21(ack_out(s(s(s(0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(0))))) U21(ack_out(0), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), 0)) U21(ack_out(0), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), 0)) ACK_IN(s(s(s(s(y0)))), s(0)) -> c2(ACK_IN(s(s(s(s(y0)))), 0)) ACK_IN(s(s(s(0))), s(0)) -> c2(ACK_IN(s(s(s(0))), 0)) ACK_IN(s(s(s(z0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(z0)), 0), s(z0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(0)), 0), s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(0), 0), 0)), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(z0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(z0), 0), z0)), s(z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(s(0)))) ACK_IN(s(s(s(s(z0)))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(s(z0))), 0), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(0)))) S tuples: ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(0, s(0))), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) ACK_IN(s(z0), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(z1))))) U21(ack_out(s(0)), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(s(0))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(0)))) U21(ack_out(s(s(s(z0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(z0))))) U21(ack_out(s(s(s(0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(0))))) U21(ack_out(s(s(s(s(y1))))), s(z1)) -> c4(ACK_IN(s(z1), s(s(s(s(y1)))))) U21(ack_out(s(s(s(0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(0))))) ACK_IN(s(s(s(s(y0)))), s(0)) -> c2(ACK_IN(s(s(s(s(y0)))), 0)) ACK_IN(s(s(s(0))), s(0)) -> c2(ACK_IN(s(s(s(0))), 0)) ACK_IN(s(s(s(z0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(z0)), 0), s(z0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(0)), 0), s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(0), 0), 0)), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(z0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(z0), 0), z0)), s(z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(s(0)))) ACK_IN(s(s(s(s(z0)))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(s(z0))), 0), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(0)))) K tuples: U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(0), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), 0)) U21(ack_out(0), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), 0)) Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U21_2 Compound Symbols: c1_1, c2_2, c4_1, c2_1 ---------------------------------------- (131) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace ACK_IN(s(z0), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(z1))))) by ACK_IN(s(s(s(s(y1)))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(s(z1))))) ACK_IN(s(s(s(y1))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(s(z1))))) ACK_IN(s(s(y0)), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(y0)), z1), s(y0)), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(s(z1))))) ACK_IN(s(s(s(0))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(s(z1))))) ACK_IN(s(z0), s(s(s(s(s(y1)))))) -> c2(U21(u21(u21(u21(ack_in(s(z0), s(y1)), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(s(y1)))))) ACK_IN(s(s(s(s(s(y1))))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(s(y1))))), z1), s(s(s(s(y1))))), s(s(s(s(y1))))), s(s(s(s(y1))))), s(s(s(s(y1))))), ACK_IN(s(s(s(s(s(y1))))), s(s(s(z1))))) ACK_IN(s(s(s(s(0)))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(0)))), z1), s(s(s(0)))), s(s(s(0)))), s(s(s(0)))), s(s(s(0)))), ACK_IN(s(s(s(s(0)))), s(s(s(z1))))) ACK_IN(s(s(s(y0))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(y0))), 0), s(s(y0))), s(s(y0))), s(s(y0))), s(s(y0))), ACK_IN(s(s(s(y0))), s(s(s(0))))) ACK_IN(s(s(s(0))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(0))), 0), s(s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(s(0))))) ACK_IN(s(s(0)), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(0)), 0), s(0)), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(s(0))))) ACK_IN(s(s(y0)), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(y0)), 0), s(y0)), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(s(0))))) ACK_IN(s(s(s(s(y0)))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(y0)))), 0), s(s(s(y0)))), s(s(s(y0)))), s(s(s(y0)))), s(s(s(y0)))), ACK_IN(s(s(s(s(y0)))), s(s(s(0))))) ---------------------------------------- (132) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(0, s(0))), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) U21(ack_out(s(0)), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(s(0))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(0)))) U21(ack_out(s(s(s(z0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(z0))))) U21(ack_out(s(s(s(0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(0))))) U21(ack_out(s(s(s(s(y1))))), s(z1)) -> c4(ACK_IN(s(z1), s(s(s(s(y1)))))) U21(ack_out(s(s(s(0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(0))))) U21(ack_out(0), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), 0)) U21(ack_out(0), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), 0)) ACK_IN(s(s(s(s(y0)))), s(0)) -> c2(ACK_IN(s(s(s(s(y0)))), 0)) ACK_IN(s(s(s(0))), s(0)) -> c2(ACK_IN(s(s(s(0))), 0)) ACK_IN(s(s(s(z0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(z0)), 0), s(z0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(0)), 0), s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(0), 0), 0)), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(z0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(z0), 0), z0)), s(z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(s(0)))) ACK_IN(s(s(s(s(z0)))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(s(z0))), 0), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(0)))) ACK_IN(s(s(s(s(y1)))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(s(z1))))) ACK_IN(s(s(s(y1))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(s(z1))))) ACK_IN(s(s(y0)), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(y0)), z1), s(y0)), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(s(z1))))) ACK_IN(s(s(s(0))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(s(z1))))) ACK_IN(s(z0), s(s(s(s(s(y1)))))) -> c2(U21(u21(u21(u21(ack_in(s(z0), s(y1)), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(s(y1)))))) ACK_IN(s(s(s(s(s(y1))))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(s(y1))))), z1), s(s(s(s(y1))))), s(s(s(s(y1))))), s(s(s(s(y1))))), s(s(s(s(y1))))), ACK_IN(s(s(s(s(s(y1))))), s(s(s(z1))))) ACK_IN(s(s(s(s(0)))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(0)))), z1), s(s(s(0)))), s(s(s(0)))), s(s(s(0)))), s(s(s(0)))), ACK_IN(s(s(s(s(0)))), s(s(s(z1))))) ACK_IN(s(s(s(y0))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(y0))), 0), s(s(y0))), s(s(y0))), s(s(y0))), s(s(y0))), ACK_IN(s(s(s(y0))), s(s(s(0))))) ACK_IN(s(s(s(0))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(0))), 0), s(s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(s(0))))) ACK_IN(s(s(0)), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(0)), 0), s(0)), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(s(0))))) ACK_IN(s(s(y0)), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(y0)), 0), s(y0)), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(s(0))))) ACK_IN(s(s(s(s(y0)))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(y0)))), 0), s(s(s(y0)))), s(s(s(y0)))), s(s(s(y0)))), s(s(s(y0)))), ACK_IN(s(s(s(s(y0)))), s(s(s(0))))) S tuples: ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(0, s(0))), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) U21(ack_out(s(0)), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(s(0))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(0)))) U21(ack_out(s(s(s(z0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(z0))))) U21(ack_out(s(s(s(0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(0))))) U21(ack_out(s(s(s(s(y1))))), s(z1)) -> c4(ACK_IN(s(z1), s(s(s(s(y1)))))) U21(ack_out(s(s(s(0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(0))))) ACK_IN(s(s(s(s(y0)))), s(0)) -> c2(ACK_IN(s(s(s(s(y0)))), 0)) ACK_IN(s(s(s(0))), s(0)) -> c2(ACK_IN(s(s(s(0))), 0)) ACK_IN(s(s(s(z0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(z0)), 0), s(z0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(0)), 0), s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(0), 0), 0)), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(z0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(z0), 0), z0)), s(z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(s(0)))) ACK_IN(s(s(s(s(z0)))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(s(z0))), 0), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(0)))) ACK_IN(s(s(s(s(y1)))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(s(z1))))) ACK_IN(s(s(s(y1))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(s(z1))))) ACK_IN(s(s(y0)), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(y0)), z1), s(y0)), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(s(z1))))) ACK_IN(s(s(s(0))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(s(z1))))) ACK_IN(s(z0), s(s(s(s(s(y1)))))) -> c2(U21(u21(u21(u21(ack_in(s(z0), s(y1)), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(s(y1)))))) ACK_IN(s(s(s(s(s(y1))))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(s(y1))))), z1), s(s(s(s(y1))))), s(s(s(s(y1))))), s(s(s(s(y1))))), s(s(s(s(y1))))), ACK_IN(s(s(s(s(s(y1))))), s(s(s(z1))))) ACK_IN(s(s(s(s(0)))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(0)))), z1), s(s(s(0)))), s(s(s(0)))), s(s(s(0)))), s(s(s(0)))), ACK_IN(s(s(s(s(0)))), s(s(s(z1))))) ACK_IN(s(s(s(y0))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(y0))), 0), s(s(y0))), s(s(y0))), s(s(y0))), s(s(y0))), ACK_IN(s(s(s(y0))), s(s(s(0))))) ACK_IN(s(s(s(0))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(0))), 0), s(s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(s(0))))) ACK_IN(s(s(0)), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(0)), 0), s(0)), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(s(0))))) ACK_IN(s(s(y0)), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(y0)), 0), s(y0)), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(s(0))))) ACK_IN(s(s(s(s(y0)))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(y0)))), 0), s(s(s(y0)))), s(s(s(y0)))), s(s(s(y0)))), s(s(s(y0)))), ACK_IN(s(s(s(s(y0)))), s(s(s(0))))) K tuples: U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(0), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), 0)) U21(ack_out(0), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), 0)) Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U21_2 Compound Symbols: c1_1, c2_2, c4_1, c2_1 ---------------------------------------- (133) CdtRewritingProof (BOTH BOUNDS(ID, ID)) Used rewriting to replace ACK_IN(s(z0), s(s(s(s(s(y1)))))) -> c2(U21(u21(u21(u21(ack_in(s(z0), s(y1)), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(s(y1)))))) by ACK_IN(s(z0), s(s(s(s(s(z1)))))) -> c2(U21(u21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(s(z1)))))) ---------------------------------------- (134) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(0, s(0))), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) U21(ack_out(s(0)), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(s(0))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(0)))) U21(ack_out(s(s(s(z0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(z0))))) U21(ack_out(s(s(s(0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(0))))) U21(ack_out(s(s(s(s(y1))))), s(z1)) -> c4(ACK_IN(s(z1), s(s(s(s(y1)))))) U21(ack_out(s(s(s(0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(0))))) U21(ack_out(0), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), 0)) U21(ack_out(0), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), 0)) ACK_IN(s(s(s(s(y0)))), s(0)) -> c2(ACK_IN(s(s(s(s(y0)))), 0)) ACK_IN(s(s(s(0))), s(0)) -> c2(ACK_IN(s(s(s(0))), 0)) ACK_IN(s(s(s(z0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(z0)), 0), s(z0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(0)), 0), s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(0), 0), 0)), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(z0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(z0), 0), z0)), s(z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(s(0)))) ACK_IN(s(s(s(s(z0)))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(s(z0))), 0), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(0)))) ACK_IN(s(s(s(s(y1)))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(s(z1))))) ACK_IN(s(s(s(y1))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(s(z1))))) ACK_IN(s(s(y0)), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(y0)), z1), s(y0)), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(s(z1))))) ACK_IN(s(s(s(0))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(s(z1))))) ACK_IN(s(s(s(s(s(y1))))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(s(y1))))), z1), s(s(s(s(y1))))), s(s(s(s(y1))))), s(s(s(s(y1))))), s(s(s(s(y1))))), ACK_IN(s(s(s(s(s(y1))))), s(s(s(z1))))) ACK_IN(s(s(s(s(0)))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(0)))), z1), s(s(s(0)))), s(s(s(0)))), s(s(s(0)))), s(s(s(0)))), ACK_IN(s(s(s(s(0)))), s(s(s(z1))))) ACK_IN(s(s(s(y0))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(y0))), 0), s(s(y0))), s(s(y0))), s(s(y0))), s(s(y0))), ACK_IN(s(s(s(y0))), s(s(s(0))))) ACK_IN(s(s(s(0))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(0))), 0), s(s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(s(0))))) ACK_IN(s(s(0)), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(0)), 0), s(0)), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(s(0))))) ACK_IN(s(s(y0)), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(y0)), 0), s(y0)), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(s(0))))) ACK_IN(s(s(s(s(y0)))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(y0)))), 0), s(s(s(y0)))), s(s(s(y0)))), s(s(s(y0)))), s(s(s(y0)))), ACK_IN(s(s(s(s(y0)))), s(s(s(0))))) ACK_IN(s(z0), s(s(s(s(s(z1)))))) -> c2(U21(u21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(s(z1)))))) S tuples: ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(0, s(0))), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) U21(ack_out(s(0)), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(s(0))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(0)))) U21(ack_out(s(s(s(z0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(z0))))) U21(ack_out(s(s(s(0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(0))))) U21(ack_out(s(s(s(s(y1))))), s(z1)) -> c4(ACK_IN(s(z1), s(s(s(s(y1)))))) U21(ack_out(s(s(s(0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(0))))) ACK_IN(s(s(s(s(y0)))), s(0)) -> c2(ACK_IN(s(s(s(s(y0)))), 0)) ACK_IN(s(s(s(0))), s(0)) -> c2(ACK_IN(s(s(s(0))), 0)) ACK_IN(s(s(s(z0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(z0)), 0), s(z0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(0)), 0), s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(0), 0), 0)), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(z0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(z0), 0), z0)), s(z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(s(0)))) ACK_IN(s(s(s(s(z0)))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(s(z0))), 0), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(0)))) ACK_IN(s(s(s(s(y1)))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(s(z1))))) ACK_IN(s(s(s(y1))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(s(z1))))) ACK_IN(s(s(y0)), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(y0)), z1), s(y0)), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(s(z1))))) ACK_IN(s(s(s(0))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(s(z1))))) ACK_IN(s(s(s(s(s(y1))))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(s(y1))))), z1), s(s(s(s(y1))))), s(s(s(s(y1))))), s(s(s(s(y1))))), s(s(s(s(y1))))), ACK_IN(s(s(s(s(s(y1))))), s(s(s(z1))))) ACK_IN(s(s(s(s(0)))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(0)))), z1), s(s(s(0)))), s(s(s(0)))), s(s(s(0)))), s(s(s(0)))), ACK_IN(s(s(s(s(0)))), s(s(s(z1))))) ACK_IN(s(s(s(y0))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(y0))), 0), s(s(y0))), s(s(y0))), s(s(y0))), s(s(y0))), ACK_IN(s(s(s(y0))), s(s(s(0))))) ACK_IN(s(s(s(0))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(0))), 0), s(s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(s(0))))) ACK_IN(s(s(0)), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(0)), 0), s(0)), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(s(0))))) ACK_IN(s(s(y0)), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(y0)), 0), s(y0)), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(s(0))))) ACK_IN(s(s(s(s(y0)))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(y0)))), 0), s(s(s(y0)))), s(s(s(y0)))), s(s(s(y0)))), s(s(s(y0)))), ACK_IN(s(s(s(s(y0)))), s(s(s(0))))) ACK_IN(s(z0), s(s(s(s(s(z1)))))) -> c2(U21(u21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(s(z1)))))) K tuples: U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(0), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), 0)) U21(ack_out(0), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), 0)) Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U21_2 Compound Symbols: c1_1, c2_2, c4_1, c2_1 ---------------------------------------- (135) CdtRewritingProof (BOTH BOUNDS(ID, ID)) Used rewriting to replace ACK_IN(s(s(s(y0))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(y0))), 0), s(s(y0))), s(s(y0))), s(s(y0))), s(s(y0))), ACK_IN(s(s(s(y0))), s(s(s(0))))) by ACK_IN(s(s(s(z0))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(s(0))))) ---------------------------------------- (136) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(0, s(0))), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) U21(ack_out(s(0)), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(s(0))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(0)))) U21(ack_out(s(s(s(z0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(z0))))) U21(ack_out(s(s(s(0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(0))))) U21(ack_out(s(s(s(s(y1))))), s(z1)) -> c4(ACK_IN(s(z1), s(s(s(s(y1)))))) U21(ack_out(s(s(s(0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(0))))) U21(ack_out(0), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), 0)) U21(ack_out(0), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), 0)) ACK_IN(s(s(s(s(y0)))), s(0)) -> c2(ACK_IN(s(s(s(s(y0)))), 0)) ACK_IN(s(s(s(0))), s(0)) -> c2(ACK_IN(s(s(s(0))), 0)) ACK_IN(s(s(s(z0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(z0)), 0), s(z0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(0)), 0), s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(0), 0), 0)), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(z0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(z0), 0), z0)), s(z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(s(0)))) ACK_IN(s(s(s(s(z0)))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(s(z0))), 0), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(0)))) ACK_IN(s(s(s(s(y1)))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(s(z1))))) ACK_IN(s(s(s(y1))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(s(z1))))) ACK_IN(s(s(y0)), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(y0)), z1), s(y0)), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(s(z1))))) ACK_IN(s(s(s(0))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(s(z1))))) ACK_IN(s(s(s(s(s(y1))))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(s(y1))))), z1), s(s(s(s(y1))))), s(s(s(s(y1))))), s(s(s(s(y1))))), s(s(s(s(y1))))), ACK_IN(s(s(s(s(s(y1))))), s(s(s(z1))))) ACK_IN(s(s(s(s(0)))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(0)))), z1), s(s(s(0)))), s(s(s(0)))), s(s(s(0)))), s(s(s(0)))), ACK_IN(s(s(s(s(0)))), s(s(s(z1))))) ACK_IN(s(s(s(0))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(0))), 0), s(s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(s(0))))) ACK_IN(s(s(0)), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(0)), 0), s(0)), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(s(0))))) ACK_IN(s(s(y0)), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(y0)), 0), s(y0)), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(s(0))))) ACK_IN(s(s(s(s(y0)))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(y0)))), 0), s(s(s(y0)))), s(s(s(y0)))), s(s(s(y0)))), s(s(s(y0)))), ACK_IN(s(s(s(s(y0)))), s(s(s(0))))) ACK_IN(s(z0), s(s(s(s(s(z1)))))) -> c2(U21(u21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(s(z1)))))) ACK_IN(s(s(s(z0))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(s(0))))) S tuples: ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(0, s(0))), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) U21(ack_out(s(0)), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(s(0))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(0)))) U21(ack_out(s(s(s(z0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(z0))))) U21(ack_out(s(s(s(0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(0))))) U21(ack_out(s(s(s(s(y1))))), s(z1)) -> c4(ACK_IN(s(z1), s(s(s(s(y1)))))) U21(ack_out(s(s(s(0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(0))))) ACK_IN(s(s(s(s(y0)))), s(0)) -> c2(ACK_IN(s(s(s(s(y0)))), 0)) ACK_IN(s(s(s(0))), s(0)) -> c2(ACK_IN(s(s(s(0))), 0)) ACK_IN(s(s(s(z0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(z0)), 0), s(z0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(0)), 0), s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(0), 0), 0)), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(z0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(z0), 0), z0)), s(z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(s(0)))) ACK_IN(s(s(s(s(z0)))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(s(z0))), 0), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(0)))) ACK_IN(s(s(s(s(y1)))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(s(z1))))) ACK_IN(s(s(s(y1))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(s(z1))))) ACK_IN(s(s(y0)), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(y0)), z1), s(y0)), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(s(z1))))) ACK_IN(s(s(s(0))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(s(z1))))) ACK_IN(s(s(s(s(s(y1))))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(s(y1))))), z1), s(s(s(s(y1))))), s(s(s(s(y1))))), s(s(s(s(y1))))), s(s(s(s(y1))))), ACK_IN(s(s(s(s(s(y1))))), s(s(s(z1))))) ACK_IN(s(s(s(s(0)))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(0)))), z1), s(s(s(0)))), s(s(s(0)))), s(s(s(0)))), s(s(s(0)))), ACK_IN(s(s(s(s(0)))), s(s(s(z1))))) ACK_IN(s(s(s(0))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(0))), 0), s(s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(s(0))))) ACK_IN(s(s(0)), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(0)), 0), s(0)), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(s(0))))) ACK_IN(s(s(y0)), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(y0)), 0), s(y0)), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(s(0))))) ACK_IN(s(s(s(s(y0)))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(y0)))), 0), s(s(s(y0)))), s(s(s(y0)))), s(s(s(y0)))), s(s(s(y0)))), ACK_IN(s(s(s(s(y0)))), s(s(s(0))))) ACK_IN(s(z0), s(s(s(s(s(z1)))))) -> c2(U21(u21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(s(z1)))))) ACK_IN(s(s(s(z0))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(s(0))))) K tuples: U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(0), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), 0)) U21(ack_out(0), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), 0)) Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U21_2 Compound Symbols: c1_1, c2_2, c4_1, c2_1 ---------------------------------------- (137) CdtRewritingProof (BOTH BOUNDS(ID, ID)) Used rewriting to replace ACK_IN(s(s(s(0))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(0))), 0), s(s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(s(0))))) by ACK_IN(s(s(s(0))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(u11(ack_in(s(s(0)), s(0))), s(s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(s(0))))) ---------------------------------------- (138) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(0, s(0))), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) U21(ack_out(s(0)), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(s(0))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(0)))) U21(ack_out(s(s(s(z0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(z0))))) U21(ack_out(s(s(s(0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(0))))) U21(ack_out(s(s(s(s(y1))))), s(z1)) -> c4(ACK_IN(s(z1), s(s(s(s(y1)))))) U21(ack_out(s(s(s(0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(0))))) U21(ack_out(0), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), 0)) U21(ack_out(0), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), 0)) ACK_IN(s(s(s(s(y0)))), s(0)) -> c2(ACK_IN(s(s(s(s(y0)))), 0)) ACK_IN(s(s(s(0))), s(0)) -> c2(ACK_IN(s(s(s(0))), 0)) ACK_IN(s(s(s(z0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(z0)), 0), s(z0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(0)), 0), s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(0), 0), 0)), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(z0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(z0), 0), z0)), s(z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(s(0)))) ACK_IN(s(s(s(s(z0)))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(s(z0))), 0), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(0)))) ACK_IN(s(s(s(s(y1)))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(s(z1))))) ACK_IN(s(s(s(y1))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(s(z1))))) ACK_IN(s(s(y0)), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(y0)), z1), s(y0)), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(s(z1))))) ACK_IN(s(s(s(0))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(s(z1))))) ACK_IN(s(s(s(s(s(y1))))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(s(y1))))), z1), s(s(s(s(y1))))), s(s(s(s(y1))))), s(s(s(s(y1))))), s(s(s(s(y1))))), ACK_IN(s(s(s(s(s(y1))))), s(s(s(z1))))) ACK_IN(s(s(s(s(0)))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(0)))), z1), s(s(s(0)))), s(s(s(0)))), s(s(s(0)))), s(s(s(0)))), ACK_IN(s(s(s(s(0)))), s(s(s(z1))))) ACK_IN(s(s(0)), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(0)), 0), s(0)), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(s(0))))) ACK_IN(s(s(y0)), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(y0)), 0), s(y0)), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(s(0))))) ACK_IN(s(s(s(s(y0)))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(y0)))), 0), s(s(s(y0)))), s(s(s(y0)))), s(s(s(y0)))), s(s(s(y0)))), ACK_IN(s(s(s(s(y0)))), s(s(s(0))))) ACK_IN(s(z0), s(s(s(s(s(z1)))))) -> c2(U21(u21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(s(z1)))))) ACK_IN(s(s(s(z0))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(s(0))))) ACK_IN(s(s(s(0))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(u11(ack_in(s(s(0)), s(0))), s(s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(s(0))))) S tuples: ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(0, s(0))), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) U21(ack_out(s(0)), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(s(0))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(0)))) U21(ack_out(s(s(s(z0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(z0))))) U21(ack_out(s(s(s(0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(0))))) U21(ack_out(s(s(s(s(y1))))), s(z1)) -> c4(ACK_IN(s(z1), s(s(s(s(y1)))))) U21(ack_out(s(s(s(0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(0))))) ACK_IN(s(s(s(s(y0)))), s(0)) -> c2(ACK_IN(s(s(s(s(y0)))), 0)) ACK_IN(s(s(s(0))), s(0)) -> c2(ACK_IN(s(s(s(0))), 0)) ACK_IN(s(s(s(z0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(z0)), 0), s(z0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(0)), 0), s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(0), 0), 0)), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(z0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(z0), 0), z0)), s(z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(s(0)))) ACK_IN(s(s(s(s(z0)))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(s(z0))), 0), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(0)))) ACK_IN(s(s(s(s(y1)))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(s(z1))))) ACK_IN(s(s(s(y1))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(s(z1))))) ACK_IN(s(s(y0)), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(y0)), z1), s(y0)), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(s(z1))))) ACK_IN(s(s(s(0))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(s(z1))))) ACK_IN(s(s(s(s(s(y1))))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(s(y1))))), z1), s(s(s(s(y1))))), s(s(s(s(y1))))), s(s(s(s(y1))))), s(s(s(s(y1))))), ACK_IN(s(s(s(s(s(y1))))), s(s(s(z1))))) ACK_IN(s(s(s(s(0)))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(0)))), z1), s(s(s(0)))), s(s(s(0)))), s(s(s(0)))), s(s(s(0)))), ACK_IN(s(s(s(s(0)))), s(s(s(z1))))) ACK_IN(s(s(0)), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(0)), 0), s(0)), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(s(0))))) ACK_IN(s(s(y0)), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(y0)), 0), s(y0)), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(s(0))))) ACK_IN(s(s(s(s(y0)))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(y0)))), 0), s(s(s(y0)))), s(s(s(y0)))), s(s(s(y0)))), s(s(s(y0)))), ACK_IN(s(s(s(s(y0)))), s(s(s(0))))) ACK_IN(s(z0), s(s(s(s(s(z1)))))) -> c2(U21(u21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(s(z1)))))) ACK_IN(s(s(s(z0))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(s(0))))) ACK_IN(s(s(s(0))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(u11(ack_in(s(s(0)), s(0))), s(s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(s(0))))) K tuples: U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(0), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), 0)) U21(ack_out(0), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), 0)) Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U21_2 Compound Symbols: c1_1, c2_2, c4_1, c2_1 ---------------------------------------- (139) CdtRewritingProof (BOTH BOUNDS(ID, ID)) Used rewriting to replace ACK_IN(s(s(0)), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(0)), 0), s(0)), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(s(0))))) by ACK_IN(s(s(0)), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(u11(ack_in(s(0), s(0))), s(0)), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(s(0))))) ---------------------------------------- (140) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(0, s(0))), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) U21(ack_out(s(0)), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(s(0))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(0)))) U21(ack_out(s(s(s(z0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(z0))))) U21(ack_out(s(s(s(0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(0))))) U21(ack_out(s(s(s(s(y1))))), s(z1)) -> c4(ACK_IN(s(z1), s(s(s(s(y1)))))) U21(ack_out(s(s(s(0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(0))))) U21(ack_out(0), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), 0)) U21(ack_out(0), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), 0)) ACK_IN(s(s(s(s(y0)))), s(0)) -> c2(ACK_IN(s(s(s(s(y0)))), 0)) ACK_IN(s(s(s(0))), s(0)) -> c2(ACK_IN(s(s(s(0))), 0)) ACK_IN(s(s(s(z0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(z0)), 0), s(z0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(0)), 0), s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(0), 0), 0)), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(z0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(z0), 0), z0)), s(z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(s(0)))) ACK_IN(s(s(s(s(z0)))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(s(z0))), 0), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(0)))) ACK_IN(s(s(s(s(y1)))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(s(z1))))) ACK_IN(s(s(s(y1))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(s(z1))))) ACK_IN(s(s(y0)), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(y0)), z1), s(y0)), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(s(z1))))) ACK_IN(s(s(s(0))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(s(z1))))) ACK_IN(s(s(s(s(s(y1))))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(s(y1))))), z1), s(s(s(s(y1))))), s(s(s(s(y1))))), s(s(s(s(y1))))), s(s(s(s(y1))))), ACK_IN(s(s(s(s(s(y1))))), s(s(s(z1))))) ACK_IN(s(s(s(s(0)))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(0)))), z1), s(s(s(0)))), s(s(s(0)))), s(s(s(0)))), s(s(s(0)))), ACK_IN(s(s(s(s(0)))), s(s(s(z1))))) ACK_IN(s(s(y0)), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(y0)), 0), s(y0)), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(s(0))))) ACK_IN(s(s(s(s(y0)))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(y0)))), 0), s(s(s(y0)))), s(s(s(y0)))), s(s(s(y0)))), s(s(s(y0)))), ACK_IN(s(s(s(s(y0)))), s(s(s(0))))) ACK_IN(s(z0), s(s(s(s(s(z1)))))) -> c2(U21(u21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(s(z1)))))) ACK_IN(s(s(s(z0))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(s(0))))) ACK_IN(s(s(s(0))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(u11(ack_in(s(s(0)), s(0))), s(s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(s(0))))) ACK_IN(s(s(0)), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(u11(ack_in(s(0), s(0))), s(0)), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(s(0))))) S tuples: ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(0, s(0))), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) U21(ack_out(s(0)), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(s(0))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(0)))) U21(ack_out(s(s(s(z0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(z0))))) U21(ack_out(s(s(s(0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(0))))) U21(ack_out(s(s(s(s(y1))))), s(z1)) -> c4(ACK_IN(s(z1), s(s(s(s(y1)))))) U21(ack_out(s(s(s(0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(0))))) ACK_IN(s(s(s(s(y0)))), s(0)) -> c2(ACK_IN(s(s(s(s(y0)))), 0)) ACK_IN(s(s(s(0))), s(0)) -> c2(ACK_IN(s(s(s(0))), 0)) ACK_IN(s(s(s(z0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(z0)), 0), s(z0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(0)), 0), s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(0), 0), 0)), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(z0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(z0), 0), z0)), s(z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(s(0)))) ACK_IN(s(s(s(s(z0)))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(s(z0))), 0), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(0)))) ACK_IN(s(s(s(s(y1)))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(s(z1))))) ACK_IN(s(s(s(y1))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(s(z1))))) ACK_IN(s(s(y0)), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(y0)), z1), s(y0)), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(s(z1))))) ACK_IN(s(s(s(0))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(s(z1))))) ACK_IN(s(s(s(s(s(y1))))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(s(y1))))), z1), s(s(s(s(y1))))), s(s(s(s(y1))))), s(s(s(s(y1))))), s(s(s(s(y1))))), ACK_IN(s(s(s(s(s(y1))))), s(s(s(z1))))) ACK_IN(s(s(s(s(0)))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(0)))), z1), s(s(s(0)))), s(s(s(0)))), s(s(s(0)))), s(s(s(0)))), ACK_IN(s(s(s(s(0)))), s(s(s(z1))))) ACK_IN(s(s(y0)), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(y0)), 0), s(y0)), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(s(0))))) ACK_IN(s(s(s(s(y0)))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(y0)))), 0), s(s(s(y0)))), s(s(s(y0)))), s(s(s(y0)))), s(s(s(y0)))), ACK_IN(s(s(s(s(y0)))), s(s(s(0))))) ACK_IN(s(z0), s(s(s(s(s(z1)))))) -> c2(U21(u21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(s(z1)))))) ACK_IN(s(s(s(z0))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(s(0))))) ACK_IN(s(s(s(0))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(u11(ack_in(s(s(0)), s(0))), s(s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(s(0))))) ACK_IN(s(s(0)), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(u11(ack_in(s(0), s(0))), s(0)), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(s(0))))) K tuples: U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(0), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), 0)) U21(ack_out(0), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), 0)) Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U21_2 Compound Symbols: c1_1, c2_2, c4_1, c2_1 ---------------------------------------- (141) CdtRewritingProof (BOTH BOUNDS(ID, ID)) Used rewriting to replace ACK_IN(s(s(y0)), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(y0)), 0), s(y0)), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(s(0))))) by ACK_IN(s(s(z0)), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(u11(ack_in(s(z0), s(0))), s(z0)), s(z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(s(s(0))))) ---------------------------------------- (142) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(0, s(0))), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) U21(ack_out(s(0)), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(s(0))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(0)))) U21(ack_out(s(s(s(z0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(z0))))) U21(ack_out(s(s(s(0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(0))))) U21(ack_out(s(s(s(s(y1))))), s(z1)) -> c4(ACK_IN(s(z1), s(s(s(s(y1)))))) U21(ack_out(s(s(s(0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(0))))) U21(ack_out(0), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), 0)) U21(ack_out(0), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), 0)) ACK_IN(s(s(s(s(y0)))), s(0)) -> c2(ACK_IN(s(s(s(s(y0)))), 0)) ACK_IN(s(s(s(0))), s(0)) -> c2(ACK_IN(s(s(s(0))), 0)) ACK_IN(s(s(s(z0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(z0)), 0), s(z0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(0)), 0), s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(0), 0), 0)), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(z0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(z0), 0), z0)), s(z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(s(0)))) ACK_IN(s(s(s(s(z0)))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(s(z0))), 0), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(0)))) ACK_IN(s(s(s(s(y1)))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(s(z1))))) ACK_IN(s(s(s(y1))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(s(z1))))) ACK_IN(s(s(y0)), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(y0)), z1), s(y0)), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(s(z1))))) ACK_IN(s(s(s(0))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(s(z1))))) ACK_IN(s(s(s(s(s(y1))))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(s(y1))))), z1), s(s(s(s(y1))))), s(s(s(s(y1))))), s(s(s(s(y1))))), s(s(s(s(y1))))), ACK_IN(s(s(s(s(s(y1))))), s(s(s(z1))))) ACK_IN(s(s(s(s(0)))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(0)))), z1), s(s(s(0)))), s(s(s(0)))), s(s(s(0)))), s(s(s(0)))), ACK_IN(s(s(s(s(0)))), s(s(s(z1))))) ACK_IN(s(s(s(s(y0)))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(y0)))), 0), s(s(s(y0)))), s(s(s(y0)))), s(s(s(y0)))), s(s(s(y0)))), ACK_IN(s(s(s(s(y0)))), s(s(s(0))))) ACK_IN(s(z0), s(s(s(s(s(z1)))))) -> c2(U21(u21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(s(z1)))))) ACK_IN(s(s(s(z0))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(s(0))))) ACK_IN(s(s(s(0))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(u11(ack_in(s(s(0)), s(0))), s(s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(s(0))))) ACK_IN(s(s(0)), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(u11(ack_in(s(0), s(0))), s(0)), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(s(0))))) ACK_IN(s(s(z0)), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(u11(ack_in(s(z0), s(0))), s(z0)), s(z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(s(s(0))))) S tuples: ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(0, s(0))), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) U21(ack_out(s(0)), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(s(0))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(0)))) U21(ack_out(s(s(s(z0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(z0))))) U21(ack_out(s(s(s(0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(0))))) U21(ack_out(s(s(s(s(y1))))), s(z1)) -> c4(ACK_IN(s(z1), s(s(s(s(y1)))))) U21(ack_out(s(s(s(0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(0))))) ACK_IN(s(s(s(s(y0)))), s(0)) -> c2(ACK_IN(s(s(s(s(y0)))), 0)) ACK_IN(s(s(s(0))), s(0)) -> c2(ACK_IN(s(s(s(0))), 0)) ACK_IN(s(s(s(z0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(z0)), 0), s(z0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(0)), 0), s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(0), 0), 0)), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(z0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(z0), 0), z0)), s(z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(s(0)))) ACK_IN(s(s(s(s(z0)))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(s(z0))), 0), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(0)))) ACK_IN(s(s(s(s(y1)))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(s(z1))))) ACK_IN(s(s(s(y1))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(s(z1))))) ACK_IN(s(s(y0)), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(y0)), z1), s(y0)), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(s(z1))))) ACK_IN(s(s(s(0))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(s(z1))))) ACK_IN(s(s(s(s(s(y1))))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(s(y1))))), z1), s(s(s(s(y1))))), s(s(s(s(y1))))), s(s(s(s(y1))))), s(s(s(s(y1))))), ACK_IN(s(s(s(s(s(y1))))), s(s(s(z1))))) ACK_IN(s(s(s(s(0)))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(0)))), z1), s(s(s(0)))), s(s(s(0)))), s(s(s(0)))), s(s(s(0)))), ACK_IN(s(s(s(s(0)))), s(s(s(z1))))) ACK_IN(s(s(s(s(y0)))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(y0)))), 0), s(s(s(y0)))), s(s(s(y0)))), s(s(s(y0)))), s(s(s(y0)))), ACK_IN(s(s(s(s(y0)))), s(s(s(0))))) ACK_IN(s(z0), s(s(s(s(s(z1)))))) -> c2(U21(u21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(s(z1)))))) ACK_IN(s(s(s(z0))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(s(0))))) ACK_IN(s(s(s(0))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(u11(ack_in(s(s(0)), s(0))), s(s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(s(0))))) ACK_IN(s(s(0)), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(u11(ack_in(s(0), s(0))), s(0)), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(s(0))))) ACK_IN(s(s(z0)), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(u11(ack_in(s(z0), s(0))), s(z0)), s(z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(s(s(0))))) K tuples: U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(0), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), 0)) U21(ack_out(0), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), 0)) Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U21_2 Compound Symbols: c1_1, c2_2, c4_1, c2_1 ---------------------------------------- (143) CdtRewritingProof (BOTH BOUNDS(ID, ID)) Used rewriting to replace ACK_IN(s(s(s(s(y0)))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(y0)))), 0), s(s(s(y0)))), s(s(s(y0)))), s(s(s(y0)))), s(s(s(y0)))), ACK_IN(s(s(s(s(y0)))), s(s(s(0))))) by ACK_IN(s(s(s(s(z0)))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(u11(ack_in(s(s(s(z0))), s(0))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(s(0))))) ---------------------------------------- (144) Obligation: Complexity Dependency Tuples Problem Rules: ack_in(0, z0) -> ack_out(s(z0)) ack_in(s(z0), 0) -> u11(ack_in(z0, s(0))) ack_in(s(z0), s(z1)) -> u21(ack_in(s(z0), z1), z0) u11(ack_out(z0)) -> ack_out(z0) u21(ack_out(z0), z1) -> u22(ack_in(z1, z0)) u22(ack_out(z0)) -> ack_out(z0) Tuples: ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(0, s(0))), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) U21(ack_out(s(0)), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(s(0))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(0)))) U21(ack_out(s(s(s(z0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(z0))))) U21(ack_out(s(s(s(0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(0))))) U21(ack_out(s(s(s(s(y1))))), s(z1)) -> c4(ACK_IN(s(z1), s(s(s(s(y1)))))) U21(ack_out(s(s(s(0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(0))))) U21(ack_out(0), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), 0)) U21(ack_out(0), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), 0)) ACK_IN(s(s(s(s(y0)))), s(0)) -> c2(ACK_IN(s(s(s(s(y0)))), 0)) ACK_IN(s(s(s(0))), s(0)) -> c2(ACK_IN(s(s(s(0))), 0)) ACK_IN(s(s(s(z0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(z0)), 0), s(z0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(0)), 0), s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(0), 0), 0)), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(z0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(z0), 0), z0)), s(z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(s(0)))) ACK_IN(s(s(s(s(z0)))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(s(z0))), 0), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(0)))) ACK_IN(s(s(s(s(y1)))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(s(z1))))) ACK_IN(s(s(s(y1))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(s(z1))))) ACK_IN(s(s(y0)), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(y0)), z1), s(y0)), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(s(z1))))) ACK_IN(s(s(s(0))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(s(z1))))) ACK_IN(s(s(s(s(s(y1))))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(s(y1))))), z1), s(s(s(s(y1))))), s(s(s(s(y1))))), s(s(s(s(y1))))), s(s(s(s(y1))))), ACK_IN(s(s(s(s(s(y1))))), s(s(s(z1))))) ACK_IN(s(s(s(s(0)))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(0)))), z1), s(s(s(0)))), s(s(s(0)))), s(s(s(0)))), s(s(s(0)))), ACK_IN(s(s(s(s(0)))), s(s(s(z1))))) ACK_IN(s(z0), s(s(s(s(s(z1)))))) -> c2(U21(u21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(s(z1)))))) ACK_IN(s(s(s(z0))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(s(0))))) ACK_IN(s(s(s(0))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(u11(ack_in(s(s(0)), s(0))), s(s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(s(0))))) ACK_IN(s(s(0)), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(u11(ack_in(s(0), s(0))), s(0)), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(s(0))))) ACK_IN(s(s(z0)), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(u11(ack_in(s(z0), s(0))), s(z0)), s(z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(s(s(0))))) ACK_IN(s(s(s(s(z0)))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(u11(ack_in(s(s(s(z0))), s(0))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(s(0))))) S tuples: ACK_IN(s(s(s(y0))), 0) -> c1(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(z0)), s(0)) -> c2(U21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), ACK_IN(s(s(z0)), 0)) U21(ack_out(s(0)), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(0))) ACK_IN(s(s(s(y0))), s(0)) -> c2(ACK_IN(s(s(s(y0))), 0)) ACK_IN(s(s(z0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(z0, s(0))), z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(0))) ACK_IN(s(s(s(s(z0)))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(0))) ACK_IN(s(s(y1)), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(y1)), z1), s(y1)), s(y1)), s(y1)), ACK_IN(s(s(y1)), s(s(z1)))) ACK_IN(s(s(s(s(y1)))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(z1)))) ACK_IN(s(s(s(y1))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(z1)))) ACK_IN(s(s(s(0))), s(s(s(z1)))) -> c2(U21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(z1)))) ACK_IN(s(s(s(z0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(z0), s(0))), s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(0))) ACK_IN(s(s(s(s(y0)))), 0) -> c1(ACK_IN(s(s(s(y0))), s(0))) ACK_IN(s(s(s(0))), 0) -> c1(ACK_IN(s(s(0)), s(0))) ACK_IN(s(s(s(0))), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(s(0), s(0))), s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(0))) ACK_IN(s(s(0)), s(s(0))) -> c2(U21(u21(u11(u21(u11(ack_in(0, s(0))), 0)), s(0)), s(0)), ACK_IN(s(s(0)), s(0))) U21(ack_out(s(0)), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(0))) U21(ack_out(s(s(0))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(0)))) U21(ack_out(s(s(0))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(0)))) U21(ack_out(s(s(s(z0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(z0))))) U21(ack_out(s(s(s(z0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(z0))))) U21(ack_out(s(s(s(0)))), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(0))) -> c4(ACK_IN(s(s(0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(y0))) -> c4(ACK_IN(s(s(y0)), s(s(s(0))))) U21(ack_out(s(s(s(0)))), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), s(s(s(0))))) U21(ack_out(s(s(s(s(y1))))), s(z1)) -> c4(ACK_IN(s(z1), s(s(s(s(y1)))))) U21(ack_out(s(s(s(0)))), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), s(s(s(0))))) ACK_IN(s(s(s(s(y0)))), s(0)) -> c2(ACK_IN(s(s(s(s(y0)))), 0)) ACK_IN(s(s(s(0))), s(0)) -> c2(ACK_IN(s(s(s(0))), 0)) ACK_IN(s(s(s(z0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(z0)), 0), s(z0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(0)))) ACK_IN(s(s(s(0))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(0)), 0), s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(0)))) ACK_IN(s(s(0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(0), 0), 0)), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(0)))) ACK_IN(s(s(z0)), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(z0), 0), z0)), s(z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(s(0)))) ACK_IN(s(s(s(s(z0)))), s(s(s(0)))) -> c2(U21(u21(u21(u11(u21(ack_in(s(s(s(z0))), 0), s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(0)))) ACK_IN(s(s(s(s(y1)))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(y1)))), z1), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), s(s(s(y1)))), ACK_IN(s(s(s(s(y1)))), s(s(s(z1))))) ACK_IN(s(s(s(y1))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(y1))), z1), s(s(y1))), s(s(y1))), s(s(y1))), s(s(y1))), ACK_IN(s(s(s(y1))), s(s(s(z1))))) ACK_IN(s(s(y0)), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(y0)), z1), s(y0)), s(y0)), s(y0)), s(y0)), ACK_IN(s(s(y0)), s(s(s(z1))))) ACK_IN(s(s(s(0))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(0))), z1), s(s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(s(z1))))) ACK_IN(s(s(s(s(s(y1))))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(s(y1))))), z1), s(s(s(s(y1))))), s(s(s(s(y1))))), s(s(s(s(y1))))), s(s(s(s(y1))))), ACK_IN(s(s(s(s(s(y1))))), s(s(s(z1))))) ACK_IN(s(s(s(s(0)))), s(s(s(s(z1))))) -> c2(U21(u21(u21(u21(ack_in(s(s(s(s(0)))), z1), s(s(s(0)))), s(s(s(0)))), s(s(s(0)))), s(s(s(0)))), ACK_IN(s(s(s(s(0)))), s(s(s(z1))))) ACK_IN(s(z0), s(s(s(s(s(z1)))))) -> c2(U21(u21(u21(u21(u21(ack_in(s(z0), z1), z0), z0), z0), z0), z0), ACK_IN(s(z0), s(s(s(s(z1)))))) ACK_IN(s(s(s(z0))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(u11(ack_in(s(s(z0)), s(0))), s(s(z0))), s(s(z0))), s(s(z0))), s(s(z0))), ACK_IN(s(s(s(z0))), s(s(s(0))))) ACK_IN(s(s(s(0))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(u11(ack_in(s(s(0)), s(0))), s(s(0))), s(s(0))), s(s(0))), s(s(0))), ACK_IN(s(s(s(0))), s(s(s(0))))) ACK_IN(s(s(0)), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(u11(ack_in(s(0), s(0))), s(0)), s(0)), s(0)), s(0)), ACK_IN(s(s(0)), s(s(s(0))))) ACK_IN(s(s(z0)), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(u11(ack_in(s(z0), s(0))), s(z0)), s(z0)), s(z0)), s(z0)), ACK_IN(s(s(z0)), s(s(s(0))))) ACK_IN(s(s(s(s(z0)))), s(s(s(s(0))))) -> c2(U21(u21(u21(u21(u11(ack_in(s(s(s(z0))), s(0))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), s(s(s(z0)))), ACK_IN(s(s(s(s(z0)))), s(s(s(0))))) K tuples: U21(ack_out(0), s(s(s(y0)))) -> c4(ACK_IN(s(s(s(y0))), 0)) U21(ack_out(0), s(s(s(s(y0))))) -> c4(ACK_IN(s(s(s(s(y0)))), 0)) U21(ack_out(0), s(s(s(0)))) -> c4(ACK_IN(s(s(s(0))), 0)) Defined Rule Symbols: ack_in_2, u11_1, u21_2, u22_1 Defined Pair Symbols: ACK_IN_2, U21_2 Compound Symbols: c1_1, c2_2, c4_1, c2_1 ---------------------------------------- (145) RelTrsToWeightedTrsProof (UPPER BOUND(ID)) Transformed relative TRS to weighted TRS ---------------------------------------- (146) Obligation: The Runtime Complexity (innermost) of the given CpxWeightedTrs could be proven to be BOUNDS(1, INF). The TRS R consists of the following rules: ack_in(0, n) -> ack_out(s(n)) [1] ack_in(s(m), 0) -> u11(ack_in(m, s(0))) [1] u11(ack_out(n)) -> ack_out(n) [1] ack_in(s(m), s(n)) -> u21(ack_in(s(m), n), m) [1] u21(ack_out(n), m) -> u22(ack_in(m, n)) [1] u22(ack_out(n)) -> ack_out(n) [1] Rewrite Strategy: INNERMOST ---------------------------------------- (147) TypeInferenceProof (BOTH BOUNDS(ID, ID)) Infered types. ---------------------------------------- (148) Obligation: Runtime Complexity Weighted TRS with Types. The TRS R consists of the following rules: ack_in(0, n) -> ack_out(s(n)) [1] ack_in(s(m), 0) -> u11(ack_in(m, s(0))) [1] u11(ack_out(n)) -> ack_out(n) [1] ack_in(s(m), s(n)) -> u21(ack_in(s(m), n), m) [1] u21(ack_out(n), m) -> u22(ack_in(m, n)) [1] u22(ack_out(n)) -> ack_out(n) [1] The TRS has the following type information: ack_in :: 0:s -> 0:s -> ack_out 0 :: 0:s ack_out :: 0:s -> ack_out s :: 0:s -> 0:s u11 :: ack_out -> ack_out u21 :: ack_out -> 0:s -> ack_out u22 :: ack_out -> ack_out Rewrite Strategy: INNERMOST ---------------------------------------- (149) CompletionProof (UPPER BOUND(ID)) The transformation into a RNTS is sound, since: (a) The obligation is a constructor system where every type has a constant constructor, (b) The following defined symbols do not have to be completely defined, as they can never occur inside other defined symbols: none (c) The following functions are completely defined: ack_in_2 u11_1 u21_2 u22_1 Due to the following rules being added: u11(v0) -> const [0] u21(v0, v1) -> const [0] u22(v0) -> const [0] And the following fresh constants: const ---------------------------------------- (150) Obligation: Runtime Complexity Weighted TRS where critical functions are completely defined. The underlying TRS is: Runtime Complexity Weighted TRS with Types. The TRS R consists of the following rules: ack_in(0, n) -> ack_out(s(n)) [1] ack_in(s(m), 0) -> u11(ack_in(m, s(0))) [1] u11(ack_out(n)) -> ack_out(n) [1] ack_in(s(m), s(n)) -> u21(ack_in(s(m), n), m) [1] u21(ack_out(n), m) -> u22(ack_in(m, n)) [1] u22(ack_out(n)) -> ack_out(n) [1] u11(v0) -> const [0] u21(v0, v1) -> const [0] u22(v0) -> const [0] The TRS has the following type information: ack_in :: 0:s -> 0:s -> ack_out:const 0 :: 0:s ack_out :: 0:s -> ack_out:const s :: 0:s -> 0:s u11 :: ack_out:const -> ack_out:const u21 :: ack_out:const -> 0:s -> ack_out:const u22 :: ack_out:const -> ack_out:const const :: ack_out:const Rewrite Strategy: INNERMOST ---------------------------------------- (151) NarrowingProof (BOTH BOUNDS(ID, ID)) Narrowed the inner basic terms of all right-hand sides by a single narrowing step. ---------------------------------------- (152) Obligation: Runtime Complexity Weighted TRS where critical functions are completely defined. The underlying TRS is: Runtime Complexity Weighted TRS with Types. The TRS R consists of the following rules: ack_in(0, n) -> ack_out(s(n)) [1] ack_in(s(0), 0) -> u11(ack_out(s(s(0)))) [2] ack_in(s(s(m')), 0) -> u11(u21(ack_in(s(m'), 0), m')) [2] u11(ack_out(n)) -> ack_out(n) [1] ack_in(s(m), s(0)) -> u21(u11(ack_in(m, s(0))), m) [2] ack_in(s(m), s(s(n'))) -> u21(u21(ack_in(s(m), n'), m), m) [2] u21(ack_out(n), 0) -> u22(ack_out(s(n))) [2] u21(ack_out(0), s(m'')) -> u22(u11(ack_in(m'', s(0)))) [2] u21(ack_out(s(n'')), s(m1)) -> u22(u21(ack_in(s(m1), n''), m1)) [2] u22(ack_out(n)) -> ack_out(n) [1] u11(v0) -> const [0] u21(v0, v1) -> const [0] u22(v0) -> const [0] The TRS has the following type information: ack_in :: 0:s -> 0:s -> ack_out:const 0 :: 0:s ack_out :: 0:s -> ack_out:const s :: 0:s -> 0:s u11 :: ack_out:const -> ack_out:const u21 :: ack_out:const -> 0:s -> ack_out:const u22 :: ack_out:const -> ack_out:const const :: ack_out:const Rewrite Strategy: INNERMOST ---------------------------------------- (153) CpxTypedWeightedTrsToRntsProof (UPPER BOUND(ID)) Transformed the TRS into an over-approximating RNTS by (improved) Size Abstraction. The constant constructors are abstracted as follows: 0 => 0 const => 0 ---------------------------------------- (154) Obligation: Complexity RNTS consisting of the following rules: ack_in(z, z') -{ 2 }-> u21(u21(ack_in(1 + m, n'), m), m) :|: z' = 1 + (1 + n'), n' >= 0, z = 1 + m, m >= 0 ack_in(z, z') -{ 2 }-> u21(u11(ack_in(m, 1 + 0)), m) :|: z' = 1 + 0, z = 1 + m, m >= 0 ack_in(z, z') -{ 2 }-> u11(u21(ack_in(1 + m', 0), m')) :|: z = 1 + (1 + m'), m' >= 0, z' = 0 ack_in(z, z') -{ 2 }-> u11(1 + (1 + (1 + 0))) :|: z = 1 + 0, z' = 0 ack_in(z, z') -{ 1 }-> 1 + (1 + n) :|: n >= 0, z' = n, z = 0 u11(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 u11(z) -{ 1 }-> 1 + n :|: n >= 0, z = 1 + n u21(z, z') -{ 2 }-> u22(u21(ack_in(1 + m1, n''), m1)) :|: z' = 1 + m1, n'' >= 0, z = 1 + (1 + n''), m1 >= 0 u21(z, z') -{ 2 }-> u22(u11(ack_in(m'', 1 + 0))) :|: m'' >= 0, z = 1 + 0, z' = 1 + m'' u21(z, z') -{ 2 }-> u22(1 + (1 + n)) :|: n >= 0, z = 1 + n, z' = 0 u21(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 u22(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 u22(z) -{ 1 }-> 1 + n :|: n >= 0, z = 1 + n ---------------------------------------- (155) InliningProof (UPPER BOUND(ID)) Inlined the following terminating rules on right-hand sides where appropriate: u11(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 u11(z) -{ 1 }-> 1 + n :|: n >= 0, z = 1 + n u22(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 u22(z) -{ 1 }-> 1 + n :|: n >= 0, z = 1 + n ---------------------------------------- (156) Obligation: Complexity RNTS consisting of the following rules: ack_in(z, z') -{ 2 }-> u21(u21(ack_in(1 + m, n'), m), m) :|: z' = 1 + (1 + n'), n' >= 0, z = 1 + m, m >= 0 ack_in(z, z') -{ 2 }-> u21(u11(ack_in(m, 1 + 0)), m) :|: z' = 1 + 0, z = 1 + m, m >= 0 ack_in(z, z') -{ 2 }-> u11(u21(ack_in(1 + m', 0), m')) :|: z = 1 + (1 + m'), m' >= 0, z' = 0 ack_in(z, z') -{ 2 }-> 0 :|: z = 1 + 0, z' = 0, v0 >= 0, 1 + (1 + (1 + 0)) = v0 ack_in(z, z') -{ 3 }-> 1 + n :|: z = 1 + 0, z' = 0, n >= 0, 1 + (1 + (1 + 0)) = 1 + n ack_in(z, z') -{ 1 }-> 1 + (1 + n) :|: n >= 0, z' = n, z = 0 u11(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 u11(z) -{ 1 }-> 1 + n :|: n >= 0, z = 1 + n u21(z, z') -{ 2 }-> u22(u21(ack_in(1 + m1, n''), m1)) :|: z' = 1 + m1, n'' >= 0, z = 1 + (1 + n''), m1 >= 0 u21(z, z') -{ 2 }-> u22(u11(ack_in(m'', 1 + 0))) :|: m'' >= 0, z = 1 + 0, z' = 1 + m'' u21(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 u21(z, z') -{ 2 }-> 0 :|: n >= 0, z = 1 + n, z' = 0, v0 >= 0, 1 + (1 + n) = v0 u21(z, z') -{ 3 }-> 1 + n' :|: n >= 0, z = 1 + n, z' = 0, n' >= 0, 1 + (1 + n) = 1 + n' u22(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 u22(z) -{ 1 }-> 1 + n :|: n >= 0, z = 1 + n ---------------------------------------- (157) SimplificationProof (BOTH BOUNDS(ID, ID)) Simplified the RNTS by moving equalities from the constraints into the right-hand sides. ---------------------------------------- (158) Obligation: Complexity RNTS consisting of the following rules: ack_in(z, z') -{ 2 }-> u21(u21(ack_in(1 + (z - 1), z' - 2), z - 1), z - 1) :|: z' - 2 >= 0, z - 1 >= 0 ack_in(z, z') -{ 2 }-> u21(u11(ack_in(z - 1, 1 + 0)), z - 1) :|: z' = 1 + 0, z - 1 >= 0 ack_in(z, z') -{ 2 }-> u11(u21(ack_in(1 + (z - 2), 0), z - 2)) :|: z - 2 >= 0, z' = 0 ack_in(z, z') -{ 2 }-> 0 :|: z = 1 + 0, z' = 0, v0 >= 0, 1 + (1 + (1 + 0)) = v0 ack_in(z, z') -{ 3 }-> 1 + n :|: z = 1 + 0, z' = 0, n >= 0, 1 + (1 + (1 + 0)) = 1 + n ack_in(z, z') -{ 1 }-> 1 + (1 + z') :|: z' >= 0, z = 0 u11(z) -{ 0 }-> 0 :|: z >= 0 u11(z) -{ 1 }-> 1 + (z - 1) :|: z - 1 >= 0 u21(z, z') -{ 2 }-> u22(u21(ack_in(1 + (z' - 1), z - 2), z' - 1)) :|: z - 2 >= 0, z' - 1 >= 0 u21(z, z') -{ 2 }-> u22(u11(ack_in(z' - 1, 1 + 0))) :|: z' - 1 >= 0, z = 1 + 0 u21(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 u21(z, z') -{ 2 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 1 + (1 + (z - 1)) = v0 u21(z, z') -{ 3 }-> 1 + n' :|: z - 1 >= 0, z' = 0, n' >= 0, 1 + (1 + (z - 1)) = 1 + n' u22(z) -{ 0 }-> 0 :|: z >= 0 u22(z) -{ 1 }-> 1 + (z - 1) :|: z - 1 >= 0 ---------------------------------------- (159) CompletionProof (UPPER BOUND(ID)) The TRS is a completely defined constructor system, as every type has a constant constructor and the following rules were added: u11(v0) -> null_u11 [0] u21(v0, v1) -> null_u21 [0] u22(v0) -> null_u22 [0] And the following fresh constants: null_u11, null_u21, null_u22 ---------------------------------------- (160) Obligation: Runtime Complexity Weighted TRS where all functions are completely defined. The underlying TRS is: Runtime Complexity Weighted TRS with Types. The TRS R consists of the following rules: ack_in(0, n) -> ack_out(s(n)) [1] ack_in(s(m), 0) -> u11(ack_in(m, s(0))) [1] u11(ack_out(n)) -> ack_out(n) [1] ack_in(s(m), s(n)) -> u21(ack_in(s(m), n), m) [1] u21(ack_out(n), m) -> u22(ack_in(m, n)) [1] u22(ack_out(n)) -> ack_out(n) [1] u11(v0) -> null_u11 [0] u21(v0, v1) -> null_u21 [0] u22(v0) -> null_u22 [0] The TRS has the following type information: ack_in :: 0:s -> 0:s -> ack_out:null_u11:null_u21:null_u22 0 :: 0:s ack_out :: 0:s -> ack_out:null_u11:null_u21:null_u22 s :: 0:s -> 0:s u11 :: ack_out:null_u11:null_u21:null_u22 -> ack_out:null_u11:null_u21:null_u22 u21 :: ack_out:null_u11:null_u21:null_u22 -> 0:s -> ack_out:null_u11:null_u21:null_u22 u22 :: ack_out:null_u11:null_u21:null_u22 -> ack_out:null_u11:null_u21:null_u22 null_u11 :: ack_out:null_u11:null_u21:null_u22 null_u21 :: ack_out:null_u11:null_u21:null_u22 null_u22 :: ack_out:null_u11:null_u21:null_u22 Rewrite Strategy: INNERMOST ---------------------------------------- (161) CpxTypedWeightedTrsToRntsProof (UPPER BOUND(ID)) Transformed the TRS into an over-approximating RNTS by (improved) Size Abstraction. The constant constructors are abstracted as follows: 0 => 0 null_u11 => 0 null_u21 => 0 null_u22 => 0 ---------------------------------------- (162) Obligation: Complexity RNTS consisting of the following rules: ack_in(z, z') -{ 1 }-> u21(ack_in(1 + m, n), m) :|: n >= 0, z' = 1 + n, z = 1 + m, m >= 0 ack_in(z, z') -{ 1 }-> u11(ack_in(m, 1 + 0)) :|: z = 1 + m, z' = 0, m >= 0 ack_in(z, z') -{ 1 }-> 1 + (1 + n) :|: n >= 0, z' = n, z = 0 u11(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 u11(z) -{ 1 }-> 1 + n :|: n >= 0, z = 1 + n u21(z, z') -{ 1 }-> u22(ack_in(m, n)) :|: n >= 0, z' = m, z = 1 + n, m >= 0 u21(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 u22(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 u22(z) -{ 1 }-> 1 + n :|: n >= 0, z = 1 + n Only complete derivations are relevant for the runtime complexity.